Ces fichiers sont générés via LESS.
En théorie, style-m.css devrait avoir moins de code et avoir des styles uniquement pour les appareils mobiles que style-l.css afin de se charger plus rapidement sur les appareils mobiles.
Ce n'est pas tout à fait correct. Le styles-m.css
contient des règles CSS pour mobile et ordinateur de bureau et est donc généralement plus grand que celui styles-l.css
qui contient des règles pour ordinateur de bureau. Cependant, l'objectif est toujours le même, de cette façon, les appareils mobiles n'ont pas besoin de télécharger les règles CSS pour les appareils de bureau.
En ce qui concerne la question de savoir comment les styles peuvent être "placés" dans l'un de ces fichiers, cela se fait via les requêtes multimédias de la bibliothèque de l'interface utilisateur Magento qui aident Magento à créer ces deux fichiers à partir de vos règles MOINS.
Pour vous donner un exemple, un bloc multimédia comme le suivant serait placé styles-m
car les appareils de bureau et mobiles ont des règles dans ce bloc "en commun":
& when (@media-common = true) {
h1 {
font-size: 12px;
}
}
Un bloc de requête multimédia comme celui-ci serait pour les appareils qui ont une résolution minimale de "screen_xs", qui sont des appareils mobiles avec une résolution d'écran de 480 pixels et plus, ce qui signifie qu'il serait toujours placé styles-m
mais n'affecterait pas nécessairement tous les appareils mobiles:
.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__xs) {
h1 {
font-size: 18px;
}
}
Changer le (@extremum = 'min')
pour (@extremum = 'max')
changerait la règle à son opposé et n'affecterait donc que les appareils d'une largeur inférieure à 480 px.
Et un bloc comme celui-ci ne concernerait que les appareils de bureau et serait donc placé dedans styles-l
, car tout ce qui précède screen__m
est considéré comme un appareil de bureau (par défaut):
.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
h1 {
font-size: 24px;
}
}
Vous pouvez en savoir plus sur ces points d'arrêt dans le guide du développeur Magento .
styles-l.css
etstyles-m.css
dans notre thème?Selon la
default_head_blocks.xml
disposition du thème vierge:D'après ce que je comprends,
styles-l.css
n'est appliqué que pour les grands écrans (au-dessus de 768 px) etstyles-m.css
est appliqué tout le temps.C'est donc la raison pour laquelle il y
styles-m.css
a plus de code car il contient le code mobile ainsi que le code qui s'applique quelle que soit la largeur de l'écran.styles-l.css
contient uniquement le code pour les écrans plus grands.la source
Vous définissez cela avec vos fonctions de requête multimédia et moins de fonctions de garde. Par exemple,
& when (@media-common = true) { ... }
accédez à styles-m.css car ces styles doivent être disponibles partout.En parlant de requêtes multimédias, cela va au fichier de bureau:
.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {}
Vous voudrez peut-être consulter mes diapositives sur la façon de gérer les styles ici:
https://slidr.io/toh82/how-to-deal-with-styles-in-magento-2#1
la source