【发布时间】:2012-05-19 14:28:06
【问题描述】:
> 字符可以与 CSS 一起使用来选择具有特定父级的元素。
我在这里看到的好处是,例如,我只能将样式应用于列表的某个级别。像菜单一样 - 第一级是横向的,并且与第二级+具有不同的规则。所以我不需要担心重置 lvl 2+ 的属性
无论如何,我可以依靠>吗?它是否被所有浏览器支持并且没有错误行为?
【问题讨论】:
标签: css cross-browser css-selectors
> 字符可以与 CSS 一起使用来选择具有特定父级的元素。
我在这里看到的好处是,例如,我只能将样式应用于列表的某个级别。像菜单一样 - 第一级是横向的,并且与第二级+具有不同的规则。所以我不需要担心重置 lvl 2+ 的属性
无论如何,我可以依靠>吗?它是否被所有浏览器支持并且没有错误行为?
【问题讨论】:
标签: css cross-browser css-selectors
IE7 及更高版本完全支持子选择器>,而在 IE6 及更早版本中则完全不支持。当然,目前使用的所有其他主要浏览器的所有版本也完全支持它。
IE8 和更高版本都很好地支持所有 CSS2.1 选择器you can use them today,除非您正在编写需要迎合 IE6 的遗留代码,在这种情况下尽可能避免使用它们。
SitePoint Reference 确实提到了一个与影响 IE7 的 cmets 相关的晦涩解析错误,但它只会在存在注释时破坏选择器。您通常不会将 cmets 放在选择器的中间,除非您是作为 hack 这样做的,所以您不必担心这个错误。
【讨论】:
:before 和 :after 伪元素.
它是 CSS2 标准的一部分:http://www.w3.org/TR/CSS2/selector.html#child-selectors,所以现代浏览器应该支持它。
根据quirksmode.org,主要浏览器中只有 IE6 和更早版本不支持。我只看到在非常特殊的情况下使用 IE6(例如不接收软件补丁的专用机器)。
【讨论】: