ul .active项目的全宽白色背景颜色不起作用

时间:2017-12-26 22:35:41

标签: css twitter-bootstrap

我有一个包含3列(col-md-3)的div和一个包含9列的div(col-md-9)。 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>

1 个答案:

答案 0 :(得分:0)

您可以使用伪元素来模拟背景并使用位置轻松控制它(使用左/右的负值使其溢出活动元素):

&#13;
&#13;
.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;
}
&#13;
<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>
&#13;
&#13;
&#13;