Grid-kiss
Un plugin PostCSS pour faire des layouts en grille ultra-simplement

Le , par SylvainPV, Rédacteur/Modérateur
Amis développeurs, je tenais à vous présenter mon dernier projet open source sorti la semaine dernière et qui a fait beaucoup réagir sur Twitter depuis.

Certains vont adorer, d'autres détester, toujours est-il qu'il est là :

Code css : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  
body { 
    grid-kiss: 
        "+-------------------------------+      " 
        "|           header ^            | 120px" 
        "+-------------------------------+      " 
        "                                       " 
        "+-- 30% ---+  +--- auto --------+      " 
        "| .sidebar |  |       main      | auto " 
        "+----------+  +-----------------+      " 
        "                                       " 
        "+-------------------------------+      " 
        "|              v                | 60px " 
        "|         > footer <            |      " 
        "+-------------------------------+      " 
}

Résultat:


Pour ceux qui ne connaissent pas PostCSS, il s'agit d'un parseur et d'un processeur de CSS, à la manière des préprocesseurs SASS/Less/Stylus, mais en beaucoup plus modulaire. C'est un peu l'équivalent de Babel en CSS.

Ce plugin de PostCSS vous permet de "dessiner" en ASCII-Art les layouts que vous souhaitez pour vos éléments, et convertira cela en un ensemble de règles CSS standard équivalentes. Il utilise de base la spécification Grid Layout, en cours d'implémentation dans les navigateurs et ne fonctionnant actuellement que sur Chrome Canary et Firefox Nightly. Mais il dispose d'une option fallback utilisant position:absolute et calc() pour amener le support à la majorité des navigateurs, y compris Internet Explorer 9 et +.

La syntaxe est aussi puissante que permissive et vous permettra de réaliser très simplement des layouts complexes, mélangeant des dimensions fixes et relatives.

Vous pouvez tester le plugin directement sur votre navigateur ici

Pour la documentation, le suivi du projet et pour mettre une 🌟, cela se passe sur Github: https://github.com/sylvainpolletvill...tcss-grid-kiss

J'attends avec impatience vos réactions, qui ont été jusqu'ici très partagées, entre les super-enthousiastes et les sceptiques.

Que pensez-vous de cette approche visuelle ?
Avez-vous des suggestions d'amélioration ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de abriotde abriotde - Membre éclairé https://www.developpez.com
le 29/11/2016 à 13:51
Bien sur d'un point de vue performances c'est surement pas génial mais les performances seront certainement améliorer quand cela se développera.

D'autres crieront que l'on ne saura plus rien faire si c'est caché automatique, que cela produit du code moche et non maitriser.... Certes mais ce n'est pas si grave si cela gagne en stabilité, puissance et performances. Aujourd'hui l'assembleur reste réservé à des cas extrème, même le C++ est jugé bas niveau par beaucoup.

L'idée est vraiment génial et mérite d'être développée et approfondi et après cela restera confidentiel ou pas.
Avatar de SylvainPV SylvainPV - Rédacteur/Modérateur https://www.developpez.com
le 29/11/2016 à 13:58
Qu'est-ce qui te laisse à penser que les performances ne sont pas géniales ? D'une part la transpilation est faite au moment du build donc non ressentie par l'utilisateur final, et d'autre part PostCSS est extrêmement rapide, comme tu peux le voir dans la playground en ligne où chaque modification entraîne une mise à jour complète et se fait en quelques millisecondes.
Avatar de mothsART mothsART - Membre régulier https://www.developpez.com
le 29/11/2016 à 23:12
Vraiment intéressant comme projet!
Un condensé de bonnes idées. J'approuve.
Çà peut sensiblement ridiculiser les grilles de projets tel que Bootstrap.
Offres d'emploi IT
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique CSS : Xavier Lecomte -