Maître la cascade CSS: dites au revoir au chaos et embrassez le contrôle! Cet article explorera comment utiliser les nouvelles fonctionnalités CSS pour contrôler les cascades pour écrire le code CSS plus concis et plus efficace. Dans le passé, les styles provenant de différentes sources ont souvent rendu les cascades difficiles à gérer et ont finalement produit du code redondant. Même avec des méthodes comme ITCSS et BEM, nous sommes toujours confrontés à des défis posés par les cascades, tels que la nécessité de contrôler avec précision la position de la déclaration @import
ou de recourir !important
Heureusement, de nouveaux outils sont sortis, ce qui nous permet de contrôler efficacement la cascade.
Drive :where
pseudo sélecteur
:where
le pseudo-électror nous permet de supprimer la particularité du sélecteur afin qu'il ne soit plus élevé que le style par défaut de l'agent utilisateur, quel que soit l'ordre de chargement CSS. Cela signifie que la particularité du sélecteur est en fait nul, ce qui est très utile pour les composants à usage général.
Par exemple, utilisez :where
définir un style de table commun:
: où (table) { Color en arrière-plan: Tan; }
Même si d'autres styles de table étaient définis avant cela:
tableau { Color en arrière-plan: hotpink; } : où (table) { Color en arrière-plan: Tan; }
La couleur de l'arrière-plan du tableau est toujours tan
car :where
élimine la particularité du sélecteur. Cela fait :where
parfait pour CSS réinitialise.
:where
's Brother Selector :is
l'effet inverse:
La particularité du
:is()
pseudo-classe est déterminée par la particularité de ses paramètres les plus spéciaux. Par conséquent, les sélecteurs écrits avec:is()
n'ont pas nécessairement la même spécialité que les sélecteurs équivalents écrits sans:is()
. —— Spécification de niveau 4 de l'élector
Continuez avec l'exemple précédent:
est (table) { --tbl-bgc: orange; } tableau { --TBL-BGC: Tan; } : où (table) { --tbl-bgc: hotpink; Color d'arrière-plan: var (- tbl-bgc); }
La couleur d'arrière-plan de la table sera tan
car :is
la même particularité que table
, et table
est située derrière. Mais si nous le changeons en:
est (table, .c-tbl) { --tbl-bgc: orange; }
La couleur d'arrière-plan sera orange
parce que :is
le même poids que son sélecteur le plus spécial.c .c-tbl
.
Exemple: composants de table configurables
Construisons un composant de table avec le HTML suivant:
Ensuite, nous enroulons .c-tbl
dans :where
sélecteur et ajoutant les coins arrondis:
: où (.c-tbl) { Border-Collapse: séparé; Espacement des bordures: 0; Table-Layout: Auto; Largeur: 99,9%; }
Les cellules de table utilisent différents styles:
: où (.c-tbl thead th) { / * ... * / } : où (.c-tbl tbody td) { / * ... * / }
En raison des coins arrondis et border-collapse: separate
, nous devons ajouter des styles supplémentaires:
: où (.c-tbl tr td: premier de type) { / * ... * / } / * ... * /
Maintenant, nous pouvons créer des variations du composant de la table en injectant d'autres styles avant ou après le style général (bénéficie de :where
's Specialty Elimination):
.c-tbl --purple th { Color en arrière-plan: HSL (330, 50%, 40%) } / * ... * /
Propriétés personnalisées CSS
Nous utiliserons data-component
pour définir le composant:
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!

J'ai eu cette question l'autre jour. Ma première pensée est: une question étrange! La spécificité concerne les sélecteurs, et les rubriques ne sont pas des sélecteurs, donc ... non pertinents?

Oui, vous le pouvez, et cela n'a pas vraiment d'importance dans quel ordre. Un préprocesseur CSS n'est pas requis. Il fonctionne dans CSS ordinaire.

Vous devriez à coup sûr définir des en-têtes de cache éloignés sur vos actifs comme CSS et JavaScript (et des images et polices et quoi que ce soit d'autre). Cela dit au navigateur

De nombreux développeurs écrivent sur la façon de maintenir une base de code CSS, mais peu d'entre eux écrivent sur la façon dont ils mesurent la qualité de cette base de code. Bien sûr, nous avons

Avez-vous déjà eu un formulaire qui devait accepter un petit texte arbitraire? Comme un nom ou autre chose. C'est exactement à quoi sert. Il y a beaucoup de

Je suis tellement excité de me diriger vers Zurich, en Suisse pour la conférence de Front (j'adore ce nom et URL!). Je n'ai jamais été en Suisse auparavant, donc je suis excité

L'un de mes développements préférés dans le développement de logiciels a été l'avènement de Serverless. En tant que développeur qui a tendance à s'enliser dans les détails

Dans cet article, nous utiliserons une démo de magasin de commerce électronique que j'ai construit et déployé sur Netlify pour montrer comment nous pouvons faire des itinéraires dynamiques pour les données entrantes. C'est assez


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

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Dreamweaver Mac
Outils de développement Web visuel

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Version Mac de WebStorm
Outils de développement JavaScript utiles