无效的 CSS 选择器错误处理:基本原理
CSS 选择器级别 3 规范规定应丢弃包含无效选择器的整个规则。这个决定源于解析选择器中的错误、确保一致的错误处理和保持前向兼容性的挑战。
解析错误的挑战
CSS 选择器中的解析错误可以涉及:
通过丢弃具有无效选择器的规则,实现避免了确定部分选择器或复杂选择器有效性的复杂性组。
一致性和兼容性
该规范确保所有实现中错误处理的一致性。无论各个部分的识别如何,无效的选择器都会被视为完全解析失败。还考虑了前向兼容性,因为未来的规范可能会引入新的选择器语法,这可能会带来进一步的解析挑战。
示例:处理“:last-child”
在涉及“:last-child”的示例规则,规范认为此选择器无效,因为它无法识别,即使浏览器通常可以识别伪类。保持一致性并避免潜在的布局中断是首要任务。
放弃规则的理由
最终,放弃无效规则提供了最直接和可预测的错误处理:
替代观点和例外
虽然丢弃无效规则通常是推荐的方法,但邮件列表中的一些讨论建议对规范进行修订。然而,由于潜在的网络兼容性问题,当前的行为保持不变,因为网站依赖于 CSS 黑客的现有行为。
以上是为什么 CSS 会丢弃无效选择器的整个规则?的详细内容。更多信息请关注PHP中文网其他相关文章!