Comments (14)
Un vaste débat également ;)
Voilà mon humble avis perso sur le sujet.
Il existe trois versions de KNACSS :
- version classique CSS
- version LESS
- version Sass
... et ces versions correspondent à deux types de publics :
- un public non averti, qui a utiliser la version CSS sans trop toucher au code fourni
- un public averti aux préprocesseurs
J'estime que le public averti aux préprocesseurs l'est également sur d'autres outils courants de workflow, et dispose déjà d'outils qui de toute façon se chargent des préfixes, entre autre.
from knacss.
J'estime que le public averti aux préprocesseurs l'est également sur d'autres outils courants de workflow, et dispose déjà d'outils qui de toute façon se chargent des préfixes, entre autre.
C'est une supposition bien hâtive. Au delà de ça, on peut être averti sans pour autant être utilisateur. Autoprefixer n'est pas un standard, et ne convient pas à tous les workflows.
from knacss.
C'est aussi surtout parce qu'en terme d'allègement de code, et donc de lisibilité et de maintenabilité, la différence est flagrante.
EDIT : et au final, (autre supposition), je prévois que les préfixes vont disparaître un jour, donc autant s'y préparer dès aujourd'hui en écrivant du code propre et laisser faire le boulot aux outils dont c'est le boulot ;)
from knacss.
Le framework est là pour faciliter la tâche aux développeurs qui l'utilisent, pas au développeur qui le maintient.
Je viens de repasser sur l'ensemble du projet, il y a 4 déclarations nécessitant des préfixes : text-size-adjust
, filter
, flexbox, et appearance
. Je pense que côté maintenabilité, c'est jouable.
from knacss.
Le framework est là pour faciliter la tâche aux développeurs qui l'utilisent, pas au développeur qui le maintient.
Oui, par "maintenabilité", je parlais bien de la maintenabilité du code pour les intégrateurs, leur équipe, leurs stagiaires, etc. : plus le code est court, simple et lisible, plus il est aisé de le maintenir au cours d'un projet.
Je rappelle que - contrairement aux usines à gaz telles que Bootstrap, Foundation et compagnie - KNACSS est volontairement léger et doit être adapté et enrichi par les intégrateurs. On ne le laisse pas tel quel normalement.
from knacss.
Ce que je vois, c'est qu'un utilisateur de KNACSS qui a le malheur de ne pas intégrer Autoprefixer dans son workflow va devoir faire ça dans une de ses feuilles de styles :
/* KNACSS fix */
html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
@media print {
img {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-grayscale(100%);
}
}
.flex {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
.flex-fluid {
-webkit-box-flex: 1;
-moz-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.flex-mid {
-webkit-box-ordinal-group: 1;
-moz-box-ordinal-group: 1;
-ms-flex-order: 1;
-webkit-order: 1;
order: 1;
}
.flex-start {
-webkit-box-ordinal-group: -1;
-moz-box-ordinal-group: -1;
-ms-flex-order: -1;
-webkit-order: -1;
order: -1;
}
.flex-mid {
-webkit-box-ordinal-group: 1;
-moz-box-ordinal-group: 1;
-ms-flex-order: 1;
-webkit-order: 1;
order: 1;
}
.flex-end {
-webkit-box-ordinal-group: 42;
-moz-box-ordinal-group: 42;
-ms-flex-order: 42;
-webkit-order: 42;
order: 42;
}
Et là, tu te dis que le mainteneur aurait quand même pu s'occuper de faire ça, parce que c'est aussi le rôle du framework que d'épargner ça au développeur.
from knacss.
Ce que je vois, c'est qu'un utilisateur de KNACSS [...]
L'utilisateur de KNACSS version préprocesseurs, oui.
Pas l'utilisateur novice qui utilise KNACSS en version CSS.
from knacss.
L'utilisateur de KNACSS version préprocesseurs, oui.
Tu pars du principe qu'un mec qui utilise LESS ou Sass va forcément utiliser Autoprefixer. Où as-tu été chercher cette idée ?
from knacss.
Pas forcément Autoprefixer, mais tous les autres très nombreux outils qu'on a a disposition pour préfixer (ça peut aussi être Grunt, Brunch, Gulp, Prepros, etc.).
from knacss.
Je suis OK avec la décision de devoir utiliser Autoprefixer si on utilise une version préprocesseur de KNACSS (LESS en tout cas) mais ce qui me dérange malgré tout c'est que je n'ai aucune idée de ce que fait ce plugin et comment le configurer (la responsabilité m'en revient ceci dit ; n'ayant pas creusé ce que faisait Prepros), comment je pourrais ré-obtenir exactement la même chose que la version CSS à partir de la version LESS (edit: s/CSS/LESS) parce que la méthode exacte n'est documentée nulle part. Le fait qu'il faille ajouter les préfixes qui vont bien n'est évoqué que dans le tutoriel, pas ici sur GitHub ni sur la page d'accueil de knacss.com ni sur la page du builder … et sans plus de détail donc
… mais c'est peut-être une autre Issue que celle-ci ?
from knacss.
Donc du coup ? Tu as tranché là dessus Raphaël ?
from knacss.
Le fait qu'il faille ajouter les préfixes qui vont bien n'est évoqué que dans le tutoriel, pas ici sur GitHub ni sur la page d'accueil de knacss.com ni sur la page du builder … et sans plus de détail donc
Corrigé, c'est précisé aussi sur la page Github
Donc du coup ? Tu as tranché là dessus Raphaël ?
Oui tranché. Pas de préfixes sur les versions pré-processées. Uniquement sur les versions CSS classiques
from knacss.
Il reste des préfixes : https://github.com/raphaelgoetter/KNACSS/blob/master/sass/01-base.scss#L55.
from knacss.
Oui, c'est ceux où je ne suis pas sûr que des outils comme Autoprefixer les prenne en charge.
Il me semble que text-size-adjust est propriétaire, non ?
EDIT : oui c'est propriétaire : https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust
from knacss.
Related Issues (20)
- grid-template-columns: repeat(21fr); }
- grid-template-columns: repeat(21fr); }
- grid-template-columns: repeat(21fr); } HOT 6
- Charger les classes utilitaires plus tard HOT 1
- Gulp 3.9 - Gulp 4 HOT 3
- Améliorations de Grillade HOT 4
- Select multiple affiche l'icone du select simple HOT 4
- Dernière version stable : 7.1.0, 7.1.1 ou 7.1.2 ? HOT 2
- .grid ou .grillade ? HOT 3
- ReferenceError: primordials is not defined HOT 6
- Question autour de l'imbrication d'éléments de grille HOT 2
- !global assignment depreciation HOT 1
- Où se trouve la documentation ? HOT 1
- knacss.com devrait rediriger vers https://www.knacss.com/ HOT 1
- Priorité des breakpoints dans les classes utilitaires HOT 2
- Grillade, soucis de priorités des breakpoints HOT 6
- Exemple de la documentation HOT 4
- Knacss-Reborn overwrites my own css HOT 4
- bigger or larger HOT 1
- col-span-full HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from knacss.