默认情况下,一组无框架的嵌套<ul>
列表看起来像这样(至少在Chrome,Firefox和IE中):
最高级别list-style-type
为disc
,下一级为circle
,后续级别为square
。
如果我添加了将list-style-type
更改为none
的样式表,是否有一种简单的方法可以在文档后面恢复为“自动项目符号类型”? (例如,使用后续CSS定义或JavaScript样式更改覆盖)
基本上,我正在寻找像list-style-type: auto;
这样的东西(显然无效且无效):
<style type="text/css">
ul { list-style-type: none; }
ul { list-style-type: auto; } /* Does not work */
</style>
将list-style-type
设置回disc
会更改列表中的每个项目符号,并且我不再在不同级别看到不同的项目符号,因此也不起作用。
通过明确定义每个级别的样式是唯一的方法吗? e.g:
<style type="text/css">
ul { list-style-type: disc; }
ul ul { list-style-type: circle; }
ul ul ul { list-style-type: square; }
</style>
答案 0 :(得分:1)
使用类来编写类似的内容:
ul { list-style-type: none; }
.list_default { list-style-type: circle; }
然后在你想要应用项目符号的ul上,
<ul class="list_default">
<li>one</li>
<li>two</li>
</ul>
另外,在不使用“自动”行为时,请接受其他海报建议。标准和制造商定义的默认值有很多专有扩展,这些扩展只会让你以后再拔掉头发。现在养成不依赖于理智的良好习惯。
答案 1 :(得分:0)
是通过为每个级别明确定义样式来实现此目的的唯一方法吗?
是的,使用ul,这是唯一的方法。基本上这正是铬正在做的事情。
如果你仍然希望从第二级开始保持chrome样式,请不要在第一级使用ul!使用div ...
答案 2 :(得分:0)
我最近遇到了这种需求(没有嵌套,但仍然倾向于不设置罗马与希腊等)并且成功使用inherit
。当然,效果会根据已定义的规则而有所不同,但它在我的情况下有效。