uI给的样式效果图是这样的
,我只能做出
那个白色的三角,没法把图片弄进去。要么只能四方形的图,能不能跟微信收发图片一样,那个角都被图片铺满呢?
不是要画三角形,是要做出微信展示图片的效果。!
求高手!求求求求
uI给的样式效果图是这样的
,我只能做出
那个白色的三角,没法把图片弄进去。要么只能四方形的图,能不能跟微信收发图片一样,那个角都被图片铺满呢?
不是要画三角形,是要做出微信展示图片的效果。!
求高手!求求求求
<!DOCTYPE html>
<html>
<head>
<title>CSS triangle</title>
</head>
<body>
<div class="triangle">
</div>
<style>
.triangle{
width: 0;
height: 0;
border-top: 50px solid transparent;
border-right: 100px solid red;
border-bottom: 50px solid transparent;
}
</style>
</body>
</html>
这是一个方向的三角示范 其他方向的 只要改变border值就可以调出相应的效果
呃,直接切出来不行么?
我的意思是如果你发图片的对话框都是一样大的话,那么可以把图片放在背景之上,然后在上边覆盖一个内容和背景相同的边框,只要边框和那个斜线背景的图案是对齐的,那按理说应该看起来是比较舒服的一个角吧……
另外你最好把整体的需求列出来吧,不然不知道你要的是啥也不好给意见
<style>
* {
margin: 0;
padding: 0;
}
.box{
width: 590px;
height: 600px;
margin: auto;
position: relative;
background: url("./ban-2.jpg") no-repeat;
background-position: -30px 0;
}
.ico{
width: 30px;
height: 30px;
position: absolute;
top: 50px;
left: -30px;
background: url("./ban-2.jpg") no-repeat;
background-position: 0 -50px;
overflow: hidden;
}
.ico-bg{
width: 100%;
height: 100%;
position: absolute;
top: -30px;
left:-9px;
transform: rotate(45deg) ;
border: 30px solid #fff;
}
</style>
</head>
<body>
<div class="box">
<div class="ico"><i class="ico-bg"></i></div>
</div>
</body>
朋友写的效果,觉的可以!
html:
<div class="element">
<div class="content"><img src="xx" /></div >
</div>
<svg width="0" height="0">
<defs>
<clipPath id="clip-shape" clipPathUnits="objectBoundingBox">
<polygon points="0 1, 0 0, 1 0, 0.8 1" />
</clipPath>
</defs>
</svg>
css:
.element{
position:relative;
overflow:hidden;
clip-path: polygon(5% 5%, 100% 0%, 100% 75%, 75% 75%, 75% 100%, 50% 75%, 0% 75%);
}
.element .content{
overflow: hidden;
color: #fff;
}
PS:如果气泡可变大小或者不是等宽,content大小JS取img宽高;如果气泡等宽,可以设置content宽,并.element .content img{display:block;width:100%;height:auto;}
参考文章:在这里
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答2k 阅读
提供一个兼容性不高的方法,效果还行,利用css3的clip-path属性和border-radius属性。
代码地址:看这里,其中图片右上端和右下的圆角和左上左下的圆角的半径不一样,是因为被剪切掉了,所以要加大半径来模拟效果。
分割线,不过有个思路,可以用js控制切割的路径,比如说向右边的圆角,那是四分之一弧,可以模拟100个或者更多个点,他们之间的连线就可以大概模拟出一个四分之一弧了。要计算大量的坐标,题主可以试试,我还在试
---------- 好了,更新----------------------------------------------
看效果:点这里
代码主要就是生成polygon函数的参数,polygon是多边形,其中我给那个小三角的位置固定了,没有整成参数。
左上和左下的圆角是用的border-radius生成的,右上角和右下角的是绘制路径剪切而成
@沉然静寂 题主再来瞅瞅
-------更新-------------------------------
写了篇文章,可以很方便的得出这种气泡图的效果,可以来瞅瞅文章
参考:css-tricks