ホームページ  >  記事  >  ウェブフロントエンド  >  無効なセレクターを含む CSS ルールが無効な部分を削除するだけでなく破棄されるのはなぜですか?

無効なセレクターを含む CSS ルールが無効な部分を削除するだけでなく破棄されるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-10 18:59:03316ブラウズ

Why are CSS rules with invalid selectors discarded instead of just removing the invalid part?

無効な CSS セレクターによりルールが削除される理由

問題:
CSS セレクター レベル 3 仕様では、無効なセレクターを含むルールを捨てられた。認識できないセレクターを単に削除してルールセットを維持するのではなく、なぜこれが必要なのでしょうか?

根拠:

CSS2.1 仕様によると:

セレクターの残りの部分は CSS 2.1 では合理的であるように見えますが、セレクターのどこかにエラーがある場合は、ステートメント全体を無視する必要があります。CSS の将来の更新でカンマが他の意味をもつかどうかは不明であるためです。

CSS セレクター レベル 4 仕様では、 :not() など、セレクター グループを引数として受け入れる関数型疑似クラス。これにより、解析のあいまいさが生じる可能性があり、実装でレイアウトを中断することなく無効なセレクターを正確に処理することが困難になります。

さらに:

  • 解析エラーがさまざまなポイントで発生する可能性があり、無効なセレクター、セレクター リスト、または宣言ブロックをどこで終了するかが不明です。
  • 仕様では、認識されないものと認識されないものを区別していません。
  • 一部のレイアウト エンジンは、接頭辞付きの認識されないセレクターを無視して独自のセレクターを適用する WebKit など、動作が異なります。
  • この動作を変更すると、それに依存している既存のサイトが破損する可能性があります。セレクターのハックとフィルタリング用。

したがって、無効なセレクターを含むルールを無視することで、エラー処理の一貫性が維持され、前方互換性が保証され、潜在的なレイアウトの問題が防止されます。

以上が無効なセレクターを含む CSS ルールが無効な部分を削除するだけでなく破棄されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。