Bonjour,
A propos du nesting récemment pris en charge par CSS et les navigateurs, j'ai un logo avec la classe ".logo-nav" qui est un lien sur les pages du site, mais une div sur la page d'accueil. Dans mes styles j'ai fait du nesting pour ce composant comme pour tous les autres, mais je me retrouve coincé à un endroit, je n'arrive pas à fusionner les deux ensembles.
Pour commencer voici l'exemple qui fonctionne avec deux ensembles de règles imbriquées :
Pour lier ces deux ensembles j'ai tenté quelque chose comme ceci (qui ne marche pas mais pour vous donner l'idée recherchée) :
J'ai une question subsidiaire, elle concerne SASS : l'imbrication des règles CSS va considérablement alléger le poids des pages en évitant toute redondance des sélecteurs... si l'on n'utilise pas un préprocesseur du moins, car ce denier convertit tout par soucis de rétrocompatibilité. Alors ok je comprends, mais peut-on configurer la compression des fichiers de sortie dans SASS (pas pour la prod', mais pour faire des tests) ? J'ai bien peur de connaitre la réponse car je n'ai rien trouvé à ce sujet...
Modifié par Olivier C (21 Dec 2023 - 04:01)
A propos du nesting récemment pris en charge par CSS et les navigateurs, j'ai un logo avec la classe ".logo-nav" qui est un lien sur les pages du site, mais une div sur la page d'accueil. Dans mes styles j'ai fait du nesting pour ce composant comme pour tous les autres, mais je me retrouve coincé à un endroit, je n'arrive pas à fusionner les deux ensembles.
Pour commencer voici l'exemple qui fonctionne avec deux ensembles de règles imbriquées :
.logo-nav {
grid-area: logo;
display: block;
box-shadow: 0.5rem 0.5rem 0.5rem var(--colorAB2);
background-color: var(--color2);
&::after {
content: '';
display: block;
width: 100%;
height: 100%;
background-image: url('../medias/images/logo/logo.svg');
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: auto 70%;
filter: brightness(1.25) contrast(1.25);
}
}
a.logo-nav:where(:focus-within, :hover) {
background-color: var(--color5);
&::after {
animation: anim-logo 0.5s ease-in-out;
}
}
Pour lier ces deux ensembles j'ai tenté quelque chose comme ceci (qui ne marche pas mais pour vous donner l'idée recherchée) :
.logo-nav {
grid-area: logo;
display: block;
box-shadow: 0.5rem 0.5rem 0.5rem var(--colorAB2);
background-color: var(--color2);
&::after {
content: '';
display: block;
width: 100%;
height: 100%;
background-image: url('../medias/images/logo/logo.svg');
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: auto 70%;
filter: brightness(1.25) contrast(1.25);
}
&a:where(:focus-within, :hover) { /* <-- nop... */
background-color: var(--color5);
&::after {
animation: anim-logo 0.5s ease-in-out;
}
}
}
J'ai une question subsidiaire, elle concerne SASS : l'imbrication des règles CSS va considérablement alléger le poids des pages en évitant toute redondance des sélecteurs... si l'on n'utilise pas un préprocesseur du moins, car ce denier convertit tout par soucis de rétrocompatibilité. Alors ok je comprends, mais peut-on configurer la compression des fichiers de sortie dans SASS (pas pour la prod', mais pour faire des tests) ? J'ai bien peur de connaitre la réponse car je n'ai rien trouvé à ce sujet...
Modifié par Olivier C (21 Dec 2023 - 04:01)