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

[分享]css六边形加阴影

发布于 2024-11-11 15:39:58
0
14

CSS六边形加阴影

.hexagon {
    width: 100px;
    height: 55px;
    background: #ccc;
    position: relative;
}
.hexagon::before, .hexagon::after {
    content: ';
    position: absolute;
    top: -25px; left: 0;
    width: 0; height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
}
.hexagon::before {
    border-bottom: 25px solid #ccc;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
}
.hexagon::after {
    border-top: 25px solid #ccc;
    box-shadow: 0 -5px 5px rgba(0, 0, 0, 0.5);
} 

以上代码实现了一个六边形,并增加了阴影效果。具体解释如下:

首先,为了创建一个六边形,我们需要设置该元素的宽度和高度,如下所示:

.hexagon {
    width: 100px;
    height: 55px;
    background: #ccc;
    position: relative;
} 

这里的宽度和高度的设置应该与我们需要创建的六边形尺寸相匹配。我们还为该元素设置了相对位置。

接下来,我们使用伪元素:before和:after来创建六边形的两个侧面,如下所示:

.hexagon::before, .hexagon::after {
    content: ';
    position: absolute;
    top: -25px; left: 0;
    width: 0; height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
} 

伪元素的创建遵循标准的语法,我们在这里使用了两个伪元素来创建六边形的两侧。这里设置了这些元素的绝对位置(上方偏移25像素,左侧对齐),并使用border-left和border-right属性来创建三角形。注意,我们将这些属性的宽度设置为0,而是使用它们的颜色和边框宽度来创建三角形。

接下来,我们需要为六边形的两个侧面分别设置顶部和底部的颜色,如下所示:

.hexagon::before {
    border-bottom: 25px solid #ccc; 
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
}
.hexagon::after {
    border-top: 25px solid #ccc;
    box-shadow: 0 -5px 5px rgba(0, 0, 0, 0.5);
} 

这里,我们对第一个伪元素使用了border-bottom属性,将其颜色设置为与六边形背景色(#ccc)相同的灰色。对于第二个伪元素,我们使用了border-top属性来设置相同的颜色。在这两个伪元素上还设置了box-shadow属性来创建阴影效果,这可以将元素立即提升到一个更高的层次。

因此,通过使用合适的CSS属性和伪元素,我们可以轻松地创建六边形元素,并增加阴影效果。

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流