Table des matières
Grammaire
Exemple 1 (Utilisation de base de la directive @extend)
Sortie
Exemple 2 (chaîne d'héritage utilisant la directive @extend)
Exemple 3 (héritage multiple utilisant la directive @extend)
Exemple 4 (utilisation de la directive @extend dans la directive @media)
Exemple 5 (Sélecteur d'espace réservé)
Maison interface Web tutoriel CSS Qu'est-ce que la directive @extend dans SASS ?

Qu'est-ce que la directive @extend dans SASS ?

Aug 27, 2023 pm 01:17 PM

SASS 中的 @extend 指令是什么?

SASS permet aux développeurs d'écrire du code plus lisible et de mieux l'exploiter. Il contient plusieurs directives telles que @media, @content, @include, @mixin, @extend, etc. qui fournissent des fonctionnalités permettant aux développeurs d'écrire un meilleur code que le CSS normal.

Dans ce tutoriel, nous découvrirons les @directives dans SASS. La directive @extend permet aux développeurs d'étendre le code CSS. Cependant, les mixins étendent également le code CSS et évitent la duplication. La directive @extend nous permet également d'éviter la duplication de code.

Par exemple, si les polices de votre application ont un CSS commun et qu'une taille de police différente est requise partout, vous pouvez étendre le style de police et ajouter une taille de police personnalisée. Cela élimine le besoin d’écrire du code en double.

De plus, les développeurs peuvent implémenter l'héritage en CSS à l'aide de la directive @extend, que nous apprendrons à travers des exemples.

Grammaire

Les utilisateurs peuvent utiliser la directive @extend dans SASS selon la syntaxe suivante.

selector {
   /* CSS code */
}
Another_CSS_selector {
   @extend selector;
   /* CSS code */
}
Copier après la connexion

Dans la syntaxe ci-dessus, nous pouvons écrire du CSS commun dans le bloc de déclaration du "sélecteur". Après cela, nous pouvons étendre le sélecteur à l'intérieur de "Another_CSS_Selector" et ajouter notre propre code.

Exemple 1 (Utilisation de base de la directive @extend)

Dans l'exemple ci-dessous, nous avons défini quelques styles pour un élément HTML avec le nom de classe "card". Après cela, nous définissons le CSS pour les éléments "small_card" et "large_Card". Nous avons utilisé la directive @extend dans les deux sélecteurs pour étendre le CSS du sélecteur « card ». De plus, nous avons inclus du CSS supplémentaire comme la largeur, la hauteur, etc. dans les sélecteurs "small_card" et "large_card".

.card {
   background-color: aliceblue;
   color: green;
   border: 2px solid pink;
   border-radius: 1.4rem;
}
.small_card {
   @extend .card;
   width: 100px;
   height: 100px;
   margin: 5px;
   padding: 5px;
}
.large_card {
   @extend .card;
   width: 500px;
   height: 500px;
   margin: 10px;
   padding: 10px;
}
Copier après la connexion

Sortie

Dans le résultat ci-dessous, nous pouvons observer que le style du sélecteur "card" est appliqué aux sélecteurs "small_card" et "large_card". Du CSS supplémentaire est également appliqué aux deux sélecteurs séparément.

.card,
.small_card,
.large_card {
   background-color: aliceblue;
   color: green;
   border: 2px solid pink;
   border-radius: 1.4rem;
}
.small_card {
   width: 100px;
   height: 100px;
   margin: 5px;
   padding: 5px;
}
.large_card {
   width: 500px;
   height: 500px;
   margin: 10px;
   padding: 10px;
}
Copier après la connexion

Exemple 2 (chaîne d'héritage utilisant la directive @extend)

Dans l'exemple ci-dessous, nous montrons comment créer une chaîne d'héritage à l'aide de la directive @extend. Ici, nous avons ajouté du CSS dans le sélecteur « .first ». Après cela, nous avons étendu le sélecteur ".first" à l'intérieur du sélecteur ".second" et ajouté du CSS supplémentaire.

Ensuite, nous étendons le sélecteur « .second » à l'intérieur du sélecteur « .third » et le sélecteur « .third » à l'intérieur du sélecteur « .fourth ». Nous avons donc ici créé une chaîne d'héritage en utilisant différents sélecteurs CSS.

.first {
   width: 100px;
   height: auto;
}
.second {
   @extend .first;
   color: blue;
}
.third {
   @extend .second;
   background-color: pink;
   border: 2px dotted red;
}
.fourth {
   @extend .third;
   margin: 10px;
   padding: 1rem;
}
Copier après la connexion

Sortie

Le résultat ci-dessous montre comment le code CSS est appliqué aux différents sélecteurs CSS lorsque nous créons une chaîne d'héritage à l'aide de la directive @extend.

.first,
.second,
.third,
.fourth {
   width: 100px;
   height: auto;
}
.second,
.third,
.fourth {
   color: blue;
}
.third,
.fourth {
   background-color: pink;
   border: 2px dotted red;
}
.fourth {
   margin: 10px;
   padding: 1rem;
}
Copier après la connexion

Exemple 3 (héritage multiple utilisant la directive @extend)

Dans cet exemple, nous montrons comment utiliser l'héritage multiple à l'aide de la directive @extend. L'héritage multiple signifie qu'un seul sélecteur étend plusieurs sélecteurs.

Ici, nous avons défini les sélecteurs CSS « ​​.container » et « .main » et ajouté du CSS. Après cela, à l'intérieur du sélecteur CSS ".element", nous étendons les sélecteurs ".container" et ".main".

.container {
   width: 500px;
   height: 500px;
   background-color: beige;
}
.main{
   color: pink;
   float: left;
   max-width: 600px;
   max-height: 700px;
   overflow: auto;
}
.element {
   @extend .main;
   @extend .container;
   padding: 2%;
}
Copier après la connexion

Sortie

.container,
.element {
   width: 500px;
   height: 500px;
   background-color: beige;
}
.main,
.element {
   color: pink;
   float: left;
   max-width: 600px;
   max-height: 700px;
   overflow: auto;
}
.element {
   padding: 2%;
}
Copier après la connexion

Exemple 4 (utilisation de la directive @extend dans la directive @media)

Dans l'exemple ci-dessous, nous utilisons la directive @extend à l'intérieur de la directive @media. Cependant, le compilateur SASS génère une erreur chaque fois que nous étendons un sélecteur CSS défini en dehors de la directive @media dans le sélecteur de la directive @media.

Ici, nous avons étendu le sélecteur CSS « ​​.small_button » avec le sélecteur CSS « ​​.button » dans la directive @media. Les utilisateurs peuvent constater que les deux sélecteurs sont situés ici dans la directive @media.

@media small_screen {
   .button {
      width: 50%;
      clear: both;
      font-size: 1.3rem;
   }
   .small_button {
      @extend .button;
      @extend .main;
      height: 25%;
   }
}
Copier après la connexion

Sortie

@media small_screen {
   .button,
   .small_button {
      width: 50%;
      clear: both;
      font-size: 1.3rem;
   }
   .small_button {
      height: 25%;
   }
}
Copier après la connexion

Exemple 5 (Sélecteur d'espace réservé)

Comme son nom l'indique, nous pouvons créer un sélecteur d'espace réservé en ajoutant le symbole (%) avant le nom du sélecteur. Lorsque nous compilons le code SASS, le sélecteur d'espace réservé n'apparaîtra pas dans le code de sortie, mais son style sera ajouté à la place de l'expansion.

Par exemple, nous définissons ici le sélecteur d'espace réservé « %container ». Après cela, nous avons étendu les sélecteurs de conteneurs à l'intérieur de "small_container" et "medium_container".

Dans la sortie, nous pouvons observer qu'il ne contient pas le sélecteur "container", mais "small_container" et "large_container" contiennent le code d'espace réservé "container".

%container {
   color: red;
   background-color: green;
   padding: 3%;
   margin: 0 auto;
}
.small_container {
   @extend %container;
   width: 100px;
   height: 100px;
}
.medium_container {
   @extend %container;
   width: 300px;
   height: 300px;
}
Copier après la connexion

Sortie

.small_container,
.medium_container {
   color: red;
   background-color: green;
   padding: 3%;
   margin: 0 auto;
}
.small_container {
   width: 100px;
   height: 100px;
}
.medium_container {
   width: 300px;
   height: 300px;
}
Copier après la connexion

Les utilisateurs ont appris à utiliser la directive @extend dans ce tutoriel. Fondamentalement, nous pouvons l'utiliser pour étendre les feuilles de style et éviter la duplication de code. De plus, nous pouvons créer des chaînes d'héritage en CSS à l'aide de la directive @extend.

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

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 semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Show, ne dit pas Show, ne dit pas Mar 16, 2025 am 11:49 AM

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Construire une application Ethereum à l'aide de Redwood.js et de la faune Construire une application Ethereum à l'aide de Redwood.js et de la faune Mar 28, 2025 am 09:18 AM

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

Que diable sont les commandes NPM? Que diable sont les commandes NPM? Mar 15, 2025 am 11:36 AM

Les commandes NPM exécutent diverses tâches pour vous, soit en tant que processus unique ou en cours d'exécution pour des choses comme le démarrage d'un serveur ou la compilation de code.

Comment utilisez-vous CSS pour créer des effets de texte, tels que des ombres de texte et des gradients? Comment utilisez-vous CSS pour créer des effets de texte, tels que des ombres de texte et des gradients? Mar 14, 2025 am 11:10 AM

L'article discute de l'utilisation de CSS pour les effets de texte comme les ombres et les gradients, les optimiser pour les performances et l'amélioration de l'expérience utilisateur. Il répertorie également les ressources pour les débutants (159 caractères)

Utilisons (x, x, x, x) pour parler de spécificité Utilisons (x, x, x, x) pour parler de spécificité Mar 24, 2025 am 10:37 AM

Je discutais avec Eric Meyer l'autre jour et je me suis souvenu d'une histoire d'Eric Meyer de mes années de formation. J'ai écrit un article de blog sur la spécificité CSS, et

Créer votre propre bragdoc avec Eleventy Créer votre propre bragdoc avec Eleventy Mar 18, 2025 am 11:23 AM

Quelle que soit le stade dans lequel vous vous trouvez en tant que développeur, les tâches que nous effectuons - qu'elles soient grandes ou petites - ont un impact énorme dans notre croissance personnelle et professionnelle.

See all articles