我有一个有 3 列 (col-md-3) 的 div 和一个有 9 列 (col-md-9) 的 div。col-md-3 div 有一个蓝色背景和一个<ul>
元素。在这个 ul 中,我在第一个元素中有一个类 .active,我想为活动元素提供白色的背景颜色。
问题是我想要全宽背景白色但它不起作用,白色背景颜色没有占据 col-md-3 div 的全宽。你知道如何解决这个问题吗?
使用 .container-fluid 而不是 .container 可以解决问题,但内容与上述使用 .container 而不是 .container-fluid 的 div 不一致。
问题示例: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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句