alsacreations / KNACSS

feuille de styles CSS sur-vitaminée
http://www.knacss.com
Do What The F*ck You Want To Public License
554 stars 116 forks source link

Refondre les classes utilitaires #311

Closed raphaelgoetter closed 3 years ago

raphaelgoetter commented 5 years ago

ping @PhilippeVay

PhilippeVay commented 5 years ago

Note générale : je me sers de moins en moins de classes utilitaires au profit d'une approche par composants, façon :

/* components/_components.scss */
.component {
  .component-item {
    list-style-type: none;
    text-align: right;
  }
}

En plus de ça, inline-block et flottants sont de moins utiles, remplacés avantageusement par Flexbox voire Grid qui permettent en plus un meilleur alignement dans les 2 directions…

Dans ce qui suit (commentaires détaillés bloc par bloc), je note ✔️ pour ce dont je me suis servi ou dont je peux envisager avoir besoin.

Typo Helpers

text and contents alignment

"Hyphens" sur mobile

?

blocks that need to be placed under floats

blocks that must contain floats

simple blocks alignment

Perso le nommage ne me dit toujours rien (trop vieille habitude des flottants et je ne pense pas de cette manière cet effet-là. Je "pousse" un élément vers quelque part, je ne l'"aligne" pas).
Tant que c'est en bonne place dans la doc, OK.

Global Micro Layout

module, gains superpower "BFC" Block Formating Context

Je n'en ai plus l'utilité (mais c'était bien. 200+ gabarits avec des .mod partout, ça s'oublie pas 😃)

floating elements

Idem je n'en ai plus l'utilité. Une image flottante ce sera dans un composant relativement complexe, pas forcément dans toutes les résolutions donc stylé via CSS.

inline-block

Remplacé avantageusement par Flexbox voire Grid qui permettent en plus un meilleur alignement dans les 2 directions et n'ont pas de whitespace de 4px©

State Helpers

invisible for all

hidden but not for an assistive technology like a screen reader, Yahoo! method

Width Helpers

Je ne m'en sers plus.
.w100 et .wauto peut-être encore un peu
.w960p ou .w1140p ne correspondent plus à aucun design

Spacing Helpers

Je me sers encore des RÀZ .m(trbl)0, padding aussi et les .(mp)(trbl)sml pas du tout.
Très récemment j'ai voulu appliquer une de ces RÀZ (width ou unstyled ou spacing je ne sais plus) et c'était inactif parce qu'écrasé par une règle de ma CSS, faute d'avoir un !important. Moins je me sers de classes utilitaires et moins je peux m'en servir ? :)

KanorUbu commented 5 years ago

Je ne sais pas si ça peut rentrer dans ce sujet. Mais j'ai remarqué un problème avec les class utilitaires c'est leur position dans le fichier final. Un exemple pour être plus claire si je place la class mls sur un champs input il n'aura aucun effet car on a définit un margin à 0 dans le fichier components/_forms.scss chargé après. Je pense que ce serait bien d'avoir le chargement de _library/utilities à la fin.

raphaelgoetter commented 5 years ago

C'est tellement pertinent que je vais transformer ta demande en issue :)

raphaelgoetter commented 5 years ago

Bon, j'ai fait du ménage dans les classes utilitaires.

Au final, il en reste encore pas mal puisque il semble difficile de dire "puisqu'on n'utilise plus les width et spacer helpers chez nous, on peut les supprimer"...

À moins de séparer ces classes utilitaires de priorité 2 dans un fichier séparé que l'on pourrait ne pas importer ?

raphaelgoetter commented 3 years ago

Il fallait s'y attendre, l'histoire continue... ailleurs...

Né en 2012 et après près de 10 années de bons et loyaux services, le projet initial « KNACSS » d'Alsacréations laisse place à une toute nouvelle version, totalement remaniée : KNACSS Reborn.

Ce repo n'est plus maintenu est est dorénavant remplacé par celui de KNACSS Reborn : https://github.com/raphaelgoetter/knacss-reborn