CSS中如何把图片六边形显示?// HTML代码 <div class= hexagon > <img src= image.jpg alt= 图片 &
CSS中如何把图片六边形显示?
// HTML代码 <div class="hexagon"> <img src="image.jpg" alt="图片"> </div> /* CSS代码 */ .hexagon { width: 173.21px; height: 200px; position: relative; overflow: hidden; } .hexagon:before { content: ""; display: block; width: 100%; height: 100%; background-image: url(image.jpg); background-size: cover; transform: rotate(30deg); } .hexagon:after { content: ""; display: block; width: 100%; height: 100%; background-image: url(image.jpg); background-size: cover; transform: rotate(-30deg); } img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 100%; height: 100%; transform: rotate(-30deg); }
代码解释:
首先,我们创建一个大小为173.21px * 200px的六边形div(六边形的高度为宽度的1.1547倍),并将其相对定位且溢出隐藏;
接着,通过:before伪元素和:after伪元素来创建六边形的上下两个三角形(利用旋转变换),并使用background-image属性将图片填充到三角形;
最后,将img元素绝对定位并居中,同时给定30度旋转(因为原来的三角形旋转了30度),将六边形呈现出来。
粉丝
0
关注
0
收藏
0