在 CSS 选择器级别 3 中,解析错误会导致丢弃包含以下内容的规则:无效的选择器。浏览器多年来一直实施这种行为,确保可预测的错误处理。
丢弃整个规则的基本原理是多方面的:
为了说明这个问题,这里有一个示例规则:
#menu li.last, #menu li:last-child { ... }
在像 IE8 这样缺乏 :last-child 支持的浏览器中,尽管第一个选择器有效,但由于无效选择器,整个规则都会被丢弃选择器。
考虑删除无法识别的选择器而不丢弃规则。然而,它带来了潜在的风险:
某些布局引擎可能会表现出不同的行为。 WebKit 忽略带前缀的选择器,而其他选择器则忽略整个规则。这些偏差强调了如果修改错误处理规则,可能会出现跨浏览器不一致的情况。
以上是为什么 CSS 规则会因选择器无效而被丢弃?的详细内容。更多信息请关注PHP中文网其他相关文章!