Il existe une excellente alternative appelée NCSS .
Named Cascading Style Sheets est une convention de dénomination et une ligne directrice pour les CSS sémantique.
Pourquoi ?
Les CSS massifs étaient autrefois un cauchemar lorsqu'on travaillait sur des projets avec différents types de développeurs. L'absence de conventions et de lignes directrices va conduire à une boule de boue impossible à maintenir.
Objectif :
Une grammaire prévisible pour CSS qui fournit des informations sémantiques sur le modèle HTML.
- Quelles balises, composants et sections sont concernés
- Quelle est la relation d'une classe à une autre
Cours :
Les feuilles de style en cascade nommées sont divisées en :
- Espaces de noms
- Classes structurelles
- Classes de composants
- Classes de type
- Classes de modificateurs
- Classes fonctionnelles
- Exceptions
Pour en savoir plus : https://ncss.io/documentation/classes
Exemples :
<!-- header -->
<header id="header" class="foo-header">
<h1 class="foo-title-header">Website</h1>
</header>
<!-- main -->
<main class="foo-main foo-wrapper">
<!-- content -->
<article id="content" class="foo-content">
<h2 class="foo-title-content">Headline</h2>
<div class="foo-box-content">Box</div>
</article>
<!-- sidebar -->
<aside id="sidebar" class="foo-sidebar">
<h3 class="foo-title-sidebar">Headline</h3>
<p class="foo-text-sidebar">Text</p>
</aside>
</main>
<!-- footer -->
<footer id="footer" class="foo-footer">
<div class="foo-box-footer">Powered by NCSS</div>
</footer>
Pour en savoir plus : https://ncss.io/documentation/examples
Outils :
Installation :
npm install ncss-linter
Valider une chaîne HTML :
bin/ncss-linter --html='<div class="box-content"></div>'
Valider un chemin local :
bin/ncss-linter --path=templates/**/*.html --namespace=foo
Valider une URL distante :
bin/ncss-linter --url=https://redaxmedia.com --namespace=rs --log-level=info
Pour en savoir plus : https://ncss.io/documentation/tools