無効な CSS セレクターのエラー処理: 根拠
CSS セレクター レベル 3 仕様では、無効なセレクターを含むルール全体を破棄する必要があると規定しています。この決定は、セレクター内のエラーの解析、一貫したエラー処理の確保、および前方互換性の維持という課題から生じています。
解析エラーの課題
CSS セレクター内の解析エラーは、次のような問題が発生する可能性があります。 include:
無効なセレクターを含むルールを破棄することで、実装は部分セレクターまたは複雑なセレクターの有効性を判断する複雑さを回避します。グループ。
一貫性と互換性
この仕様により、すべての実装にわたって一貫したエラー処理が保証されます。無効なセレクターは、個々の部分の認識に関係なく、完全な解析失敗として扱われます。将来の仕様では、さらなる解析の課題を引き起こす可能性のある新しいセレクター構文が導入される可能性があるため、前方互換性も考慮されています。
例: ":last-child" の処理
「:last-child」を含むルールの例では、ブラウザが一般的に識別できる場合でも、このセレクターは認識されないため、仕様では無効であると見なされます。疑似クラス。一貫性を維持し、潜在的なレイアウトの中断を回避することが優先されます。
ルールを破棄する根拠
最終的には、無効なルールを破棄することが最も簡単で予測可能なエラー処理になります。
代替ビューポイントと例外
無効なルールを破棄することが一般的に推奨されるアプローチですが、メーリング リストではいくつかの議論があります。仕様の改訂を提案しました。ただし、サイトは CSS ハッキングの既存の動作に依存しているため、Web 互換性に関する潜在的な懸念があるため、現在の動作は変更されていません。
以上がCSS が無効なセレクターを含むルール全体を破棄するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。