【发布时间】:2014-03-09 13:51:15
【问题描述】:
这是 HTML 代码
<div class="row">
<div class="hex">
<div class="top"></div>
<div class="bottom"></div>
</div>
</div>
还有 CSS3
*{
margin: 0;
padding: 0;
border: none;
}
body{
padding: 100px;
}
.hex{
width: 180px;
height: 102px;
background: url('http://ob-a.com/img/2014/05/hd-nature-4398-wallpapers-1920x1080-4398.jpg') no-repeat;
background-size: 180%;
background-position: 0 50%;
position: relative;
zoom: 1;
}
.top, .bottom{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: inherit;
z-index: -1;
overflow: hidden;
}
.top{
-webkit-transform: rotate(60deg);
-moz-transform: rotate(60deg);
-ms-transform: rotate(60deg);
-o-transform: rotate(60deg);
transform: rotate(60deg);
}
.bottom{
-webkit-transform: rotate(-60deg);
-moz-transform: rotate(-60deg);
-ms-transform: rotate(-60deg);
-o-transform: rotate(-60deg);
transform: rotate(-60deg);
}
.top:before, .bottom:before{
width: 100%;
height: 100%;
content: '';
position: absolute;
background: inherit;
top: 0;
left: 0;
}
.top:before{
-webkit-transform: rotate(-60deg) translate(0, -50%);
-moz-transform: rotate(-60deg) translate(0, -50%);
-ms-transform: rotate(-60deg) translate(0, -50%);
-o-transform: rotate(-60deg) translate(0, -50%);
transform: rotate(-60deg) translate(0, -50%);
background-position: 0 0;
}
.bottom:before{
-webkit-transform: rotate(60deg) translate(0, 50%);
-moz-transform: rotate(60deg) translate(0, 50%);
-ms-transform: rotate(60deg) translate(0, 50%);
-o-transform: rotate(60deg) translate(0, 50%);
transform: rotate(60deg) translate(0, 50%);
background-position: 0 100%;
}
z-index 中的问题及其上下文。我已经将 z-index 设置为.bottom 和.top,设置为.bottom:before 和.top:before,并且不同......当我删除overflow:hidden; 时,“图片”会发生变化。但是当我设置 overflow: hidden; 时,我知道 z-index 上下文有效。我该怎么办?目的是用图像创建六边形。无法理解出了什么问题。请大家帮忙,谢谢大家。
【问题讨论】:
-
我认为第二个内部块的想法很有趣,我会努力的,thanx。