代码之家  ›  专栏  ›  技术社区  ›  verism

停止z索引对这些元素有什么影响?

  •  2
  • verism  · 技术社区  · 9 年前

    使用以下代码,我希望 <li> 切换时显示在按钮下方的元素。我搞不明白为什么不是这样,有人能解释一下吗?

    $('#switch').on('click', function(){
        $(this).parent().toggleClass('open');
    })
    .container {
        display: block;
        height: 50px;
        width: 300px;
        z-index: 1;
    }
    
    #switch {
        display: inline-block;
        height: 50px;
        vertical-align: top;
        width: 50px;
        z-index: 10;
    }
    
    ul {
        display: inline-block;
        margin: 0;
        padding: 0;
        text-indent: 0;
        vertical-align: top;
        z-index: 1;
    }
    
    li {
        background: red;
        display: inline-block;
        height: 50px;
        margin: 0 0 0 10px;
        padding: 0;
        transform: translateX(-100%);
        width: 50px;
        z-index: 0;
    }
    
    .open li {
        transform: translateX(0);
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="container open">
        <button id="switch">Click</button>
        <ul>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>
    2 回复  |  直到 9 年前
        1
  •  4
  •   Alex Char    9 年前

    z-index 工作需要声明职位:

    $('#switch').on('click', function() {
      $(this).parent().toggleClass('open');
    })
    .container {
      display: block;
      height: 50px;
      width: 300px;
      z-index: 1;
    }
    #switch {
      position: relative;
      display: inline-block;
      height: 50px;
      vertical-align: top;
      width: 50px;
      z-index: 10;
    }
    ul {
      display: inline-block;
      margin: 0;
      padding: 0;
      text-indent: 0;
      vertical-align: top;
      z-index: 1;
    }
    li {
      position: relative;
      background: red;
      display: inline-block;
      height: 50px;
      margin: 0 0 0 10px;
      padding: 0;
      transform: translateX(-100%);
      width: 50px;
      z-index: 0;
    }
    .open li {
      transform: translateX(0);
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="container open">
      <button id="switch">Click</button>
      <ul>
        <li></li>
        <li></li>
        <li></li>
      </ul>
    </div>
        2
  •  3
  •   AleshaOleg    9 年前

    使用 z-index 具有 position: absolute; , position: relative; position: fixed .