Heim > Web-Frontend > CSS-Tutorial > Funktionieren verschachtelte CSS-@media-Regeln konsistent in allen Browsern?

Funktionieren verschachtelte CSS-@media-Regeln konsistent in allen Browsern?

Susan Sarandon
Freigeben: 2024-12-15 12:28:11
Original
984 Leute haben es durchsucht

Do Nested CSS @media Rules Work Consistently Across All Browsers?

Verschachtelung von @media-Regeln in CSS, überarbeitet

Die ursprüngliche Frage untersuchte die inkonsistente Darstellung eines CSS-Codeausschnitts mit verschachtelten @media-Regeln in verschiedene Browser. Hier ist eine aktualisierte Analyse basierend auf dem aktuellen Stand der Browserunterstützung:

Verschachtelte @media-Regeln in CSS3

Gemäß dem CSS-Conditional-Rules-Modul in CSS3, verschachtelte @media Regeln werden jetzt vollständig unterstützt. Die folgende Syntax ist gültig:

@media print {
  #navigation { display: none }
  @media (max-width: 12cm) {
    .note { float: none }
  }
}
Nach dem Login kopieren

Browser-Unterstützung

Moderne Browser, einschließlich Firefox, Safari, Chrome, Microsoft Edge und Opera, unterstützen jetzt verschachtelte @media Regeln wie in CSS Conditional 3 definiert. Internet Explorer unterstützt diese Funktion nicht.

Das Original Problem

Der Code in der ursprünglichen Frage zeigte verschachtelte @media-Regeln, die in allen Browsern nicht konsistent funktionierten. Dies lag an der fehlenden Unterstützung für die Verschachtelung in CSS2.1, der Spezifikation, die damals von älteren Browserversionen unterstützt wurde.

Auflösung

Für Browser, die dies tun Wenn verschachtelte @media-Regeln nicht unterstützt werden, besteht eine Problemumgehung darin, die Verschachtelung zu entfernen und mehrere @media-Regeln zu schreiben separat:

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

@media screen and (min-width: 768px) {
    body {
        background-color: #000;
        color: #fff;
    }
}
Nach dem Login kopieren

@import mit Medienbedingungen

Der Grund, warum die @import-Anweisung mit einer Medienbedingung konsistent funktionierte, lag darin, dass sie ein Stylesheet bedingt anwendet, nicht weil es die Verschachtelung innerhalb von @media-Regeln ermöglicht.

Fazit

Verschachtelt @media-Regeln werden mittlerweile gemäß der CSS Conditional 3-Spezifikation in modernen Browsern weitgehend unterstützt. Für ältere Browser, die diese Funktion nicht unterstützen, besteht eine einfache Problemumgehung darin, separate @media-Regeln zu verwenden.

Das obige ist der detaillierte Inhalt vonFunktionieren verschachtelte CSS-@media-Regeln konsistent in allen Browsern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage