recherche
Maisoninterface Webtutoriel CSSMaîtriser les préprocesseurs CSS : un guide sur Sass, Less et Stylus

Hola, apprenants CSS ! Bienvenue dans notre petit coin !?

Introduction

Préprocesseurs comme Sass, Less et Stylus peuvent transformer la façon dont vous écrivez des styles, en introduisant des fonctionnalités telles que les variables, l'imbrication, les mixins, etc. Il ne s'agit pas de CSS en soi, mais d'outils qui se compilent en CSS, offrant une approche plus puissante et plus maintenable du style. Approfondissons ces outils magiques.

Qu'allez-vous apprendre dans cet article ?

  • Comprendre les préprocesseurs : Leur essence et comment ils améliorent le CSS.

  • Fonctionnalités avancées : Aller au-delà des bases avec des boucles, des conditions et une imbrication plus complexe.

  • Choisir votre préprocesseur : Une comparaison plus détaillée incluant le support et les outils de la communauté.

  • Exemples pratiques : Démonstration de cas d'utilisation avancés avec des explications détaillées.

  • Bonnes pratiques : Conseils pour utiliser efficacement les préprocesseurs.

  • Ressources : Où aller ensuite pour continuer à apprendre.

Que sont les préprocesseurs CSS ?

Les préprocesseurs CSS étendent le langage CSS en ajoutant des fonctionnalités qui permettent des feuilles de style plus modulaires, lisibles et maintenables. Ils se compilent en CSS standard, qui est ensuite utilisé par les navigateurs.

Principales fonctionnalités des préprocesseurs CSS

Variables : Les variables vous permettent de stocker les informations que vous souhaitez réutiliser et modifier facilement.

Exemple en Sass (SCSS) :

$primary-color: #3498db;

body {
    background-color: $primary-color;
}

Ici, $primary-color est défini une seule fois et utilisé dans toute la feuille de style. Si la couleur doit changer, vous la mettez à jour uniquement à un seul endroit.

? Au fait, voici un excellent article sur la différence entre Sass et SCSS.

Imbrication : L'imbrication vous permet de regrouper des styles associés, rendant votre CSS plus lisible.

Exemple en moins :

.nav {
    background-color: #f2f2f2;
    ul {
        list-style: none;
        padding: 0;
        li {
            display: inline-block;
            a {
                color: #333;
                text-decoration: none;
            }
        }
    }
}

Cela imbrique les styles pour .nav, ses éléments ul, li et a, en gardant les styles associés ensemble.

Mixins : Les mixins sont des classes réutilisables ou un ensemble de propriétés qui peuvent être incluses dans d'autres sélecteurs.

Exemple dans le stylet :

(Remarque : Oui, c'est Stylus, pas SCSS, mais comme nous n'avions pas cette option, j'ai craqué pour SCSS)

border-radius(n)
    -webkit-border-radius n
    -moz-border-radius n
    border-radius n

.button
    border-radius(5px)

Le mixin border-radius est défini avec un paramètre n. La classe .button utilise ce mixin, en appliquant le même rayon de bordure pour différents préfixes de navigateur.

Fonctions : Les fonctions peuvent générer du CSS de manière dynamique.

Exemple en Sass (SCSS)

@function pxToEm($px, $base: 16px) {
    @return ($px / $base) * 1em;
}

body {
    font-size: pxToEm(14);
}

Cette fonction convertit les pixels en ems, ce qui facilite le maintien d'une typographie cohérente sur différentes tailles de police de base.

Importations : Les importations vous permettent de diviser le CSS en plusieurs fichiers pour une meilleure organisation.

Exemple en moins :

$primary-color: #3498db;

body {
    background-color: $primary-color;
}

Le fichier de variables est importé dans le fichier principal, permettant l'utilisation de @link-color si nécessaire.

?Remarque : vous pouvez utiliser codepen.io pour vérifier les résultats des exemples ci-dessus et expérimenter davantage avec le code !

Cas d'utilisation pratiques

Conception adaptative - Sass (SCSS*) Exemple :*

.nav {
    background-color: #f2f2f2;
    ul {
        list-style: none;
        padding: 0;
        li {
            display: inline-block;
            a {
                color: #333;
                text-decoration: none;
            }
        }
    }
}

L'utilisation de variables pour les points d'arrêt rend la conception réactive plus gérable et cohérente.

Résultat :

Mastering CSS Preprocessors: A Guide to Sass, Less, and Stylus

Thème - Moins d'exemple :

border-radius(n)
    -webkit-border-radius n
    -moz-border-radius n
    border-radius n

.button
    border-radius(5px)

Le thème peut être facilement changé en modifiant la variable @theme, qui applique ensuite les styles de thème correspondants.

Résultat :

Mastering CSS Preprocessors: A Guide to Sass, Less, and Stylus

Fonctionnalités avancées des préprocesseurs CSS

Boucles pour la répétition : Les boucles vous permettent de parcourir des listes ou des cartes, réduisant ainsi la répétition en générant dynamiquement du CSS.

Exemple en Sass (SCSS) :

@function pxToEm($px, $base: 16px) {
    @return ($px / $base) * 1em;
}

body {
    font-size: pxToEm(14);
}

Ici, une boucle crée des classes pour différentes tailles de police sans écrire chaque règle manuellement. Cette boucle génère trois classes avec des tailles de police différentes, montrant comment les boucles peuvent réduire la répétitivité dans votre CSS.

Conditions pour les styles dynamiques : Les conditions vous permettent d'appliquer des styles en fonction de certaines conditions, rendant votre CSS plus dynamique.

Exemple en moins :

// _variables.less
@link-color: blue;

// main.less
@import "_variables.less";

a {
    color: @link-color;
}

À l'aide des conditions, vous pouvez appliquer différents styles en fonction de la valeur d'une variable, ce qui est parfait pour créer des composants dynamiques. Dans cet exemple, l'apparence de l'alerte change selon que @type est une alerte ou non.

Référencement du sélecteur parent : Le référencement du sélecteur parent vous permet de modifier ou d'étendre avec élégance le sélecteur du parent dans des règles imbriquées.

Exemple dans le stylet :

(Remarque : Oui, c'est Stylus, pas SCSS, mais comme nous n'avions pas cette option, j'ai craqué pour SCSS)



    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Container Example</title>
    <link rel="stylesheet" href="styles.css">


    <div>





<pre class="brush:php;toolbar:false">$breakpoint-sm: 576px;
$breakpoint-md: 768px;

.container {
    width: 100%;

    @media (min-width: $breakpoint-sm) {
        width: 540px;
    }

    @media (min-width: $breakpoint-md) {
        width: 720px;
    }
}

Cet exemple de stylet montre comment appliquer des styles au parent, à son état de survol et aux éléments imbriqués de manière concise. Il montre également comment vous pouvez référencer le sélecteur parent avec & ou l'utiliser dans des instructions conditionnelles pour les règles imbriquées.

Opérations mathématiques : Les préprocesseurs permettent des opérations mathématiques dans CSS, vous permettant de calculer dynamiquement des valeurs telles que les largeurs de grille.

Exemple en Sass (SCSS) :

$primary-color: #3498db;

body {
    background-color: $primary-color;
}

Cet exemple utilise les mathématiques pour définir une largeur basée sur un système de grille.

Avancé ~ Cas d'utilisation pratique

Thème complexe - Exemple Sass (SCSS) :

.nav {
    background-color: #f2f2f2;
    ul {
        list-style: none;
        padding: 0;
        li {
            display: inline-block;
            a {
                color: #333;
                text-decoration: none;
            }
        }
    }
}

Le code ci-dessus montre comment créer et appliquer des thèmes de manière dynamique à l'aide d'une carte et d'une boucle, permettant un changement de thème facile.

Résultat :

Mastering CSS Preprocessors: A Guide to Sass, Less, and Stylus

Utilitaires réactifs - Moins d'exemple :

border-radius(n)
    -webkit-border-radius n
    -moz-border-radius n
    border-radius n

.button
    border-radius(5px)

Cela crée des classes d'utilitaires pour différentes tailles de titre, montrant comment vous pouvez générer facilement des utilitaires réactifs.

Résultat :

Mastering CSS Preprocessors: A Guide to Sass, Less, and Stylus

Choisir un préprocesseur

  • Sass (avec la syntaxe SCSS) est largement utilisé, dispose d'excellents outils et est souvent considéré comme plus puissant en raison de ses fonctionnalités.

  • Sass est robuste avec des fonctionnalités puissantes comme la directive @extend pour hériter des styles, et il est largement pris en charge avec des outils comme Compass.

  • Less est connu pour sa simplicité et sa similitude avec CSS, ce qui en fait une introduction douce au prétraitement.

  • Less dispose d'un compilateur basé sur JavaScript, ce qui est avantageux pour la compilation dans le navigateur pour le développement.

  • Stylus offre une syntaxe très flexible, dans laquelle vous pouvez choisir d'indenter au lieu d'utiliser des crochets, ce qui la rend plus lisible pour certains développeurs.

Bonnes pratiques d'utilisation des préprocesseurs

  • CSS modulaire : Divisez vos styles en modules ou partiels logiques et réutilisables.

  • Éviter l'imbrication profonde : Bien que l'imbrication soit puissante, une trop grande quantité peut conduire à un CSS complexe et difficile à remplacer.

  • Utiliser des variables : Pour les couleurs, les tailles ou toute valeur que vous pourriez avoir besoin de modifier sur l'ensemble du site.

  • Mixins avec modération : utilisez-les pour des modèles courants, mais méfiez-vous de leur utilisation excessive, qui peut gonfler votre CSS s'il n'est pas compilé efficacement.

  • Linting : utilisez des outils comme stylelint pour vous assurer que le code de votre préprocesseur suit les meilleures pratiques.

Ressources pour un apprentissage ultérieur

Sass :

  • Documentation officielle  : Le meilleur point de départ pour comprendre la syntaxe et les fonctionnalités de Sass.

  • Formation Sass avancée  : Conseils et bonnes pratiques pour utiliser Sass dans des projets du monde réel.

  • Aire de jeux  : Un terrain de jeu Sass en ligne pour tester et partager des extraits de code Sass.

Moins :

  • Documentation officielle  : Découvrez toutes les fonctionnalités Moins d'offres.

  • Less Hat  : Une collection de mixins et de fonctions pour Less, utile pour les tâches CSS courantes. Veuillez noter que ce projet n'est pas activement maintenu.

  • Aire de jeux  : Testez Moins de code dans votre navigateur.

Stylet :

  • Documentation officielle  : Plongez en profondeur dans les fonctionnalités de Stylus.

  • Tutoriel Stylet : Apprendre le stylet - Guide étape par étape pour les utilisateurs débutants à intermédiaires.

  • Stylus REPL  : Un environnement interactif pour essayer le code Stylus.

Préprocesseurs CSS généraux :

  • Astuces CSS  : Divers articles sur les préprocesseurs avec des exemples pratiques.

  • Smashing Magazine  : Articles approfondis sur les techniques de prétraitement CSS.

  • Codeacademy  : Propose des cours interactifs sur le préprocesseur CSS.

Outils et intégrations :

  • Prepros  : Un outil GUI pour compiler des préprocesseurs, avec actualisation du navigateur en direct.

  • Webpack avec chargeurs : Pour intégrer des préprocesseurs dans votre pipeline de build.

  • Koala  : Une application GUI multiplateforme open source pour compiler moins, insolent. Koal est l'un de mes favoris, mais veuillez noter que le projet de Koala est archivé et n'est pas activement maintenu.

Conclusion

Les préprocesseurs CSS comme Sass, Less et Stylus ne servent pas seulement à écrire du CSS ; il s'agit d'écrire du CSS plus intelligent et plus maintenable. Ils introduisent un niveau d'abstraction qui permet des feuilles de style plus propres et plus organisées, et offrent aux développeurs des fonctionnalités que CSS ne fournit pas à lui seul. En utilisant des variables, de l'imbrication, des mixins et d'autres fonctionnalités avancées, vous pouvez améliorer considérablement votre productivité et l'évolutivité de vos projets.

N'oubliez pas que le choix entre Sass, Less ou Stylus n'est pas seulement une question de fonctionnalité, mais également de préférence de flux de travail, de support communautaire et d'intégration d'outils. Au fur et à mesure que vous évoluez avec ces outils, vous constaterez qu'ils accélèrent non seulement votre processus de développement, mais ouvrent également de nouvelles possibilités en matière de conception et d'architecture CSS.

Alors plongez et expérimentez ces préprocesseurs. Continuez à apprendre, continuez à coder, et que vos feuilles de style soient toujours modulaires et efficaces ! ?


? Bonjour, je m'appelle Eleftheria, Community Manager, développeur, conférencière et créatrice de contenu.

? Si vous avez aimé cet article, pensez à le partager.

? Tous les liens | X | LinkedIn

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Comment nous avons tagué Google Fonts et créé des goofont.comComment nous avons tagué Google Fonts et créé des goofont.comApr 12, 2025 pm 12:02 PM

Goofonts est un projet parallèle signé par un développeur-femme et un concepteur-mari, tous deux de grands fans de typographie. Nous avons marqué Google

Articles de développement Web intemporelsArticles de développement Web intemporelsApr 12, 2025 am 11:44 AM

Pavithra Kodmad a demandé aux gens des recommandations sur ce qu'ils pensaient être certains des articles les plus intemporels sur le développement Web qui ont changé

L'accord avec l'élément de sectionL'accord avec l'élément de sectionApr 12, 2025 am 11:39 AM

Deux articles ont publié exactement le même jour:

Pratiquez des requêtes GraphQL avec l'API de l'état de JavaScriptPratiquez des requêtes GraphQL avec l'API de l'état de JavaScriptApr 12, 2025 am 11:33 AM

Apprendre à créer des API GraphQL peut être assez difficile. Mais vous pouvez apprendre à utiliser les API GraphQL en 10 minutes! Et il se trouve que je suis parfait

CMSS au niveau des composantsCMSS au niveau des composantsApr 12, 2025 am 11:09 AM

Lorsqu'un composant vit dans un environnement où les données interrogent les données qui vivent à proximité, il y a une ligne assez directe entre le composant visuel et le

Définissez le type sur un cercle ... avec chemin de décalageDéfinissez le type sur un cercle ... avec chemin de décalageApr 12, 2025 am 11:00 AM

Ici, une rotation CSS légitime de Yuanchuan. Il y a ce chemin de décalage de la propriété CSS. Il était une fois, il s'appelait le chemin de mouvement, puis il a été renommé. je

What does "revert" do in CSS?What does "revert" do in CSS?Apr 12, 2025 am 10:59 AM

Miriam Suzanne explique dans une vidéo de développeur de Mozilla sur le sujet.

Les amoureux modernesLes amoureux modernesApr 12, 2025 am 10:58 AM

J'adore les trucs comme ça.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire