样式<ul>的第一个孩子(不是没有添加ID或类的sub <ul>)</ul> </ul>

时间:2013-07-25 16:48:24

标签: html css css-selectors html-lists parent-child

**感谢您的回答。我正在等待一个Cache插件被删除,然后我才能测试并确认每个标志都正常工作。

我有一个包含一些子列表的无序列表。我想要更新的主要是主<ul>“名称”和“工作”

的子项
<ul>
   <li>Names
        <ul>
            <li>Mike</li>
            <li>Bob</li>
            <li>Steve</li>
        </ul>
   </li>

   <li>Jobs
        <ul>
            <li>Police</li>
            <li>Fire Fighter</li>
            <li>banker</li>
        </ul>
   </li>
</ul>

我希望能够仅为我的主<li>的子<ul>设置样式,而不是任何子项。诀窍是我不能将任何类或id添加到列表或子列表中。我可以把整个东西放在一个包含div中。

*注意如果我向我添加一个类或ID,它会将它添加到所有类。这是我无法控制的预制模板。

我以为我能做到这一点:

<div id="mylist_container">
    <ul>
       <li>Names
            <ul>
                <li>Mike</li>
                <li>Bob</li>
                <li>Steve</li>
            </ul>
       </li>

       <li>Jobs
            <ul>
                <li>Police</li>
                <li>Fire Fighter</li>
                <li>banker</li>
            </ul>
       </li>
    </ul>
</div>

并且样式如下:

#mylist_container ul>l1{
    font:bold 18px arial;
}

4 个答案:

答案 0 :(得分:3)

我想你回答了自己的问题!或至少99%的方式。通过在>#mylist_container之间添加ul来再创建一个子选择器。这只会定位ul #mylist_container的孩子,而不是更深入的结构。

#mylist_container > ul > li { /* your styles */ }

答案 1 :(得分:1)

尝试

#mylist_container > ul > li {
    font: bold 18px arial;
}
#mylist_container > ul > li ul{
    font: normal 10px arial; //assign the default view here
}

演示:Fiddle

答案 2 :(得分:0)

看看我的代码示例。 第一个定位所有<li>,第二个定位于另一个<li>内的<li>

ul>li{
  any styles in here form the top level li
}

ul>li>ul>li{
  styles to cancel out the first styles
}

答案 3 :(得分:0)

试试这个..

div ul li ul li{
    color:#000000;
}

div ul li{
    color:red;
}

http://jsfiddle.net/Mk3g4/