我认为,关于某种透明边框有几个问题,但不是我想要的。
它可能非常愚蠢但是:是否有可能以某种方式在背景上设置项目(那些白色方块)(黑色纹理),每个项目都有一个边界"删除" 10px(或其他)边框的背景? 所以你有一个连续的背景,每个项目都在它上面"切断"它的一部分。 一个真正的透明"边界(就像其他问题一样)显然会让你看到背景,所以这不是我的意思。
如果没有,那么实现这样的响应式设计的方法是什么?
对不起,我不知道其他任何解释方法。谢谢。
请参阅示例/小提琴:jsfiddle.net/14nn2pLy
html, body {
margin: 0;
padding: 0;
height: 100%;
background: #fd1dfa;
}
#main_header {
position: fixed;
top: 0px;
width: 100%;
height: 200px;
background: url() no-repeat center top;
background-size: contain;
}
#main_footer {
position: fixed;
bottom: 0px;
width: 100%;
height: 200px;
background: url(https://preview.ibb.co/hACMzS/background_footer.png) no-repeat center bottom;
background-size: contain;
}
#icons {
position: fixed;
bottom: 0px;
width: 900px;
height: 75px;
background: url(https://preview.ibb.co/mkPODn/footer_items.png) no-repeat center bottom;
border: 10px;
border-color: rgba( 0, 0, 0, 0);
}

<div id="main_header"></div>
<div id="main_footer">
<div id="icons"></div>
</div>
&#13;
答案 0 :(得分:3)
我能想到的唯一方法是使边框与背景颜色相同(在您的情况下,粉色阴影),但请注意,只有在背景颜色为实色时才可以使用。
示例:
.bg {
position: relative;
height: 250px;
width: 500px;
background-image: url(https://i.imgur.com/nRXO8xa.jpg);
}
.border {
height: 20px;
position: absolute;
top: 0;
bottom: 0;
left: 30px;
margin: auto;
padding: 10px;
background: steelblue;
border: 10px solid black;
}
.no-border {
height: 20px;
position: absolute;
top: 0;
bottom: 0;
right: 30px;
margin: auto;
padding: 10px;
background: steelblue;
border: 10px solid #F7F2D5;
}
&#13;
<div class="bg">
<div class="border">black border</div>
<div class="no-border">"transparent" border</div>
</div>
&#13;
在背景上使用clip-path
可以获得所需的效果。请注意,我也改变了HTML和CSS,否则它将无法正常工作。 clip-path
用于基本上剪切您不想要的背景图片部分,以便它变为透明,并且它已被激活在悬停。
body,
html {
height: 100%;
margin: 0;
}
body {
background: url(https://images.unsplash.com/photo-1473662712020-75289ee3c5de);
background-size: cover;
}
.container {
height: 140px;
width: 618px;
position: relative;
top: 40%;
margin: 0 auto;
}
.bg {
height: 140px;
width: 618px;
position: relative;
}
.icon {
height: 50px;
width: 50px;
position: absolute;
top: 25.25%;
left: 38.25%;
z-index: 1;
}
.icon:hover+.bg {
clip-path: polygon(0 0, 0 100%, 44% 78.5%, 37.5% 50%, 44% 22%, 50.5% 50%, 44% 78.5%, 0 100%, 100% 100%, 100% 0);
}
&#13;
<div class="container">
<div class="icon">
<img src="https://i.imgur.com/V2eI4Rm.png" alt="icon">
</div>
<div class="bg">
<img src="https://i.imgur.com/D3V3ZYq.png" alt="background">
</div>
</div>
&#13;
答案 1 :(得分:0)
您可以创建一个透明背景的图像,并将其用作边框图像。
.background {
position: relative;
width: 100%;
height: 100%;
padding: 10px;
background-color: #fd1dfa;
z-index: 1 !important;
}
.background:after {
content: "";
display: table;
clear: both;
}
hr {
border: 10px solid white;
position: relative;
top: 100px;
z-index: 5 !important;
}
.center {
position: relative;
width: 50px;
height: 50px;
background-color: #fd1dfa;
color: #ffffff;
padding: 10px;
z-index: 10 !important;
}
.border {
position: relative;
z-index: 8 !important;
margin: 30px;
width: 70px;
height: 70px;
float: left;
background: white;
border: 10px solid transparent;
border-image:
}
<div class="background">
<hr>
<div class="border">
<div class="center">
text and words
</div>
</div>
<div class="border">
<div class="center">
text and words
</div>
</div>
<div class="border">
<div class="center">
text and words
</div>
</div>
</div>