梯形:
由此可见,css绘制的梯形并不是一个容器,只是容器的一条边。css把容器的其余三条边设置为透明的,只显示需要的一条边,就是一个梯形了。
直角梯形
三角形
盒子模型分为两种,一种是border-box,一种是center-box。低版本的ie中是border-box,在新的浏览器中,我们可以把容器的宽高设计为0或者特地设置box-sizing: border-box。
来看看border-box的效果:
由此可见,当设置为border-box时,border的大小包含在容器大小之内,我们可以通过显示某条边来制作三角形
border-box画直角三角形
center-box:
与border-box一样,可以根据控制border的width和方向来画出自己想要的三角形
.div{height: 80px
width: 250px
background-color: #FFC800
margin: 50px
border-radius: 15px
transform: perspective(20px) rotateX(-1deg) rotateY(-2deg) translateZ(0)
}
border-radius:12px
圆角 为零则为直角
梯形 [元素变形]
transform:
perspective [透视距离]
rotateX [横向.x轴旋转]
rotateY [竖向.Y轴旋转]
translateZ [Z轴移动,可以理解为放大和缩小]
了解这些基本的变形用法,就可以实现 【梯形】,
但复杂一些就没办法了,要用到SVG或Canvas,
看看下面这个代码是否符合要求:
<style>.pic {
width:320px
height:240px
-webkit-clip-path: polygon(10% 0, 0 100%, 100% 100%, 90% 0)
clip-path: polygon(10% 0, 0 100%, 100% 100%, 90% 0)
overflow:hidden
}
.pic img {
height:100%
}
</style>
<div class=pic><img src="图片url自己填"/></div>
不过IE中无法实现