i有一个带有3列(Col-Md-3)的DIV和一个带9列(Col-Md-9)的DIV。Col-MD-3 Div具有蓝色背景和<ul>
元素。在这个UL中,我在第一个元素中有一个类别,我想给活性元素提供白色的背景颜色。
问题是我想要完整的宽度背景白色,但它不起作用,白色背景颜色并未占据Col-Md-3 Div的全宽度。你知道如何解决这个问题吗?
使用.container-fluid而不是.Container解决问题,但是内容不与上述使用的Divs对齐。使用.Container而非.container-fluid。
问题示例:https://jsfiddle.net/1pmtxa7f/2/
html:
<div class="background-div">
<div class="container">
<div class="row">
<div class="col-md-3 p-0">
<ul class="admin_menu mt-4">
<li class="active"><a href="">Item 0</a></li>
<li><a href="">Item 1</a></li>
<li><a href="">Item 2 <i class="fa fa-chevron-down" aria-hidden="true"></i></a></li>
<li><a href="">Item 3 <i class="fa fa-chevron-down" aria-hidden="true"></i></a></li>
<li><a href="">Item 4<i class="fa fa-chevron-down" aria-hidden="true"></i></a></li>
</ul>
</div>
<div class="col-md-9 mt-4 bg-white">
Content
</div>
</div>
</div>
</div>
您可以使用伪元素来模拟背景并轻松地使用位置控制它(对左/右使用负值使其溢出活动元素):
.background-div {
width: 100%;
background-color: blue;
overflow: hidden;
}
.bg-white {
background-color: white;
}
.admin_menu {
list-style: none;
}
.admin_menu li {
padding: 1rem;
position: relative;
}
li.active:before {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: -150%;
right: -150%;
background: #fff;
z-index: 0;
}
.admin_menu li a {
color: gray;
display: flex;
justify-content: space-between;
position: relative;
z-index: 1;
}
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">
<div class="background-div">
<div class="container">
<div class="row">
<div class="col-md-3 p-0">
<ul class="admin_menu mt-4">
<li class="active"><a href="">Item 0</a></li>
<li><a href="">Item 1</a></li>
<li><a href="">Item 2 <i class="fa fa-chevron-down" aria-hidden="true"></i></a></li>
<li><a href="">Item 3 <i class="fa fa-chevron-down" aria-hidden="true"></i></a></li>
<li><a href="">Item 4<i class="fa fa-chevron-down" aria-hidden="true"></i></a></li>
</ul>
</div>
<div class="col-md-9 mt-4 bg-white">
Content
</div>
</div>
</div>
</div>