6
votes

PROPRIÉTÉ DU CSS All: non défini

Pour un cadre CSS, j'utilise, j'utilise tout: non défini , qui fonctionne en soi bien: xxx

Cependant, dans certains cas, je veux Pour "annuler" l'effet de cette règle, comme dans xxx

Cependant, cela ne fonctionne évidemment pas car il n'y a aucune valeur de auto pour pour < Code> Tout . Au lieu de cela, nous avons les valeurs hériter et initiale , qui au lieu d'une propriété tout , ont des effets différents: de renvoyer toutes les valeurs à Leur valeur de leur parent, ou leur initiale (je suppose que cela signifie que les valeurs par défaut du niveau du système).

Pour accomplir ce que je veux, je fais actuellement xxx

Ce qui fonctionne bien, mais n'est pas trop évolutif si je veux le faire pour de multiples pseudo-classes, par exemple, et je préférerais remplacer le tout: non défini Propriété? Y a-t-il un moyen de le faire?


0 commentaires

3 Réponses :


0
votes

Avez-vous essayé xxx

plus infos ici ici MDN


3 commentaires

Cela revient aux valeurs des défauts de leur navigateur, qui est l'une des choses que l'OP essaie d'éviter.


Oui, je sais, mais je ne sais pas comment ils gèrent les styles afin qu'ils puissent avoir des origines qui permettent l'utilisation de revenir.


Oui, j'ai vu revenir , mais en plus de ne pas faire ce que je veux, il est à peu près supporté.



2
votes

Il ne semble pas être possible d'annuler les effets de la propriété Toutes une fois que cela a été spécifié. Cela peut être dû à tout étant une propriété sténographique (qui n'accepte que les mots-clés à l'échelle de la CSS en tant que valeurs).

Vous ne pouvez pas effacer une déclaration sténographique de la cascade de la même manière que l'introduction de CSS-CASCADE-4 du mot-clé vous permet d'effacer les déclarations au niveau de l'auteur, et c'est parce qu'une propriété sténographique n'existe pas comme sa propre entité dans la cascade; Au lieu de cela, cela représente simplement toutes ses propriétés de composant. Comme avec les propriétés sténographiques plus traditionnelles telles que fond et polices , le seul moyen de remplacer une déclaration de sténographie qui a été appliqué est de reproduire les valeurs des Longhands que ont été remplacés, via des déclarations de Longhand ou via une autre déclaration de sténographie. Mais vous ne pouvez pas faire ce dernier avec la propriété tout car elle n'accepte que des mots-clés de CSS.

Comme le premier n'est évidemment pas pratique avec le sténographie tout , car vous ne pouvez pas prédire quelles déclarations au niveau de l'auteur sont publiées pour commencer, votre seule autre option consiste à le limiter via un Sélecteur, ce qui l'empêche de ne jamais appliquer dans des circonstances spécifiques en premier lieu. J'espère que nous verrons plus de mises en œuvre de niveau 4 : non () dans un avenir proche, qui fera écrire des sélecteurs un peu plus faciles.


0 commentaires

2
votes

En outre, à quoi expliquer BoltClock, ce que vous voulez n'est pas possible, même pour les propriétés non sténographiques.

* { color: red; }
#foo { color: unset; }
#foo:hover { color: /* How to revert to red? */ }


1 commentaires

"Mais le roulement de la cascade du gagnant précédent dans le même niveau d'origine n'est actuellement pas possible." Et la raison en est que la cascade ne peut pas dire ce que le "gagnant précédent" est en premier lieu. Si cela a juste supposé l'ordre des déclarations, la spécificité nonobstant, ce serait très sujet à une erreur.