首页 话题 小组 问答 好文 用户 我的社区 域名交易

[分享]css中如何把图片六边形显示

发布于 2024-11-11 19:30:37
0
29

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度),将六边形呈现出来。

评论
91云脑
Lv.1普通用户

62845

帖子

12

小组

80

积分

站长交流