如何使css文本-装饰覆盖工作?有时候我发誓我要疯了。今天是那种日子。我认为我的css在这里是相当直截了当的,但它似乎不起作用。我遗漏了什么?我的CSS看起来如下:ul > li {
text-decoration: none;}ul > li.u {
text-decoration: underline;}ul > li > ul > li {
text-decoration: none;}ul > li > ul > li.u {
text-decoration: underline;}我的HTML看起来是这样的:<ul>
<li>Should not be underlined</li>
<li class="u">Should be underlined <ul>
<li>Should not be underlined</li>
<li class="u">Should be underlined</li>
</ul>
</li></ul>
3 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
text-decoration
无流 元素,如浮动元素和绝对定位元素。 li { float: left; /* Avoid text-decoration propagation from ul */ clear: both; /* One li per line */ } ul { overflow: hidden; } /* Clearfix */
原子内联级 元素,例如内联块和内联表。 但如果你用 li{display:inline-block}
,那你就没有子弹了(你输了 display:list-item
)和项目出现在一个旁边的其他。 然后,要有一行一项,可以使用 li { display: inline-block; /* Avoid text-decoration propagation from ul */ width: 100%; /* One li per line */ }
加上子弹,你可以用 ::before
伪元素。然而,子弹不应该加下划线,所以你需要把它们从流中取出来,或者把它们变成原子的内联级。
请注意,文本装饰不会传播到任何流外后代,也不会传播到原子内联级子代(如内联块和内联表)的内容。
- 3 回答
- 0 关注
- 427 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消