【发布时间】:2022-02-01 11:55:08
【问题描述】:
我真的很困惑如何在不更改以下 HTML 或将其包装在类名中的情况下设置此列表的样式。我该怎么办?
例如,如果我想将 Ocean Fish 加粗但不影响太平洋或大西洋,如何在不添加类名的情况下定位该 div?
另一个例子,我想在绿色文本中显示“12 三文鱼”和“3 cod”,在蓝色文本中显示“46 halibut”和“13 polllock”?在我知道有一个使用非常具体的选择器的技巧,但我不知道如何。
<ul>
<li>
<div>Ocean Fish</div>
<ul>
<li>
<div>Pacific</div>
<ul>
<li>12 salmon</li>
<li>3 cod</li>
</ul>
</li>
</ul>
<ul>
<li>
<div>Atlantic</div>
<ul>
<li>46 halibut</li>
<li>13 pollock</li>
</ul>
</li>
</ul>
</li>
</ul>```
【问题讨论】:
-
您可以为此使用tree structural pseudo classes。不过,我推荐
class属性。毕竟,太平洋鱼应该是绿色的,还是 ul 中的第一个 li?您不必“包装”任何东西;将类添加到现有元素之一 -
除了类更具可读性之外,树结构选择器是维护的痛苦。如果你改变了你的树结构... pain.
-
绝对是一种痛苦。这个问题出现在课堂测验中,我被难住了——我不认为这个问题是为了最佳实践!
-
请注意,有时您别无选择 - 例如,在制作针对您无法控制的网页的浏览器扩展程序时。
-
很有趣,谢谢。我是新手(在学习 html/css 的第 3 周),所以我对我能获得的所有信息持开放态度。
标签: html css css-selectors