提问人:Stalinko 提问时间:7/16/2018 更新时间:7/16/2018 访问量:695
如何只给嵌套列表中的顶级项目加下划线?
How to underline only top-items in a nested list?
问:
请考虑以下代码:
<ol class=top>
<li>Top item
<ol>
<li>Sub</li>
<li>list</li>
<li>item.</li>
</ol>
</li>
</ol>
和 css:
.top > li {
text-decoration: underline;
}
.top ol li {
text-decoration: none;
}
小提琴:http://jsfiddle.net/fLvns1z0/1/
我只想给“首页”加下划线,而是给整个文本加下划线。甚至无济于事。
如何让它工作并保持代码尽可能简单的任何想法?!important
答:
2赞
Praveen Kumar Purushothaman
7/16/2018
#1
看起来是因为标签的行为。如果可能的话,请添加一个,它应该没问题:<li>
<span>
.top span {
text-decoration: underline;
}
<ol class=top>
<li><span>Top item</span>
<ol>
<li>Sub</li>
<li>list</li>
<li>item.</li>
</ol>
</li>
</ol>
此外,当您添加标签时,您显然是在分隔。另外,真正的原因是我无法以另一种方式修复。对不起。<span>
:(
评论
0赞
Stalinko
7/16/2018
哈哈,这正是我在:)前一分钟想到的我的解决方法甚至更简单 - 我使用而不是 .但是,它使代码更脏,并且看起来并不绝对准确,因为仍然没有下划线。如果没有更好的答案,我会将其标记为解决方案。<u>
<span>
1.
0赞
Praveen Kumar Purushothaman
7/16/2018
@Stalinko 看起来真的不可能: * 级联 <li>
中的文本修饰问题 * stackoverflow.com/questions/1823341
0赞
Praveen Kumar Purushothaman
7/16/2018
@Stalinko 否,因为它已被弃用。<u>
:(
0赞
Stalinko
7/16/2018
W3c 表示它在 HTML4 中被弃用,但在 HTML5 中重新定义: w3schools.com/tags/tag_u.asp 此外,所有浏览器都正确支持它。
0赞
CertainPerformance
7/17/2018
@Stalinko w3schools(糟糕的教程网站)与万维网联盟不同。差异非常重要。如果你需要参考,最好避免使用w3schools,而是使用更值得信赖的东西,比如MDN。
2赞
Temani Afif
7/16/2018
#2
您可以使用与背景相同的颜色重新定义:text-decoration
.top > li {
text-decoration: underline;
}
.top ol li{
text-decoration: underline;
text-decoration-color: #fff;
}
<ol class=top>
<li>Top item
<ol>
<li>Sub</li>
<li>list</li>
<li>item.</li>
</ol>
</li>
</ol>
或者对元素的行为进行一些更改:
.top > li {
text-decoration: underline;
}
.top ol{
display:inline-block;
width:100%;
box-sizing:border-box;
}
<ol class=top>
<li>Top item
<ol>
<li>Sub</li>
<li>list</li>
<li>item.</li>
</ol>
</li>
</ol>
评论
0赞
Praveen Kumar Purushothaman
7/16/2018
这是一个很好的技巧。我确实尝试过这个,但它对我不起作用。:(
0赞
Temani Afif
7/16/2018
@PraveenKumarPurushothaman我添加了另一个,您也可以尝试一下
0赞
Praveen Kumar Purushothaman
7/16/2018
哇......这也行得通。但问题出在.使用 和 ,那会很棒。margins
padding
border-box
0赞
Praveen Kumar Purushothaman
7/16/2018
我们俩都修好了。大声笑。
5赞
Girisha C
7/16/2018
#3
如果你不想添加额外的或任何其他元素来达到别人所说的结果,你可以使用 css sudo 类,检查下面的工作示例:span
:first-line
.top > li:first-line {
text-decoration: underline;
}
<ol class="top">
<li>Top item
<ol>
<li>Sub</li>
<li>list</li>
<li>item.</li>
</ol>
</li>
</ol>
评论
:(
<li>
中的文本修饰问题 * stackoverflow.com/questions/1823341