Nouveauté CSS – 2023

:has()

Cette nouvelle pseudo-class, permet de mettre en page les éléments HTML selon leur contenu. Par exemple :

Pour une liste d’articles, on pourrait en avoir certains contenant une images et d’autres sans images. On pourrait alors dire au CSS, mon article à par défaut une taille de texte à 42px et par contre, si mon article comprend une balise “img” tu réduis la taille du titre à 24px. Cela permet de manière très simple d’équilibrer visuellement les articles avec ou sans images.

/!\ au 24 août 2023, il n’est pas encore compatible avec Firefox

article h2 {
     font-size: 42px;
}
article:has(img) h2 {
    font-size: 24px;
}

En savoir plus ici : MDN web docs


@container

Le @container est une nouvelle règle en CSS qui permet de mettre en forme les éléments par rapport au container parent. C’est à dire qu’aujourd’hui, on peut dire à si mon header fait moins que 400px tu executes cette mise en page, sinon tu mets les propriétés par défaut. Concrètement, en CSS ça donnerait :

   header {
       container: header / inline-size;
       display: flex;
       flex-direction: row;
   }


   /* Si la largeur du container 'header' est plus petit que 400px */

   @container header (width < 400px) {
       flex-direction: column;
   }

En savoir plus ici : MDN web docs


Transform (obsolète)

Il y a moins d’une année, le transform était encore obligatoire et depuis CSS3 nous simplifie la vie en ayant séparer chacune des valeurs “transform” en propriété unique, concrètement :

div {
    /* avant 2023 */
    transform: rotate(90deg) translate(10px, 10px) scale(2);

    /* maintenant */
    rotate: 90deg;
    translate: 10px 10px;
    scale: 2;
}

Voir : Scale // Translate // Rotate

Exercices HTML / CSS

HTML:


CSS:

https://www.w3schools.com/css/exercise.asp

Entrainer les sélécteurs CSS :

Flexbox :


Flexbox: s’y retrouver dans “shrink” “flex” & “basis”

Les flex box, c’est vraiment un superbe outil relativement simple pour afficher des éléments pour autant que les dits éléments restent de la même taille. Si par contre, l’on désire que certains de ces derniers restent souples et s’adaptent à leur contenu, cela devient plus compliqué. C’est pour cela que ces règles sur les éléments enfants ont été créées. Elles ne sont pas simples à comprendre mais cette page devrait vous aider à mieux les comprendre.

https://css-tricks.com/understanding-flex-grow-flex-shrink-and-flex-basis/

Eviter que l’éditeur de Joomla vous enlève votre code

Si vous tapez du code en mode éditeur de code dans l’éditeur de joomla, vous aurez surement constaté que ce dernier nettoie (efface) votre code dès que vous passez en mode wysiwyg, tout cela c’est pour des raison de sécurité. Si vous savez ce que vous faites et savez que le code que vous introduisez est fiable, vous pouvez désactiver cette fonction:

Tout est expliqué sous ce lien: https://www.joomlashack.com/blog/joomla/stop-joomla-from-stripping-out-code/