Diese Dateien werden durch WENIGER generiert.
Theoretisch sollte style-m.css weniger Code haben und Stile nur für mobile Geräte als style-l.css haben, um schneller auf mobile Geräte geladen zu werden.
Dies ist nicht ganz richtig. Das styles-m.css
enthält CSS-Regeln für Mobilgeräte und Desktops und ist daher im Allgemeinen größer als das, styles-l.css
was Regeln für den Desktop enthält. Das Ziel ist jedoch immer noch dasselbe. Auf diese Weise müssen mobile Geräte keine CSS-Regeln für Desktop-Geräte herunterladen.
In Bezug auf die Frage, wie Stile in einer dieser Dateien "platziert" werden können, erfolgt dies über die Medienabfragen der Magento UI-Bibliothek, mit denen Magento diese beiden Dateien aus Ihren WENIGEREN Regeln erstellen kann.
Um Ihnen ein Beispiel zu geben, wird ein Medienblock wie der folgende eingefügt, styles-m
da sowohl Desktop- als auch Mobilgeräte Regeln in diesem Block "gemeinsam" haben:
& when (@media-common = true) {
h1 {
font-size: 12px;
}
}
Ein solcher Medienabfrageblock wäre für Geräte mit einer Mindestauflösung von "screen_xs" gedacht, bei denen es sich um mobile Geräte mit einer Bildschirmauflösung von 480px und mehr handelt. Dies bedeutet, dass er weiterhin platziert wird, styles-m
aber nicht unbedingt alle mobilen Geräte betrifft :
.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__xs) {
h1 {
font-size: 18px;
}
}
Durch Ändern von (@extremum = 'min')
to (@extremum = 'max')
wird die Regel in die entgegengesetzte Richtung geändert, sodass nur Geräte mit einer Breite von weniger als 480 Pixel betroffen sind.
Und ein Block wie dieser würde nur Desktop-Geräte betreffen und somit platziert werden styles-l
, da alles 'oben' screen__m
(standardmäßig) als Desktop-Gerät betrachtet wird:
.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
h1 {
font-size: 24px;
}
}
Weitere Informationen zu diesen Haltepunkten finden Sie im Magento-Entwicklerhandbuch .
styles-l.css
undstyles-m.css
in unserem Thema?Entsprechend dem
default_head_blocks.xml
im leeren Themenlayout:styles-l.css
Soweit ich weiß , wird es nur für große Bildschirme (über 768px)styles-m.css
angewendet und wird ständig angewendet.Das ist der Grund, warum Sie
styles-m.css
mehr Code haben sollten, da dieser sowohl den mobilen Code als auch den Code enthält, der unabhängig von der Bildschirmbreite gilt.styles-l.css
enthält nur den Code für größere Bildschirme.quelle
Sie definieren dies mit Ihren Medienabfragefunktionen und weniger Schutzfunktionen.
& when (@media-common = true) { ... }
Gehen Sie zum Beispiel zu styles-m.css, da diese Stile überall verfügbar sein sollten.Bei Medienabfragen geht dies zur Desktop-Datei:
.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {}
Vielleicht möchten Sie in meinen Folien nachsehen, wie Sie mit Stilen umgehen:
https://slidr.io/toh82/how-to-deal-with-styles-in-magento-2#1
quelle