Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| cours:informatique:dev:web:simplifiez-vous-le-css-avec-sass:140_utiliser_sass [2025/08/15 10:46] – créée yoann | cours:informatique:dev:web:simplifiez-vous-le-css-avec-sass:140_utiliser_sass [2025/08/16 10:18] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 8: | Ligne 8: | ||
| + | ===== Comparez CSS et Sass ===== | ||
| + | |||
| + | Sass est un préprocesseur CSS. C’est un outil qui vous permet d’écrire du CSS, avec une syntaxe différente. | ||
| + | |||
| + | Prenons ce code CSS : | ||
| + | |||
| + | <code css> | ||
| + | .nav { | ||
| + | text-align: right; | ||
| + | } | ||
| + | |||
| + | .nav .nav__link { | ||
| + | font-size: 15px; | ||
| + | padding-left: | ||
| + | } | ||
| + | |||
| + | .nav .nav__link .nav__link--purple { | ||
| + | color: #a5b4fc; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Et si je vous dis, que grâce à Sass, on pourrait le réécrire comme ceci : | ||
| + | |||
| + | <code sass> | ||
| + | .nav { | ||
| + | text-align: right; | ||
| + | .nav__link { | ||
| + | font-size: 15px; | ||
| + | padding-left: | ||
| + | .nav__link--purple { | ||
| + | color: #a5b4fc; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Oubliez la syntaxe pour le moment, on y viendra. Observez plutôt la façon dont le **code est imbriqué**. En le lisant, on comprend que '' | ||
| + | |||
| + | Pourquoi on ne code pas directement comme ça, alors ? | ||
| + | |||
| + | Coder en utilisant une syntaxe plus cohérente c’est bien pratique, le souci c’est que les navigateurs sont incapables d’utiliser Sass en l’état. Pour ça, il vous faut un bon vieux fichier CSS classique... La solution ? Votre code doit être compilé ! | ||
| + | |||
| + | Une seconde... compi… quoi ? 🤔 | ||
| + | |||
| + | La compilation est un processus qui vous permet de transformer Sass en CSS traditionnel. Voyez ça comme une traduction : la compilation sert à traduire le code Sass en CSS afin que les navigateurs puissent les lire et les utiliser. | ||
| + | |||
| + | Mais attends, du coup on va devoir tout réécrire en Sass dans un fichier .sass ?! | ||
| + | |||
| + | Oh que non ! Sass fonctionne très bien avec le CSS. Copiez votre CSS et collez-le dans un fichier '' | ||
| + | |||
| + | |||
| + | ===== Analysez la syntaxe ===== | ||
| + | |||
| + | Pour utiliser Sass, il est important d’apprendre à maîtriser sa **syntaxe**, | ||
| + | |||
| + | La syntaxe '' | ||
| + | |||
| + | |||
| + | En “.scss”, | ||
| + | |||
| + | <code sass> | ||
| + | .nav { | ||
| + | text-align: right; | ||
| + | .nav__link { | ||
| + | font-size: 15px; | ||
| + | padding-left: | ||
| + | .nav__link--purple { | ||
| + | color: #a5b4fc; | ||
| + | |||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Et en .sass , ce serait : | ||
| + | |||
| + | <code sass> | ||
| + | .nav | ||
| + | text-align: right | ||
| + | | ||
| + | .nav__link | ||
| + | font-size: 15px | ||
| + | padding-left: | ||
| + | |||
| + | .nav__link--purple | ||
| + | color: #a5b4fc; | ||
| + | </ | ||
| + | |||
| + | |||
| + | Le SCSS ressemble beaucoup à du CSS normal, tandis que le '' | ||
| + | |||
| + | < | ||
| + | Entre nous, il est assez rare que vous tombiez sur du '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Découvrez les fonctionnalités de Sass ===== | ||
| + | |||
| + | Sass nous donne accès à de nombreuses fonctionnalités pour optimiser et structurer encore plus notre code. | ||
| + | |||
| + | ==== Le nesting ==== | ||
| + | |||
| + | Nous aavons déjà utilisé le nesting : cela consiste à placer un sélecteur dans un autre sélecteur. Voyez par vous-même : | ||
| + | |||
| + | <code sass> | ||
| + | .nav { | ||
| + | text-align: right; | ||
| + | .nav__link { | ||
| + | font-size: 15px; | ||
| + | padding-left: | ||
| + | .nav__link--purple { | ||
| + | color: #a5b4fc; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Les variables ==== | ||
| + | |||
| + | Les variables vous permettent de **stocker des valeurs répétées fréquemment**, | ||
| + | |||
| + | <code sass> | ||
| + | $main-color: | ||
| + | |||
| + | .header { | ||
| + | background-color: | ||
| + | } | ||
| + | |||
| + | .footer { | ||
| + | background-color: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Ce qui nous donne en CSS : | ||
| + | |||
| + | <code css> | ||
| + | .header { | ||
| + | background-color: | ||
| + | } | ||
| + | |||
| + | .footer { | ||
| + | background-color: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Les mixins ==== | ||
| + | |||
| + | Si les variables vous permettent de stocker des valeurs, les mixins stockent plusieurs valeurs ! | ||
| + | |||
| + | <code sass> | ||
| + | mixin shadow { | ||
| + | text-shadow: | ||
| + | } | ||
| + | |||
| + | .nav { | ||
| + | color: white; | ||
| + | @include shadow; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Ce qui nous donnera en CSS : | ||
| + | |||
| + | <code css> | ||
| + | nav { | ||
| + | color: white; | ||
| + | text-shadow: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Il existe de nombreuses fonctionnalités Sass à découvrir. Mais le but de ce cours étant de vous faire découvrir et pratiquer Sass, et non de vous aider à maîtriser toutes ses fonctionnalités. Nous ne les aborderons donc pas toutes. En revanche, si vous êtes intéressé, | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | </ | ||
| + | |||
| + | Sur CodePen, nous avons prédéfini SCSS comme préprocesseur par défaut, seulement lorsque vous créez ou utilisez un pen, aucun préprocesseur n’est présélectionné. Si vous souhaitez pratiquer librement, vous pouvez définir Sass ou SCSS comme préprocesseur à utiliser. Cliquez sur l’icône paramètres. ⚙️ | ||
| + | |||
| + | Sélectionnez Sass ou SCSS, puis cliquez sur le bouton Save & Close en bas de la page. | ||
| + | |||
| + | {{config_codepen.png}} | ||
| + | |||
| + | Définir SCSS ou Sass comme préprocesseur sur Codepen | ||
| + | |||
| + | |||
| + | ===== En résumé ===== | ||
| + | |||
| + | * Les préprocesseurs CSS vous permettent d’imbriquer votre code (on appelle ça le nesting) pour créer une hiérarchie plus facile à lire, et regrouper des morceaux de code entre eux. | ||
| + | * Il existe plein de préprocesseurs, | ||
| + | * La syntaxe '' | ||
| + | * La syntaxe | ||
| + | * On peut utiliser du code CSS préexistant dans Sass en l’intégrant dans un fichier '' | ||
| + | * Le code Sass doit être compilé en CSS pour que les navigateurs puissent le lire et l’utiliser. | ||
| + | |||
| + | Il est temps de faire un point et de revenir sur tout ce que vous avez appris avec le quiz de fin de section ! Je vous retrouve dans la partie suivante où nous utiliserons Sass pour optimiser votre code. | ||