Table des matières
Le Le sélecteur d'éléments
Sélecteur de pseudo-classe
关于:not()的用法
关于:nth-child()的用法
关于:...-child:...-of-type的差异
:empty区分空元素
伪对象选择器
总结
Utilisez :empty pour distinguer les éléments vides
Sélecteur de pseudo-objets
Résumé
Maison interface Web tutoriel CSS Rangement du sélecteur CSS

Rangement du sélecteur CSS

Feb 09, 2017 am 11:23 AM
css选择器

Beaucoup de gens pensent que CSS est très simple, mais en fait ce n'est pas facile de bien écrire CSS Chaque point de CSS a en fait beaucoup de contenu. Prenons l'exemple du sélecteur, le <.> le sélecteur peut probablement être divisé en cinq catégories : CSS

  • Sélecteur d'élément

  • Sélecteur de relation

  • Sélecteur d'attribut

  • Sélecteur de pseudo-classe

  • Sélecteur de pseudo-objet

Sélecteur d'élément

Le Le sélecteur d'éléments

选择器 名称 描述
* 通配选择器 选择所有的元素
E 元素选择器 选择指定的元素
#idName id选择器 选择id属性等于idName的元素
.className class选择器 选择class属性包含className的元素
est souvent utilisé tant qu'il est écrit

Le contenu de cette section est très simple et il n'y a rien de spécial à dire. CSS

Sélecteur de relation

选择器 名称 描述
E F 包含选择器 选择所有包含在E元素里面的F元素
E>F 子选择器 选择所有作为E元素的子元素F
E F 相邻选择器 选择紧贴在E元素之后的F元素
E~F 兄弟选择器 选择E元素所有兄弟元素F
Quelques points à noter ici :

  • Le sélecteur d'enfant ne peut sélectionner que des éléments de mots, pas des petits-enfants. le sélecteur d'inclusion sélectionnera tous les descendants qualifiés, y compris les fils, petits-fils, petits-enfants des petits-enfants...

  • Le sélecteur adjacent sélectionnera uniquement les descendants adjacents qui remplissent les conditions. Les éléments frères et sœurs sélectionneront ; tous les éléments frères qui remplissent les conditions, pas nécessairement les éléments adjacents.

  • Dans le navigateur Android 4.2.* et versions antérieures, il y aura un bug lorsque le sélecteur de pseudo-classe

    est utilisé avec le sélecteur de frères et sœurs, vérifiez les détails. :checked

Sélecteur d'attribut

Sélecteur de pseudo-classe

选择器 描述
E:link 设置超链接a在未被访问前的样式
E:visited 设置超链接a在其链接地址已被访问过时的样式
E:hover 设置元素鼠标在其悬停时的样式
E:active 设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式
E:focus 设置元素在成为输入焦点(该元素的onfocus事件发生)时的样式。(一般应用于表单元素)
E:checked 匹配用户界面上处于选中状态的元素E。(用于input type为radio与checkbox时)
E:enabled 匹配用户界面上处于可用状态的元素E。(一般应用于表单元素)
E:disabled 匹配用户界面上处于禁用状态的元素E。(一般应用于表单元素)
E:empty 匹配没有任何子元素(包括text节点)的元素E
E:root 匹配E元素在文档的根元素。在HTML中,根元素永远是HTML
E:not(s) 匹配不含有s选择符的元素E
E:first-child 匹配父元素的第一个子元素E
E:last-child 匹配父元素的最后一个子元素E
E:only-child 匹配父元素仅有的一个子元素E
E:nth-child(n) 匹配父元素的第n个子元素E
E:nth-last-child(n) 匹配父元素的倒数第n个子元素E
E:first-of-type 匹配同类型中的第一个同级兄弟元素E
E:last-of-type 匹配同类型中的最后一个同级兄弟元素E
E:only-of-type 匹配同类型中的唯一的一个同级兄弟元素E
E:nth-of-type(n) 匹配同类型中的第n个同级兄弟元素E
E:nth-last-of-type(n) 匹配同类型中的倒数第n个同级兄弟元素E

注意事项:

  • 超链接的4种状态(访问前,鼠标悬停,当前被点击,已访问),需要有特定的书写顺序才能生效;a:hover 必须位于 a:link 和 a:visited 之后,a:active 必须位于 a:hover 之后

  • E:first-child选择符,E必须是它的兄弟元素中的第一个元素,换言之,E必须是父元素的第一个子元素。与之类似的伪类还有E:last-child,只不过情况正好相反,需要它是最后一个子元素。

关于:not()的用法

假定有个列表,每个列表项都有一条底边线,但是最后一项不需要底边线。

 li:not(:last-child) {
    border-bottom: 1px solid #ddd;
}
Copier après la connexion
Copier après la connexion

上述代码的意思是:给该列表中除最后一项外的所有列表项加一条底边线。是不是很方便。

关于:nth-child()的用法

要使E:nth-child(n)生效,E元素必须是某个元素的子元素,E的父元素最高是body,即E可以是body的子元素。:first-child:last-child:only-child:nth-last-child(n)也是一样。
nth-child(n)括号里的n可以是一个数字,一个关键字,或者一个公式。

:nth-child(length) /*参数是具体数字 length为整数*/
:nth-child(n) /*参数是n,n从0开始计算*/
:nth-child(n*length) /*n的倍数选择,n从0开始算*/
:nth-child(n+length) /*选择大于等于length后面的元素*/
:nth-child(-n+length) /*选择小于等于length前面的元素*/
:nth-child(n*length+1) /*表示隔几选一*/
:nth-child(2n) / :nth-child(even) /*表示偶数*/
:nth-child(2n+1) / :nth-child(odd) /*表示奇数*/
Copier après la connexion
Copier après la connexion

关于:...-child:...-of-type的差异

这两个系列的属性确实很相似,对于不熟悉的人可能很难区分。

E:first-of-type 总是能命中父元素的第1个为E的子元素,不论父元素第1个子元素是否为E;而E:first-child里的E元素必须是它的兄弟元素中的第一个元素,否则匹配失效。E:last-of-type E:last-child也是同理。
E:nth-of-type(n)总是能命中父元素的第n个为E的子元素,不论父元素第n个子元素是否为E;而E:nth-child(n)会选择父元素的第n个子元素E,如果第n个子元素不是E,则是无效选择符,但n会递增。
关于:nth-child():nth-of-type()的区别可以看这篇文章

:empty区分空元素

选择不包含子元素的p元素:

p:empty
Copier après la connexion
Copier après la connexion

选择包含子元素的p元素:

p:not(:empty)
Copier après la connexion
Copier après la connexion

伪对象选择器

选择器 描述
E:before/E::before 在目标元素E的前面插入的内容。用来和content属性一起使用
E:after/E::after 在目标元素E的后面插入的内容。用来和content属性一起使用
E:first-letter/E::first-letter 设置元素内的第一个字符的样式
E:first-line/E::first-line 设置元素内的第一行的样式
E::placeholder 设置元素文字占位符的样式。(一般用于input输入框)
E::selection 设置元素被选择时的字体颜色和背景颜色

注意事项:

  • ::placeholder在使用时需要加上各个浏览器的前缀;除了Firefox是 ::[prefix]placeholder,其他浏览器都是使用 ::[prefix]input-placeholder

总结

选择器用得好其实可以让我们少些很多代码。其实还有一些东西没有展开来讲,比如:before:after,后面专门写一篇文章来说。


Beaucoup de gens pensent que CSS est très simple, mais en fait ce n'est pas facile de bien écrire CSS Chaque point de CSS a en fait beaucoup de contenu. Prenons l'exemple du sélecteur, le <.> le sélecteur peut probablement être divisé en cinq catégories : CSS

  • Sélecteur d'élément

  • Sélecteur de relation

  • Sélecteur d'attribut

  • Sélecteur de pseudo-classe

  • Sélecteur de pseudo-objet

Sélecteur d'élément

Le Le sélecteur d'éléments

选择器 名称 描述
* 通配选择器 选择所有的元素
E 元素选择器 选择指定的元素
#idName id选择器 选择id属性等于idName的元素
.className class选择器 选择class属性包含className的元素
est souvent utilisé tant qu'il est écrit

Le contenu de cette section est très simple et il n'y a rien de spécial à dire. CSS

Sélecteur de relation

选择器 名称 描述
E F 包含选择器 选择所有包含在E元素里面的F元素
E>F 子选择器 选择所有作为E元素的子元素F
E F 相邻选择器 选择紧贴在E元素之后的F元素
E~F 兄弟选择器 选择E元素所有兄弟元素F
Quelques points à noter ici :

  • Le sélecteur d'enfant ne peut sélectionner que des éléments de mots, pas des petits-enfants. le sélecteur d'inclusion sélectionnera tous les descendants qualifiés, y compris les fils, petits-fils, petits-enfants des petits-enfants...

  • Le sélecteur adjacent sélectionnera uniquement les descendants adjacents qui remplissent les conditions. Les éléments frères et sœurs sélectionneront ; tous les éléments frères qui remplissent les conditions, pas nécessairement les éléments adjacents.

  • Dans le navigateur Android 4.2.* et versions antérieures, il y aura un bug lorsque le sélecteur de pseudo-classe

    est utilisé avec le sélecteur de frères et sœurs, vérifiez les détails. :checked

Sélecteur d'attribut

Sélecteur de pseudo-classe

选择器 描述
E:link 设置超链接a在未被访问前的样式
E:visited 设置超链接a在其链接地址已被访问过时的样式
E:hover 设置元素鼠标在其悬停时的样式
E:active 设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式
E:focus 设置元素在成为输入焦点(该元素的onfocus事件发生)时的样式。(一般应用于表单元素)
E:checked 匹配用户界面上处于选中状态的元素E。(用于input type为radio与checkbox时)
E:enabled 匹配用户界面上处于可用状态的元素E。(一般应用于表单元素)
E:disabled 匹配用户界面上处于禁用状态的元素E。(一般应用于表单元素)
E:empty 匹配没有任何子元素(包括text节点)的元素E
E:root 匹配E元素在文档的根元素。在HTML中,根元素永远是HTML
E:not(s) 匹配不含有s选择符的元素E
E:first-child 匹配父元素的第一个子元素E
E:last-child 匹配父元素的最后一个子元素E
E:only-child 匹配父元素仅有的一个子元素E
E:nth-child(n) 匹配父元素的第n个子元素E
E:nth-last-child(n) 匹配父元素的倒数第n个子元素E
E:first-of-type 匹配同类型中的第一个同级兄弟元素E
E:last-of-type 匹配同类型中的最后一个同级兄弟元素E
E:only-of-type 匹配同类型中的唯一的一个同级兄弟元素E
E:nth-of-type(n) 匹配同类型中的第n个同级兄弟元素E
E:nth-last-of-type(n) 匹配同类型中的倒数第n个同级兄弟元素E

Remarque :

  • Les 4 états des hyperliens (avant accès, survol de la souris, actuellement cliqué, visité) nécessitent un ordre d'écriture spécifique pour prendre effet a:hover doit ; être situé après a:link et a:visited, a:active doit être situé après a:hover .

  • E:first-child sélecteur, E doit être le premier élément parmi ses éléments frères, en d'autres termes, E doit être le premier élément enfant de l'élément parent. Une pseudo-classe similaire est E:last-child, mais la situation est tout le contraire, elle doit être le dernier élément enfant.

À propos de l'utilisation de :not()

Supposons qu'il existe une liste, chaque élément de la liste a une ligne de résultat, mais le dernier élément n'a pas besoin de ligne de résultat.

 li:not(:last-child) {
    border-bottom: 1px solid #ddd;
}
Copier après la connexion
Copier après la connexion

Le code ci-dessus signifie : ajouter une ligne de fin à tous les éléments de la liste sauf le dernier élément de la liste. N'est-ce pas très pratique ?

À propos de l'utilisation de :nth-child()

Pour que E:nth-child(n) prenne effet, l'élément E doit être un élément enfant d'un certain élément, et l'élément parent le plus élevé de E est le corps, c'est-à-dire que E peut être un élément enfant du corps. Il en va de même pour :first-child, :last-child, :only-child et :nth-last-child(n).
nth-child(n)Le n entre parenthèses peut être un nombre, un mot-clé ou une formule.

:nth-child(length) /*参数是具体数字 length为整数*/
:nth-child(n) /*参数是n,n从0开始计算*/
:nth-child(n*length) /*n的倍数选择,n从0开始算*/
:nth-child(n+length) /*选择大于等于length后面的元素*/
:nth-child(-n+length) /*选择小于等于length前面的元素*/
:nth-child(n*length+1) /*表示隔几选一*/
:nth-child(2n) / :nth-child(even) /*表示偶数*/
:nth-child(2n+1) / :nth-child(odd) /*表示奇数*/
Copier après la connexion
Copier après la connexion

A propos des différences entre :...-child et :...-of-type

Les propriétés de ces deux séries sont en effet très similaires, et il peut être difficile de les distinguer pour ceux qui ne le sont pas familier avec eux.

E:first-of-type peut toujours toucher le premier élément enfant de l'élément parent qui est E, que le premier élément enfant de l'élément parent soit E ou non et que l'élément E dans E:first-child soit obligatoire ; que ce soit le premier élément parmi les éléments frères, sinon la correspondance échouera. Il en va de même pour E:last-of-type et E:last-child.
E:nth-of-type(n) peut toujours frapper le nième élément enfant de l'élément parent qui est E, que le nième élément enfant de l'élément parent soit E ou non et E:nth-child(n) sélectionnera le nième enfant ; élément de l'élément parent E, si le nième élément enfant n'est pas E, c'est un sélecteur invalide, mais n sera incrémenté.
Pour la différence entre :nth-child() et :nth-of-type(), vous pouvez lire cet article

Utilisez :empty pour distinguer les éléments vides

Sélectionnez p éléments qui ne contiennent pas sous-éléments :

p:empty
Copier après la connexion
Copier après la connexion

Sélectionnez p éléments contenant des éléments enfants :

p:not(:empty)
Copier après la connexion
Copier après la connexion

Sélecteur de pseudo-objets

选择器 描述
E:before/E::before 在目标元素E的前面插入的内容。用来和content属性一起使用
E:after/E::after 在目标元素E的后面插入的内容。用来和content属性一起使用
E:first-letter/E::first-letter 设置元素内的第一个字符的样式
E:first-line/E::first-line 设置元素内的第一行的样式
E::placeholder 设置元素文字占位符的样式。(一般用于input输入框)
E::selection 设置元素被选择时的字体颜色和背景颜色

Remarques :

  • ::placeholder doit être ajouté avec le préfixe de chaque navigateur lors de son utilisation ; à l'exception de Firefox, qui est ::[prefix]placeholder, d'autres navigateurs utilisent ::[prefix]input-placeholder.

Résumé

Bien utiliser les sélecteurs peut en fait nous faire économiser beaucoup de code. En fait, il y a encore certaines choses qui n'ont pas été discutées en détail, comme :before et :after, qui seront abordées plus tard dans un article séparé.

Pour plus d'articles liés à l'organisation des sélecteurs CSS, veuillez faire attention au site Web PHP chinois !

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment redimensionner la zone de texte HTML Comment redimensionner la zone de texte HTML Feb 20, 2024 am 10:03 AM

Définir la taille des zones de texte HTML est une opération très courante dans le développement front-end. Cet article explique comment définir la taille d'une zone de texte et fournit des exemples de code spécifiques. En HTML, vous pouvez utiliser CSS pour définir la taille d'une zone de texte. Le code spécifique est le suivant : input[type="text&quot

Comment ajuster un thème WordPress pour éviter un affichage mal aligné Comment ajuster un thème WordPress pour éviter un affichage mal aligné Mar 05, 2024 pm 02:03 PM

Comment ajuster les thèmes WordPress pour éviter un affichage mal aligné nécessite des exemples de code spécifiques. En tant que système CMS puissant, WordPress est apprécié par de nombreux développeurs de sites Web et webmasters. Cependant, lorsque vous utilisez WordPress pour créer un site Web, vous rencontrez souvent le problème du mauvais alignement des thèmes, qui affecte l’expérience utilisateur et la beauté des pages. Il est donc très important de bien ajuster votre thème WordPress pour éviter un affichage mal aligné. Cet article expliquera comment ajuster le thème à travers des exemples de code spécifiques.

Quelle est la priorité du sélecteur CSS Quelle est la priorité du sélecteur CSS Apr 25, 2024 pm 05:30 PM

La priorité du sélecteur CSS est déterminée dans l'ordre suivant : Spécificité (ID > Classe > Type > Wildcard) Ordre des sources (En ligne > Feuille de style interne > Feuille de style externe > Feuille de style de l'agent utilisateur) Ordre des déclarations (les dernières déclarations sont prioritaires) Importance (!important force la priorité à augmenter)

Quels sont les éléments de la section exclue du sélecteur CSS Quels sont les éléments de la section exclue du sélecteur CSS Apr 06, 2024 am 02:42 AM

Le sélecteur :not() peut être utilisé pour exclure des éléments sous certaines conditions, et sa syntaxe est :not(selector) {règle de style}. Exemples : :not(p) exclut tous les éléments non-paragraphe, li:not(.active) exclut les éléments de liste inactifs, :not(table) exclut les éléments non-tableaux, div:not([data-role="primary"] ) Excluez les éléments div avec des rôles non principaux.

Que signifie exactement la production de pages H5? Que signifie exactement la production de pages H5? Apr 06, 2025 am 07:18 AM

La production de pages H5 fait référence à la création de pages Web compatibles compatibles multiplateformes à l'aide de technologies telles que HTML5, CSS3 et JavaScript. Son cœur réside dans le code d'analyse du navigateur, la structure de rendu, le style et les fonctions interactives. Les technologies courantes incluent les effets d'animation, la conception réactive et l'interaction des données. Pour éviter les erreurs, les développeurs doivent être débogués; L'optimisation des performances et les meilleures pratiques incluent l'optimisation du format d'image, la réduction des demandes et les spécifications du code, etc. pour améliorer la vitesse de chargement et la qualité du code.

sélecteurs CSS qui sont des sélecteurs avancés sélecteurs CSS qui sont des sélecteurs avancés Oct 07, 2023 pm 02:59 PM

Les sélecteurs avancés dans les sélecteurs CSS incluent les sélecteurs descendants, les sélecteurs d'éléments enfants, les sélecteurs frères et sœurs adjacents, les sélecteurs frères et sœurs universels, les sélecteurs d'attributs, les sélecteurs de classe, les sélecteurs d'ID, les sélecteurs de pseudo-classe et les sélecteurs de pseudo-éléments attendent. Introduction détaillée : 1. Le sélecteur descendant utilise un sélecteur séparé par des espaces pour sélectionner les éléments descendants d'un élément ; 2. Le sélecteur d'élément enfant utilise un sélecteur séparé par un signe supérieur à pour sélectionner les éléments enfants directs d'un élément ; Les sélecteurs frères et sœurs adjacents utilisent des sélecteurs séparés par un signe plus pour sélectionner le premier élément frère qui suit immédiatement un élément, et ainsi de suite.

Obtenez une compréhension approfondie du poids et de la priorité des caractères génériques du sélecteur CSS Obtenez une compréhension approfondie du poids et de la priorité des caractères génériques du sélecteur CSS Dec 26, 2023 pm 01:36 PM

Compréhension approfondie du poids et de la priorité des caractères génériques des sélecteurs CSS Dans les feuilles de style CSS, les sélecteurs sont un outil important pour spécifier à quels éléments HTML le style s'applique. La priorité et le poids du sélecteur déterminent quel style est appliqué lorsque plusieurs règles s'appliquent simultanément à un élément HTML. Les sélecteurs génériques sont un sélecteur courant en CSS. Il est représenté par le symbole « * », ce qui signifie qu'il correspond à tous les éléments HTML. Les sélecteurs de caractères génériques sont simples mais peuvent être très utiles dans certaines situations. Cependant, le poids et la priorité des sélecteurs génériques

Apprenez la syntaxe de base de l'utilisation des sélecteurs CSS Apprenez la syntaxe de base de l'utilisation des sélecteurs CSS Jan 13, 2024 am 11:44 AM

Pour maîtriser la syntaxe de base des sélecteurs CSS, des exemples de code spécifiques sont nécessaires. Les sélecteurs CSS constituent une partie très importante du développement front-end. Ils peuvent être utilisés pour sélectionner et modifier divers éléments de documents HTML. La maîtrise de la syntaxe de base du sélecteur CSS est cruciale pour rédiger des feuilles de style efficaces. Cet article présentera quelques sélecteurs CSS courants et des exemples de code correspondants. Sélecteur d'élément Le sélecteur d'élément est le sélecteur le plus basique, qui permet de sélectionner l'élément correspondant par son nom de balise. Par exemple, pour sélectionner tous les paragraphes (éléments p), vous pouvez utiliser

See all articles