Bonjour,
Les 2 : techno ou framework ou système de design ET CSS en complément.
L'un et l'autre ne s'excluent pas, dans la pratique en tout cas.
En travaillant sur un projet avec Tailwind où les maquettes avaient été créées sans tenir compte de ce détail (par une personne extérieure), j'ai eu à écrire pour 2% des styles des sélecteurs ultra-complexes et j'étais bien content de maîtriser CSS. Tailwind était bien adapté pour 98% des styles mais pas 100%.
Sur la refonte d'un site public devant à présent appliquer le
Système de Design de l’État (DSFR), il y a des différences et des particularités pas prévues par le DSFR : là aussi CSS est complémentaire et mieux vaut savoir à quoi ressemblent les bibliothèques de composants en général et pouvoir décortiquer/analyser DSFR pour selon les cas écraser des styles, créer une variante, faire autre chose, etc sans insulter l'avenir (si le client a un besoin d'évolution dans quelques temps, il y a de fortes chances que ce soit moi qui m'en occupe... donc autant faire gaffe maintenant. Je suis pas maso enfin si mais pas à ce point !)
@layer est un outil CSS qui permet de faire cohabiter frameworks et autres dans un projet.
Les animations CSS sont bien plus légères que JS - quand elles restent simples - et ça se trouve pas dans un framework.
Pas mal de nouvelles propriétés CSS ont été implémentées pour remplacer des choses qu'on faisait en JS (ou nécessitent 10 fois moins de lignes de JS). Il y a même du HTML qui remplace du JS (dialog, summary/details, popover, ...).
D'un autre côté un framework simplifie le dév d'un site et sa maintenance, son évolution. Enfin pas tous mais ceux-là je ne les utiliserai pas