Rangement du sélecteur 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
Le Le sélecteur d'éléments
选择器 | 名称 | 描述 |
---|---|---|
* |
通配选择器 | 选择所有的元素 |
E |
元素选择器 | 选择指定的元素 |
#idName |
id选择器 | 选择id属性等于idName的元素 |
.className |
class选择器 | 选择class属性包含className的元素 |
Le contenu de cette section est très simple et il n'y a rien de spécial à dire. CSS
选择器 | 名称 | 描述 |
---|---|---|
E F |
包含选择器 | 选择所有包含在E元素里面的F元素 |
E>F |
子选择器 | 选择所有作为E元素的子元素F |
E F |
相邻选择器 | 选择紧贴在E元素之后的F元素 |
E~F |
兄弟选择器 | 选择E元素所有兄弟元素F |
- 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 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; }
上述代码的意思是:给该列表中除最后一项外的所有列表项加一条底边线。是不是很方便。
关于: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) /*表示奇数*/
关于:...-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
选择包含子元素的p元素:
p:not(:empty)
伪对象选择器
选择器 | 描述 |
---|---|
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
Le Le sélecteur d'éléments
选择器 | 名称 | 描述 |
---|---|---|
* |
通配选择器 | 选择所有的元素 |
E |
元素选择器 | 选择指定的元素 |
#idName |
id选择器 | 选择id属性等于idName的元素 |
.className |
class选择器 | 选择class属性包含className的元素 |
Le contenu de cette section est très simple et il n'y a rien de spécial à dire. CSS
选择器 | 名称 | 描述 |
---|---|---|
E F |
包含选择器 | 选择所有包含在E元素里面的F元素 |
E>F |
子选择器 | 选择所有作为E元素的子元素F |
E F |
相邻选择器 | 选择紧贴在E元素之后的F元素 |
E~F |
兄弟选择器 | 选择E元素所有兄弟元素F |
- 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 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 estE: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; }
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) /*表示奇数*/
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
Sélectionnez p éléments contenant des éléments enfants :
p:not(:empty)
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 !

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

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)

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"

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.

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)

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.

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.

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.

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

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
