Maison > interface Web > tutoriel CSS > Maîtriser les préprocesseurs CSS : un guide sur Sass, Less et Stylus

Maîtriser les préprocesseurs CSS : un guide sur Sass, Less et Stylus

Patricia Arquette
Libérer: 2024-12-15 13:31:10
original
570 Les gens l'ont consulté

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;
}

Copier après la connexion
Copier après la connexion
Copier après la connexion

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;
            }
        }
    }
}

Copier après la connexion
Copier après la connexion
Copier après la connexion

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)

Copier après la connexion
Copier après la connexion
Copier après la connexion

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);
}

Copier après la connexion
Copier après la connexion

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;
}

Copier après la connexion
Copier après la connexion
Copier après la connexion

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;
            }
        }
    }
}

Copier après la connexion
Copier après la connexion
Copier après la connexion

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)

Copier après la connexion
Copier après la connexion
Copier après la connexion

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);
}

Copier après la connexion
Copier après la connexion

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;
}

Copier après la connexion

À 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)

<!DOCTYPE html>
<html lang="en">
<head>
    <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">
</head>
<body>
    <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;
    }
}

Copier après la connexion

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;
}

Copier après la connexion
Copier après la connexion
Copier après la connexion

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;
            }
        }
    }
}

Copier après la connexion
Copier après la connexion
Copier après la connexion

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)

Copier après la connexion
Copier après la connexion
Copier après la connexion

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal