CSS:如何使用z-index控制边栏背景颜色

时间:2014-07-15 15:08:00

标签: css colors z-index

以下是我想要实现的目标摘要:

  1. 我有一个背景颜色为棕褐色的包装div。

  2. 包装器div有2个孩子。侧边栏div和内容div。这两个孩子都包含链接。

  3. 侧边栏div需要背景颜色为灰色。

  4. 我创建了一个侧边栏:在z-index为-1的伪元素之前。这个伪元素消失了。当我将z-index更改为0时,此元素被放置在侧边栏div的顶部,我的侧边栏信息被隐藏。

    我添加了一些示例代码,例如these


    <div class="wrap">
     <div class="sidebar">
         <p><a href="www.google.com">sidebar</a></p>
         <p><a href="www.google.com">sidebar</a></p>
         <p><a href="www.google.com">sidebar</a></p>
         <p><a href="www.google.com">sidebar</a></p>
         <p><a href="www.google.com">sidebar</a></p>
         <p><a href="www.google.com">sidebar</a></p>
         <p><a href="www.google.com">sidebar</a></p>
         <p><a href="www.google.com">sidebar</a></p>
         <p><a href="www.google.com">sidebar</a></p>
         <p><a href="www.google.com">sidebar</a></p>
     </div>
     <div class="content">
         <p><a href="www.google.com">content</a></p>
         <p><a href="www.google.com">content</a></p>
         <p><a href="www.google.com">content</a></p>
         <p><a href="www.google.com">content</a></p>
         <p><a href="www.google.com">content</a></p>
         <p><a href="www.google.com">content</a></p>
         <p><a href="www.google.com">content</a></p>
         <p><a href="www.google.com">content</a></p>
         <p><a href="www.google.com">content</a></p>
         <p><a href="www.google.com">content</a></p>
     </div>
    </div>
    


    .wrap {
      position:relative;
      background-color:tan;
    }
    
    .sidebar, .sidebar:before {
      width:25%;
    }
    .sidebar {
      float:left;
      color: #ebeef3;
      font-size: 90%;
    }
    .sidebar:before {
      content: '';
      position:absolute;
      top: 0;
      bottom: 0;
      z-index: -1;
      left: 0;
      background-color: #5f6673;
    }
    

    此代码基于great tutorial,显示在具有相同高度的列上。

1 个答案:

答案 0 :(得分:0)

大多数开发人员可以按原样遵循TutsPlus教程,它可以正常工作。 (问题中提供了链接。)但是在Drupal网站上,.l-content div元素的position属性有时会设置为relative,有时会保留为默认值。所以我们不能使用教程使用的.content伪元素。所以我稍微改变了css如下:

.wrap:before {
    width:75%;
}

.wrap {
    position:relative;
}

.wrap:before {
    content: '';
    position:absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 25%;
    background-color:tan;
}

.sidebar, .sidebar:before {
    width:25%;
}
.sidebar {
    float:left;
    color: #ebeef3;
    font-size: 90%;
}
.sidebar:before {
    content: '';
    position:absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 0;
    background-color: #5f6673;
}

我添加了一些示例代码here

我正在使用Drupal 7 / Omega 4 / SASS / Compass / Ruby。