【发布时间】:2012-06-04 19:45:49
【问题描述】:
我有以下嵌套列表结构:
HTML:
<div id="my_nested_list">
<ul>
<li>
Item label
<ul>
<li>Subitem 1</li>
<li>Subitem 2</li>
<li>Subitem 3</li>
</ul>
<li>
<li>...</li>
</ul>
</div>
CSS:
#my_nested_list>ul {
/* first level list */
}
#my_nested_list>ul>li {
/* first level items */
}
#my_nested_list>ul>li ul {
/* second level list */
}
#my_nested_list>ul>li ul>li {
/* second level items */
}
我的问题是使用空格选择器而不是>,第一级规则适用于第二级。但我需要 ie6 支持,它不支持>。因此我必须使用空间。
到目前为止,我有 2 个解决方案:
- 在每个 ul 和 li 上放置类,并使用
#my_nested_list ul.firstlevel li.firstlevel - 使用
#my_nested_list ul li和#my_nested_list ul li ul li重写每个不需要的第一级规则。
你有更好的想法吗?
【问题讨论】:
-
差不多就是这样。你真的不用在IE6上投入太多精力,已经不值得了。无论哪种现有解决方案有效,我都会采用它们。
-
我同意 BoltClock,但我看不出在这里使用 > 子运算符的任何理由 - 只使用空格?
-
@xec:“使用空格选择器而不是
>,第一级规则适用于第二级”他说他不希望那样。 -
我会创建 2 个类
.list li和.nestedlist li并给ul标记适当的类。在嵌套列表中覆盖您从列表中继承并希望有所不同的内容。 -
@BoltClock 但他已经覆盖了二级列表,所以 > 是不必要的,只需对第一级执行“#my_nested_list ul li”,对第二级(和第三级等)执行“#my_nested_list ul ul li” ) 级别
标签: html css css-selectors html-lists nested-lists