ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS のネストされた @media ルールに対するブラウザーのサポートはどの程度一貫していますか?

CSS のネストされた @media ルールに対するブラウザーのサポートはどの程度一貫していますか?

Patricia Arquette
リリース: 2024-12-29 11:43:13
オリジナル
276 人が閲覧しました

How Consistent is Browser Support for Nested @media Rules in CSS?

CSS での @media ルールのネスト: ブラウザーのサポートと互換性

質問:

方法異なるブラウザ間での @media ルールのネストのサポートは一貫していますか?提供されたコードの表示がさまざまなブラウザーで異なるのはなぜですか?また、この不一致の背後にある理由は何ですか?これを解決して一貫したスタイルを実現できますか?

回答:

ブラウザのサポート

@media ルールのネストはサポートされていませんでした。これは、CSS2.1 での有効な慣行です。そのため、この機能のサポートはブラウザーごとに大幅に異なります。ただし、CSS Conditional 3 の導入により、@media ルールのネストは、Firefox、Safari、Chrome、Microsoft Edge を含むすべての最新ブラウザでサポートされる機能になりました。

ネストの互換性

質問で提供されているコードには、@media ルールのネストが含まれています。 CSS3 では @media ルールを他の @media ルール内にネストできますが、このネストは CSS2.1 では許可されませんでした。その結果、古いバージョンの Internet Explorer など、依然として CSS2.1 に準拠しているブラウザは、ネストされた @media ルールを正しく処理できません。

不一致の理由

Firefoxは、新しい CSS Conditional 3 仕様を実装し、ネストされた @media ルールを意図どおりに解釈して適用できるようにしました。一方、Opera、Chrome、IE9 などの他のブラウザは、ネストされた @media ルールをサポートしない古い CSS2.1 仕様に従っています。その結果、最も内側の @media ルールで定義されたスタイルを適用することになり、スタイルの不一致が生じます。

一貫性の達成

全体で一貫したスタイルを確保するにはすべてのブラウザでは、ネストされた @media ルールを削除することをお勧めします。これは、最初の @media ルール内の 2 番目の @media ルールを削除することで実行できます:

@media screen and (min-width: 480px) {
    body {
        background-color: #6aa6cc;
        color: #000;
    }

    @media screen and (min-width: 768px) {  // Remove this nested rule
        body {
            background-color: #000;
            color: #fff;
        }
    }
}
ログイン後にコピー

ネストされたルールを削除した後、スタイルは、CSS Conditional 3 および CSS2 をサポートするすべての最新ブラウザーに一貫して適用されます。 1.

以上がCSS のネストされた @media ルールに対するブラウザーのサポートはどの程度一貫していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート