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

使用nth-child()在标记中设置li样式

  •  0
  • mohammad  · 技术社区  · 5 年前

    <ul>
        <a href=""><li>this is test </li></a>
        <a href=""><li>this is test </li></a>
        <a href=""><li>this is test </li></a>
        <a href=""><li>this is test </li></a>
    </ul>
    

    和风格:

    a:nth-child(even){
        background-color: #f5f5f5;
        border-right: 2px solid #666;
    }
    
    .li:hover{
        background-color: #555;
        color: #fff;
    }
    

    1 回复  |  直到 5 年前
        1
  •  3
  •   jeprubio    5 年前

    在你的css中你有: .li 以li类元素为目标(比如 <div class="li">

    你说得对,李应该是ul tag的直系子:

    ul li:nth-child(even) {
        background-color: #f5f5f5;
        border-right: 2px solid #666;
     }
    
    ul li:hover{
        background-color: #555;
        color: #fff;
    }
    <ul>
        <li><a href="">this is test</a></li>
        <li><a href="">this is test</a></li>
        <li><a href="">this is test</a></li>
        <li><a href="">this is test</a></li>
    </ul>

    如果只需要链接的背景而不是所有列表项:

    ul li:nth-child(even) a {
        background-color: #f5f5f5;
        border-right: 2px solid #666;
    }
    
    ul li:hover a {
        background-color: #555;
        color: #fff;
    }
    <ul>
    <li><a href=“”>这是测试</a></li>
    <li><a href=“”>这是测试</a></li>
    </ul>