Maison >interface Web >tutoriel CSS >Analyse et résumé de l'impact du CSS sur l'efficacité de chargement des pages Web_Experience Exchange
Nous avons répertorié plus d'une douzaine de points de connaissances et d'attention connexes. Vous pouvez en discuter systématiquement pour faciliter l'ouverture des pages Web que nous écrivons.
S'il vous plaît, ne me dites pas que vous ne savez pas lire le texte électronique, c'est juste que vous ne voulez pas le lire ! ! !
1、Comment le système de style divise les règles
Le système de style divise les règles en quatre catégories principales. Il est essentiel de comprendre ces catégories, car elles constituent la première ligne de défense en ce que la correspondance aux règles est concernée. J'utilise le terme sélecteur de clé dans les paragraphes qui suivent. Le sélecteur de clé est défini comme être l'occurrence la droite d'un sélecteur d'identifiant, un sélecteur de classe ou un sélecteur de balise.
1.1、Règles d'identification
La première catégorie se compose de les règles qui ont un sélecteur d'identification comme leur sélecteur de clé.
button#backButton { } /* Ceci est une règle catégorisée par ID */
#urlBar[type="autocomplete"] { } /* Ceci est une règle catégorisée par ID */
élément d'arbre > rangée d'arbres > treecell#myCell :active { } /* Il s'agit d'une règle catégorisée par ID */
1.2、Règles de classe
Si une règle a une classe spécifiée comme sa sélecteur de clé, alors elle entre dans cette catégorie.
button.toolbarButton { } /* Une règle basée sur les classes */
.fancyText { } /* Une règle basée sur les classes */
menuitem > .menu-left[checked="true"] { } /* Une règle basée sur les classes */
1.3、Tag Rules
Si aucune classe ou ID n'est spécifié comme sélecteur de clé, alors la catégorie potentielle suivante pour une règle est la catégorie de balise. Si une règle comporte une balise spécifiée comme sélecteur de clé, alors la règle entre dans cette catégorie.
td { } /* Une règle basée sur des balises */
treeitem > treerow { } /* Une règle basée sur des balises */
input[type="checkbox"] { } /* Une règle basée sur des balises */
1.4、Règles universelles
Toutes les autres règles entrent dans ceci catégorie.
:table { } /* Une règle universelle */
[hidden="true"] { } /* Une règle universelle */
* { } /* Une règle universelle */
arbre > [collapsed="true"] { } /* Une règle universelle */
2、Comment le système de style correspond aux règles
Le système de style correspond à une règle en commençant par le sélecteur le le plus à droite et en se déplaçant vers la gauche à travers les sélecteurs de la règle. Tant que votre petit sous-arbre continue à être vérifié, le système de style continuera à se déplacer vers la gauche jusqu'à ce qu'il corresponde à la règle ou qu'il s'éteigne en raison d'une incompatibilité.
Votre première ligne de défense est le filtrage des règles qui se produit en basé sur le type du sélecteur à clé. Le objectif de cette catégorisation est de filtrer les règles afin que vous n'ayez même pas à perdre du temps à essayer de les faire correspondre. C'est la clé pour augmenter considérablement les performances. Moins vous avez de règles à vérifier pour un élément donné, plus la résolution de style sera rapide. À par exemple, si votre élément a un ID, alors seules les règles d'ID qui correspondent à l'ID de votre élément seront vérifiées. Seules les règles de classe pour une classe trouvée sur votre élément seront vérifiées. Seules les règles de balise qui correspondent à votre balise seront vérifiées. Les règles universelles seront toujours vérifiées.
3、Directives pour un CSS efficace
3.1、Évitez les règles universelles !
Assurez-vous qu'une règle ne finit pas dans la catégorie universelle !
3.2、Ne qualifiez pas les règles catégorisées par ID avec des noms de balise ou des classes
Si vous avez une règle de style qui a un sélecteur ID comme sélecteur de clé, ne vous embêtez pas également d'ajouter le nom de balise à la règle. Les identifiants sont uniques, vous ralentissez donc la mise en correspondance sans véritable raison.