


Pourquoi mes propriétés personnalisées CSS étendues sont-elles ignorées lorsqu'elles sont utilisées dans les calculs de portée externe ?
Propriété personnalisée de portée CSS ignorée lorsqu'elle est utilisée pour calculer une variable dans la portée externe
Lorsque vous essayez de créer du CSS composable et faiblement couplé, il est important de comprendre la portée des propriétés personnalisées. Dans certains scénarios, les modifications apportées à une propriété personnalisée de portée dans un élément enfant peuvent ne pas affecter l'élément parent comme prévu.
Un tel scénario se produit lorsqu'une propriété personnalisée est utilisée pour calculer une variable dans une portée externe. Le problème survient lorsque la propriété personnalisée est à nouveau définie dans l'élément enfant, ce qui entraîne l'ignorance de l'évaluation initiale de l'élément parent.
Pour illustrer cela, considérons l'exemple suivant :
:root { --size-1: calc(1 * var(--scale, 1) * 1rem); --size-2: calc(2 * var(--scale, 1) * 1rem); --size-3: calc(3 * var(--scale, 1) * 1rem); } .scale-1x { --scale: 1; } .scale-2x { --scale: 2; } .scale-3x { --scale: 3; } ol { font: 1em sans-serif; } .size-1 { font-size: var(--size-1); } .size-2 { font-size: var(--size-2); } .size-3 { font-size: var(--size-3); }
Dans cet exemple, les propriétés --size-* sont calculées au niveau racine à l'aide de la propriété personnalisée --scale. Cependant, au sein des classes .scale-*, la propriété --scale est à nouveau définie. Cela entraîne l'ignorance de la valeur héritée de --scale de l'élément racine, ce qui entraîne le calcul des propriétés --size-* en utilisant la valeur par défaut de --scale : 1.
Pour éviter ce problème, il est essentiel de définir les propriétés personnalisées au niveau approprié et d'éviter de les redéfinir dans les éléments enfants. Cela garantit que les propriétés personnalisées étendues peuvent être utilisées efficacement pour calculer des variables dans des étendues externes et obtenir un CSS composable et faiblement couplé.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Il est sorti! Félicitations à l'équipe Vue pour l'avoir fait, je sais que ce fut un effort massif et une longue période à venir. Tous les nouveaux documents aussi.

Je dirais que "Site Web" correspond mieux que "Application mobile" mais j'aime ce cadrage de Max Lynch:

J'ai eu quelqu'un qui écrivait avec cette question très légitime. Lea vient de bloguer sur la façon dont vous pouvez obtenir les propriétés CSS valides elles-mêmes du navigateur. C'est comme ça.

Si nous devons afficher la documentation à l'utilisateur directement dans l'éditeur WordPress, quelle est la meilleure façon de le faire?

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Il existe un certain nombre de ces applications de bureau où l'objectif montre votre site à différentes dimensions en même temps. Vous pouvez donc, par exemple, écrire

CSS Grid est une collection de propriétés conçues pour faciliter la mise en page qu'elle ne l'a jamais été. Comme tout, il y a un peu une courbe d'apprentissage, mais Grid est

Je vois que Google Fonts a déployé un nouveau design (tweet). Comparé à la dernière grande refonte, cela semble beaucoup plus itératif. Je peux à peine faire la différence
