7

默认情况下,一组无样式的嵌套<ul>列表如下所示(至少在 Chrome、Firefox 和 IE 中):

嵌套 <ul> 截图

顶层有一个list-style-typeof disc,下一层是circle,后面的层是square

如果我包含一个将 更改为 的样式表list-style-typenone是否有一种简单的方法可以稍后在文档中恢复为“自动项目符号类型”?(例如,用后续的 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更改列表中的每个项目符号,我不再在不同级别看到不同的项目符号,所以这也不起作用。

通过为每个级别明确定义样式来实现此目的的唯一方法是什么?例如:

<style type="text/css">
    ul { list-style-type: disc; }
    ul ul { list-style-type: circle; }
    ul ul ul { list-style-type: square; }
</style>
4

3 回答 3

1

使用类来编写类似的东西:

ul { list-style-type: none; }
.list_default { list-style-type: circle; }

然后在你想要应用项目符号的 ul 上,

<ul class="list_default">
    <li>one</li>
    <li>two</li>
</ul>

此外,在不使用“自动”行为时,请务必听取其他海报的建议。标准和制造商定义的默认值有很多专有扩展,只会让您稍后拉扯头发。现在养成不依赖他们理智的好习惯。

于 2012-06-20T05:25:49.727 回答
0

我最近遇到了这个需求(没有嵌套,但仍然更喜欢不隐式设置罗马与希腊等)并inherit成功使用。自然,效果会根据定义的规则而有所不同,但它在我的情况下有效。

于 2013-07-15T19:25:22.843 回答
0

通过为每个级别明确定义样式来实现此目的的唯一方法是什么?

是的,使用 ul,这是唯一的方法。基本上这正是 chrome 正在做的事情。

如果你还想保持从第二级开始的 chrome 风格,就不要在第一级使用 ul !使用分...

于 2012-06-14T00:55:25.890 回答