当我将宽度作为100%应用于列表元素时,嵌套列表元素也将获得相同的宽度!我不希望这种情况发生。如何使其不适用于列出的元素。
表示:html结构
<ul>
<li>
<ul>
<li></li>
<li></li>
</ul>
</li>
</ul>
css结构:ul li {width:100%;}
但这也适用于嵌套元素!即&#34; ul li ul li&#34;也得到宽度为100%..我不希望这发生!任何解决方案
答案 0 :(得分:3)
当您使用ul li
时,它会定位li
所有ul
元素,因此逻辑上,嵌套在li
下的所有ul
都会受到影响。如果您只想定位第一级li
元素,可以使用
body > ul > li {
width: 100%;
}
上面的选择器选择直接嵌套在li
下的ul
元素,该元素进一步直接嵌套到body
。这样,它就不会选择嵌套的ul
元素,因为它不是body
元素的直接子元素。
body
或class
的父包装,请替换id
。确保您没有使用ul > li
,因为这样它也会再次选择嵌套的li
。
答案 1 :(得分:0)
您可以使用>
选择器ul > li
表示选择其父级为的所有li。您可以通过指示其他级别来进一步细化父子关系。
ul > li {
width: 100%;
background-color: yellow;
}
ul > ul > li {
width: 25%;
background-color: red;
}
<ul>
<li>A</li>
<li>B</li>
<ul>
<li>1</li>
<li>2</li>
</ul>
</ul>
顺便说一句,如果你在列表项(li)中放置一个列表(ul),你可能会得到你不想要的子弹样式: