【发布时间】:2015-04-07 04:58:47
【问题描述】:
我在背景图像上做了一个分隔线,其中有一条线,中间有一个指针,表示看它下面。这只是一条线,所以分隔线不是实心的。当我制作分隔线时,父级的边框穿过三角形,因为背景是透明的。
看看我要解释的内容:
我希望三角形将那条线隐藏在中间。这就是我创建分隔线的方式:
<div class="splash">
<div class="splash-divider">
</div>
</div>
.splash {
background: url("https://unsplash.imgix.net/photo-1416339442236-8ceb164046f8?q=75&fm=jpg&s=8eb83df8a744544977722717b1ea4d09");
height: 200px;
}
.splash-divider {
position: relative;
margin: 20px auto 0 auto;
width: 50%;
height: 30px;
border-bottom: 1px solid #ffffff;
box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.15);
}
.splash-divider:after {
content: "";
position: absolute;
top: 15px;
left: 50%;
width: 30px;
height: 30px;
border-left: 1px solid #ffffff;
border-bottom: 1px solid #ffffff;
box-shadow: -2px 2px 0 rgba(0, 0, 0, 0.15);
transform: rotate(-45deg) translate(-50%, -50%);
-webkit-transform: rotate(-45deg) translate(-50%, -50%);
-ms-transform: rotate(-45deg) translate(-50%, -50%);
-moz-transform: rotate(-45deg) translate(-50%, -50%);
-o-transform: rotate(-45deg) translate(-50%, -50%);
}
如您所见,父级包含背景图像。如果它只是一种颜色,那就太简单了。
这是fiddle。
编辑
解决了!这是工作小提琴:http://jsfiddle.net/a9fkh0tp/1/
【问题讨论】:
-
您将无法掩盖白边线(至少不能让它看起来不错),因为您使用的是背景图像并掩盖了线条以使其看起来像背景几乎是不可能的。你需要完全重组你正在做的事情,或者只是按照@sev 的建议去做。
-
@Harry 不,这不一样
标签: html css css-shapes