【发布时间】:2012-03-28 07:30:20
【问题描述】:
我正在寻找一种方法来隐藏特定类的所有元素 - 除了第一个元素。我确实意识到在 javascript 中有一些方法可以做到这一点,但是这个功能适用于那些 没有启用 javascript 的人 - 因此我正在寻找 CSS only 解决方案,如果有的话。
<div class="foo">Content 1</div> //not hidden
<div class="foo">Content 2</div> //hidden
<div class="foo">Content 3</div> //hidden
我可以通过使用first-child pseduo-class 来实现这一点,例如:
.foo:first-child {
display:block;
}
.foo {
display:none;
}
但是由于 IE6 不支持这个伪类,它不会工作。不幸的是,我无法取消对 IE6 的支持(叹气),所以我正在寻找一种方法来实现这一点,而无需使用这个特定的选择器。
谢谢!
【问题讨论】:
-
我会小心地寻求一个已知缺陷的解决方案(IE6 不支持
:first-child以及无数其他有用的东西),这可能会从本质上增加大量开销(库、替代setup 等),当一个简单的专用类可以实现相同的效果时。 jQuery 可以help in it's own way,但如果你不需要 jQuery,那将是一笔不小的开销。 -
我完全同意你的看法,但是,我正在努力确保禁用 javascript 的 IE6 用户的最佳用户体验(耶克,它会变得更糟吗?)。有人可能会说这将是一项不可能完成的任务.. :-D。感谢您的意见!
标签: css internet-explorer css-selectors