一種選擇使用所生成的內容:
.borders {
width:500px;
height:500px;
position: relative;
background:#efefef;
border-top:10px solid red;
border-bottom:10px solid green;
}
.borders::before,
.borders::after {
content: '';
position: absolute;
width: 10px;
top: 0;
bottom: 0;
background-color: #000;
}
.borders::before {
left: 0;
}
.borders::after {
right: 0;
}
JS Fiddle demo。
或者嵌套HTML(如果你真的必須):
<div class="borders">
<div class="innerBorder left"></div>
<div class="innerBorder right"></div>
</div>
.borders {
width:500px;
height:500px;
position: relative;
background:#efefef;
border-top:10px solid red;
border-bottom:10px solid green;
}
.borders .innerBorder{
content: '';
position: absolute;
width: 10px;
top: 0;
bottom: 0;
background-color: #000;
}
.borders .left {
left: 0;
}
.borders .right {
right: 0;
}
JS Fiddle demo。
,並且其中左,右,border-color
是纏繞元件的background-color
單嵌套元件的解決方案,並且由所述後代的margin
控制的寬度:
<div class="borders">
<div class="inner"></div>
</div>
CSS:
.borders {
width:500px;
height:500px;
background-color: #000;
border-top:10px solid red;
border-bottom:10px solid green;
}
.borders .inner {
background-color: #efefef;
height: 100%;
margin: 0 10px;
}
JS Fiddle demo。
一個孩子元素似乎已經足夠。看到我的答案。 – PointedEars
你是對的!並且...我已經添加了一個(雖然,當然,這是一個*不同的*單獨的後代解決方案)=) –