CSS列表样式
时间:2020-03-06 14:28:56 来源:igfitidea点击:
我正在使用YUI重置/基础,重置后将ul和li标签设置为列表样式:光盘在外面;
我的标记如下所示:
<div id="nav"> <ul class="links"> <li><a href="">Testing</a></li> </ul> </div>
我的CSS是:
#nav {} #nav ul li { list-style: none; }
现在,这使得每个li旁边的小碟片都消失了。
为什么这行不通呢?
#nav {} #nav ul.links { list-style: none; }
如果我删除了base.css文件的链接,它会起作用,为什么?
已更新:sidenav-> nav
解决方案
不应该是:
#nav ul.links
也许样式是base.css用"!important"覆盖样式?我们是否尝试过向该特定li添加一个类并为其创建自己的样式?
在第一个代码段中,将列表样式应用于li元素,在第二个代码中应用于ul元素。
尝试
#nav ul.links li { list-style: none; }
由于CSS的特殊性,后一个示例可能无法正常工作。 (可以在这里找到更详细的解释。)也就是说,YUI的base.css规则是:
ul li{ list-style: disc outside; }
这比更为"具体",因此正在使用YUI规则。如前所述,我们可以通过定位li
标签来使规则更具体:
#nav ul li{ list-style: none; }
不用看代码就很难确定,但是如果我们不了解特异性,那肯定值得一读。
使用这个:
.nav ul li { list-style: none; }
或者
.links li { list-style: none; }
它应该工作...
我认为Dan与他的答案很接近,但这不是特定性的问题。我们可以在列表(UL)上设置列表样式,但也可以为单个列表项(LI)覆盖该列表样式。
我们告诉浏览器不要在列表上使用项目符号,但是YUI告诉浏览器在各个列表项上使用项目符号(YUI获胜):
ul li{ list-style: disc outside; } /* in YUI base.css */ #nav ul.links { list-style: none; /* doesn't override styles for LIs, just the UL */ }
我们想要的是告诉浏览器不要在列表项上使用它们:
ul li{ list-style: disc outside; } /* in YUI base.css */ #nav ul.links li { list-style: none; }