ul> li(选择器)不起作用。我在这里缺少什么?
/* Part 1 */
ul > li{
margin-top:30px;
}
/* Part 2 */
/* ul .test{
margin-top:30px;
} */
<ul>
<li class="test">item1</li>
<ul>
<li>subitem1</li>
<li>subitem2</li>
</ul>
<li class="test">item2</li>
<li class="test">item3</li>
</ul>
https://jsfiddle.net/gy5r3noh/
CSS中的第1部分和第2部分不应该相等吗?但事实并非如此。 ul&gt; li应该选择ul的所有li子元素(比如class = test I created),但它不适用于ul&gt;李。
答案 0 :(得分:1)
忽略HTML无效的事实as j08691 has pointed out,并假设您的内部ul
打算包含在li
元素中:
ul > li
选择任何li
元素作为任何ul
元素的子元素。ul .test
选择任何ul
元素中包含“test”类的元素。一个和两个对HTML结构给出不同的结果,因为嵌套的ul
不包含带有“test”类的li
元素。示例一适用于外部和ul
元素,而示例二只影响具有“test”类的li
元素(嵌套ul
中没有)
答案 1 :(得分:0)
您的HTML无效,ul
不能将ul
作为直接儿童
ul > .test {
margin-top: 30px
}
<ul>
<li class="test">item1
<ul>
<li>subitem1</li>
<li>subitem2</li>
</ul>
</li>
<li class="test">item2</li>
<li class="test">item3</li>
</ul>
答案 2 :(得分:0)
/* Part 1 */
ul > li{
margin-top:30px;
}
/* Part 2 */
/* ul .test{
margin-top:30px;
} */
&#13;
<ul>
<li class="test">item1</li>
<ul>
<li>subitem1</li>
<li>subitem2</li>
</ul>
<li class="test">item2</li>
<li class="test">item3</li>
</ul>
&#13;
这里,Html应该是,
<ul>
<li class="test">item1
<ul>
<li>subitem1</li>
<li>subitem2</li>
</ul>
</li>
<li class="test">item2</li>
<li class="test">item3</li>
</ul>