<div class="hexagon"><span></span></div>
.hexagon {
width: 100px;
height: 55px;
position: relative;
}
.hexagon,
.hexagon:before,
.hexagon:after {
background: red;
box-shadow: 0 0 10px rgba(0,0,0,0.8);
}
.hexagon:before,
.hexagon:after {
content: "";
position: absolute;
left: 22px;
width: 57px;
height: 57px;
transform: rotate(145deg) skew(22.5deg);
}
.hexagon:before {
top: -29px;
}
.hexagon:after {
top: 27px;
}
.hexagon span {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 55px;
background: red;
z-index: 1;
}
查看 CodePen 上 Geoff Graham (@geoffgraham) 编写的 CSS 六边形。
不错!
干得好!但是你在你的 <div> 中忘记了 <span> :)
哎呀,糟糕。它本来是存在的,但我的代码标记工具将其删除了,无论如何,您现在可以在上面的代码中看到它了。
我有一个梦想
非常感谢!
每次我尝试放大六边形时,都会出现奇怪的形状:s 能否进一步解释一下?谢谢
没有演示?
谢谢,六边形不再有边框了!
**如果:** 您想在透明六边形的中间框中使用一个小徽标……也就是说,它看起来像是位于六边形内部……
目前 css 显示了 img 文件的三个实例,我真正想看到的,是使面板不透明,并让徽标图像透过面板显示。
我为本教程做了一个 jsfiddle,所以您不必复制代码即可查看结果。 http://jsfiddle.net/vm97b/5/
如果您喜欢六边形 div 及其相关内容,请查看我的 jquery 插件。 https://github.com/tpmdud/dodecagondiv
– 我的插件也支持图片 :)
任何能解释它到底是如何工作的人,都能获得加分。
人们会复制这段代码,所以请正确使用伪元素,并在其前面加上两个冒号!
::before
和::after
是伪元素,而不是伪选择器,应该以这种方式编写!总的来说,我也喜欢双冒号,但这里有两个事实