Maison > interface Web > tutoriel CSS > Comment étendre les sélecteurs dans les requêtes Sass Media ?

Comment étendre les sélecteurs dans les requêtes Sass Media ?

Barbara Streisand
Libérer: 2024-10-29 19:54:29
original
921 Les gens l'ont consulté

How to Extend Selectors in Sass Media Queries?

Extension des sélecteurs dans les requêtes multimédias avec Sass

Question :

On souhaite intégrer . élément dans .item.compact lorsque l'écran se contracte, mais Sass renvoie une erreur lors de la tentative d'extension à l'aide de @media. Comment y parvenir sans reproduire les styles ?

Réponse :

Malheureusement, Sass interdit l'extension des sélecteurs externes à partir des requêtes multimédias. La restriction nécessite des approches alternatives :

1. Utilisation d'un mixin :

Définissez un mixin réutilisable qui encapsule les styles souhaités. À la fois à l'intérieur et à l'extérieur des requêtes multimédias, étendez ce mixin :

@mixin compact {
    // Styles for compact items
}

%compact {
    @include compact;
}

// Usage
.item {
    @extend %compact;
}

@media (max-width: 600px) {
    .item {
        @include compact;
    }
}
Copier après la connexion

2. Imbrication d'extensions dans une requête multimédia :

Cette approche permet d'étendre les sélecteurs définis en dehors des requêtes multimédias :

%foo {
  @media (min-width: 20em) {
    color: red;
  }
}

@media (min-width: 30em) {
  %bar {
    background: yellow;
  }
}

// Usage
.foo {
  @extend %foo;
}

.bar {
  @extend %bar;
}
Copier après la connexion

3. En attente de la mise à jour de Sass :

Des discussions concernant cette restriction sont en cours. La mise en œuvre d'une solution peut nécessiter une modification de la syntaxe ou des fonctionnalités Sass.

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:php.cn
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