当前位置 : 主页 > 网页制作 > css >

css3 last-child没有按预期工作

来源:互联网 收集:自由互联 发布时间:2021-06-13
我有动态生成的匹配列表.在每个成员之后,我显示一个在其中显示VS的li.然而,div匹配中的最后一个ul li应该是不可见的.我有什么想法可以做到这一点? HTML style .match { } .match ul { } .match
我有动态生成的匹配列表.在每个成员之后,我显示一个在其中显示VS的li.然而,div匹配中的最后一个ul li应该是不可见的.我有什么想法可以做到这一点?
HTML

<style>
    .match {
    }
    .match ul {
    }
    .match ul li {
        float: left;
        margin-right: 50px;
    } 
    .match ul li:last-child {
        display: none;
    }
</style>

  <div class="content">
    <div class="match">
      <ul>
        <li><a href="/wade-barrett/member">Wade Barrett</a></li>
        <li style="">VS</li>
      </ul>

      <ul>
        <li><a href="/shaemus/member">Shaemus</a></li>
        <li style="">VS</li>
      </ul>

      <ul>
        <li><a href="/randy-orton/member">Randy Orton</a></li>
        <li style="">VS</li>
      </ul>

      <ul>
        <li><a href="/john-cena/member">John Cena</a></li>
        <li style="">VS</li>
      </ul>

      <ul>
        <li><a href="/edge/member">Edge</a></li>
        <li style="">VS</li>
      </ul>

      <ul>
        <li><a href="/chris-jericho/member">Chris Jericho</a></li>
        <li style="">VS</li>
      </ul>

      <p class="clear"></p>
    </div>
  </div>
:last-child伪类应该应用于ul而不是li,因为你想要隐藏列表最后ul的VS文本.通过将伪类应用于li,您将样式应用于每个ul的最后一个li,这是不正确的.

您还应该使用VS文本将类属性应用于li元素,以便与类选择器匹配更方便.

更改

<li style="">VS</li>

<li class="vs">VS</li>

并使用它代替当前的:last-child选择器:

.match ul:last-child li.vs {
    display: none;
}
网友评论