Maison interface Web tutoriel CSS Explication détaillée de l'utilisation du sélecteur CSS

Explication détaillée de l'utilisation du sélecteur CSS

Mar 21, 2018 pm 05:03 PM
css selector

Cette fois je vais vous apporter une explication détaillée de l'utilisation de CSS Selector Quelles sont les précautions d'utilisation de CSS Selector Voici un cas pratique, jetons un oeil.

Le sélecteur défini en CSS1

Le sélecteur de type

est utilisé pour sélectionner le type spécifié élément (en fait c'est le sélecteur de balise html ), l'usage courant est le suivant :

body {
    /*对 body 元素定义样式*/
}
body,p {
    /*同时选择多种标签元素*/
}
Copier après la connexion

Le sélecteur d'ID

est utilisé pour sélectionner et spécifier L'utilisation courante des éléments HTML ID est la suivante :

<p id="nav">
    
</p>
<style>
    #nav {
        /*定义 ID 为 nav 的元素的样式*/
    }
</style>
Copier après la connexion

Étant donné que l'ordre de rendu du CSS est de droite à gauche et que l'ID est complètement unique, vous pouvez omettre le périphérique de sélection de type précédent.

Le sélecteur de classe

est utilisé pour sélectionner des éléments HTML avec des noms de classe spécifiés. Les méthodes d'utilisation courantes sont les suivantes :

<p class="nav">
    
</p>
<style>
    .nav {
        /*定义 class 为 nav 的元素的样式*/
    }
</style>
Copier après la connexion

. contient la sélection Le

est utilisé pour sélectionner des éléments imbriqués hiérarchiquement. Les méthodes d'utilisation courantes sont les suivantes :

<p class="nav">
    <p class="nav-tools">
        
    </p>
</p>
<p class="nav">
    <p>
        <p class="nav-tools">
        
        </p>
    </p>
</p>
<style>
    .nav .nav-tools {
        /*定义元素的父级元素 class 包含 nav,且子元素class 包含 nav-tools 的元素*/
    }
</style>
Copier après la connexion

Il convient de noter que le sélecteur contenant ne se soucie pas du niveau. , tant que le sélecteur suivant Il peut être contenu dans l'élément précédent. Comme dans l'exemple ci-dessus, les deux outils de navigation seront sélectionnés par le sélecteur !

Sélecteur de pseudo-classe

:link - Lien vers le sélecteur de pseudo-classe

À définir le style du lien lorsqu'il n'est pas visité, les méthodes d'utilisation courantes sont les suivantes :

<p class="nav">
    <p class="nav-tools">
        <ul>
            <li><a href="#"></a></li>
        </ul>
    </p>
</p>
<style>
    a:link {
        text-decoration: none;
        color: blue;
    }
</style>
Copier après la connexion

:visité - le sélecteur de pseudo-classe de lien

est utilisé pour définir le style du lien visité, les méthodes d'utilisation courantes sont les suivantes :

<style>
    a:visited {
        text-decoration: none;
        color: red;
    }
</style>
Copier après la connexion

:active - le sélecteur de pseudo-classe d'opération utilisateur

est utilisé pour définir le style du lien visité. style d'élément activé, les méthodes d'utilisation courantes sont les suivantes :

<style>
    a:active {
        text-decoration: none;
        color: green;
    }
</style>
Copier après la connexion

:hover - Le sélecteur de pseudo-classe d'opération utilisateur

est utilisé pour définir le style de l'élément lorsque la souris passe dessus. Méthodes d'utilisation courantes Comme suit :

<style>
    a:hover {
        text-decoration: none;
        background-color: #F4F4F4;
    }
</style>
Copier après la connexion

:focus - le sélecteur de pseudo-classe d'opération utilisateur

est utilisé pour définir le style de l'élément qui reçoit le focus. Les méthodes d'utilisation courantes sont les suivantes :

<style>
    input:focus {
        text-decoration: none;
        background-color: #F4F4F4;
    }
</style>
Copier après la connexion

::first-line

est utilisé pour définir le style de la première ligne de. texte dans l'élément. Les méthodes d'utilisation courantes sont les suivantes :

<p class="doc">
    <p>层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。</p>
</p>
<style>
    .doc {
        width: 360px;
    }
    .doc>p::first-line {
        color: red;
    }
</style>
Copier après la connexion

::=first-letter

est utilisé pour définir le style du premier caractère de l'élément. les méthodes d'utilisation courantes sont les suivantes :

<style>
    .doc {
        width: 360px;
    }
    .doc>p::first-letter {
        font-size: 2em;
        color: red;
    }
</style>
Copier après la connexion

Sélecteurs CSS2 définis dans

* - sélecteur de caractère générique

est utilisé pour définir des styles communs pour tous les éléments du DOM Méthodes d'utilisation courantes Comme suit :

<p class="nav">
    <p>
        <p class="nav-tools">
        
        </p>
    </p>
</p>
<style>
    .nav * {
        margin: 0;
    }
</style>
Copier après la connexion

Si vous souhaitez réinitialiser le style par défaut, il n'est pas recommandé de l'utiliser. le sélecteur de caractère générique

[attribut]——Sélecteur d'attribut

est utilisé pour définir le style des éléments qui contiennent des attributs. comme suit :

<p class="nav">
    <p>
        <p class="nav-tools">
            <ul>
                <li active>Menu</li>
                <li>Index</li>
            </ul>
        </p>
    </p>
</p>
<style>
    li[active] {
        color: red;
    }
</style>
Copier après la connexion

[attribute="value"] - le sélecteur d'attribut

est utilisé pour définir la valeur d'un attribut d'élément en tant que style de valeur spécifié. Les méthodes d'utilisation courantes sont les suivantes :

<p class="nav">
    <p>
        <p class="nav-tools">
            <ul>
                <li active="active">Menu</li>
                <li active>Index</li>
            </ul>
        </p>
    </p>
</p>
<style>
    li[active="active"] {
        color: red;
    }
</style>
Copier après la connexion

[attribute~="value"]——Attribut Le sélecteur

est utilisé pour définir des attributs qui contiennent des valeurs spécifiées ​​et séparez les éléments de valeur d'attribut par des espaces. Les méthodes d'utilisation courantes sont les suivantes :

<p class="nav">
    <p>
        <p class="nav-tools">
            <ul>
                <li active="test active">Menu</li>
                <li active="active-test">Index</li>
            </ul>
        </p>
    </p>
</p>
<style>
    li[active~="active"] {
        color: red;
    }
</style>
Copier après la connexion

Comme indiqué ci-dessus, seul le premier La couleur de premier plan de li sera définie comme rouge !

[attribute|="value"] - Le sélecteur d'attribut

est utilisé pour définir les valeurs d'attribut qui contiennent la valeur spécifiée et sont liées par un trait d'union (- ), les méthodes d'utilisation courantes sont les suivantes :

<p class="nav">
    <p>
        <p class="nav-tools">
            <ul>
                <li active="test active">Menu</li>
                <li active="active-test">Index</li>
            </ul>
        </p>
    </p>
</p>
<style>
    li[active|="active"] {
        color: red;
    }
</style>
Copier après la connexion

Comme indiqué ci-dessus : seule la couleur de premier plan du deuxième li sera définie comme rouge !

:first-child——sélecteur de pseudo-classe structurelle

est utilisé pour définir le style du premier élément de l'élément. Les méthodes d'utilisation courantes sont les suivantes :

<p class="nav">
    <p>
        <p class="nav-tools">
            <ul>
                <li active="test active">Menu</li>
                <li active="active-test">Index</li>
            </ul>
        </p>
    </p>
</p>
<style>
    li:first-child {
        color: red;
    }
</style>
Copier après la connexion

Remarque : le premier-enfant est le premier élément qui agit au même niveau et qui a le même tag. Comme indiqué ci-dessus, si vous souhaitez définir le style du premier li, vous devez utiliser li:first-child au lieu de ul:first-child !

:lang(en)

用于定义属性为 lang=“en” 的元素样式,常见使用方法如下:

<p>
    <p lang="en">Hello World</p>
</p>
<style>
    p:lang(en) {
        color: red;
    }
</style>
Copier après la connexion

::before

用于定义元素之前的内容和样式,常见使用方法如下:

<p>
    <a>World</a>
</p>
<style>
    a::before {
        content: "Hello ";
    }
</style>
Copier après la connexion

::after

用于定义元素之后的内容和样式,常见使用方法如下:

<p>
    <a>Hello</a>
</p>
<style>
    a::after {
        content: "World";
    }
</style>
Copier après la connexion

p > p

用于定义元素的第一级子元素的样式,常见方法使用如下:

<p class="nav">
    <p>
        <p class="nav-tools">
            <ul>
                <li active="test active">Menu</li>
                <li active="active-test">Index</li>
            </ul>
        </p>
    </p>
</p>
<style>
    .nav-tools > ul {
        background-color: red;
    }
    .nav-tools > li {
        /*这个不会生效,因为 li 不是 ul 的直接子元素*/
    }
</style>
Copier après la connexion

h1 + p

用于定义元素相邻的元素样式,常见使用方法如下:

<p>
    <h1>CSS</h1>
    <p>层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。</p>
</p>
<style>
    h1 + p {
        color: red;
    }
</style>
Copier après la connexion

CSS3 新增属性选择器

[foo^="bar"]

用于定义元素属性以 bar 开头的元素的样式

<p>
    <a href="http://www.betterde.com">Betterde Inc.</a>
    <a href="https://www.betterde.com">Betterde Inc.</a>
</p>
<style>
    a[href^="https"] {
        color:green;
    }
</style>
Copier après la connexion

如上所示,标记 https 链接为绿色。

[foo$="bar"]

用于定义元素属性以 bar 结尾的元素的样式

<p>
    <a href="http://www.betterde.com/logo.png">logo.png</a>
    <a href="http://www.betterde.com/style.css">style.css</a>
    <a href="http://www.betterde.com/main.js">main.js</a>
</p>
<style>
    a[href$="png"] {
        background: url(system/filetype/png.png) no-repeat left center;
        padding-left: 18px;
    }
    
    a[href$="css"] {
        background: url(system/filetype/css.png) no-repeat left center;
        padding-left: 18px;
    }
    
    a[href$="js"] {
        background: url(system/filetype/js.png) no-repeat left center;
        padding-left: 18px;
    }
</style>
Copier après la connexion

如上所示,识别超链接的所链接的文件格式,并在前面添加文件类型图标!

[foo*="bar"]

用于定义元素属性中包含 bar 的元素的样式,需要注意的是,这里是包含,也就是说无论是什么样的组合,只要属性值还有这bar 这三个连续字母的都会被选中!

<p>
    <h1 class="title big full-right"></h1>
    <h2 class="title big full-right"></h1>
    <h1 class="big-title"></h1>
</p>
<style>
    a[class*="title"] {
        color: red;
    }
</style>
Copier après la connexion

如上所示:p 内的三个元素都将会被渲染为红色字体!

虽然 CSS3 中任然保留 CSS2 中定义的属性选择器,但是建议使用 CSS3 的属性选择器来替代!

结构伪类选择器

:root

用于定义 html 标签元素的样式

:nth-child(n)

用于定义子元素的样式,n 表示第几个子元素。n 可以是数字,或关键字odd、even或公式。常见使用方法如下:

<table>
    <tbody>
        <tr>
            <td>name</td>
            <td>gender</td>
            <td>age</td>
        </tr>
        <tr>
            <td>George</td>
            <td>Male</td>
            <td>23</td>
        </tr>
        <tr>
            <td>Kevin</td>
            <td>Male</td>
            <td>28</td>
        </tr>
        <tr>
            <td>Angule</td>
            <td>Male</td>
            <td>23</td>
        </tr>
    </tbody>
</table>
<style>
    tr:nth-child(even) {
        background-color: red; 
    }
</style>
Copier après la connexion

:nth-last-child(n)

与 :nth-child(n)用法相同,只是排序方式是从后往前!

:nth-of-type(n)

用于定义相同元素的第 n 个元素的样式,常见使用方法如下:

<table>
    <tbody>
        <tr>
            <td>name</td>
            <td>gender</td>
            <td>age</td>
        </tr>
        <tr>
            <td>George</td>
            <td>Male</td>
            <td>23</td>
        </tr>
        <tr>
            <td>Kevin</td>
            <td>Male</td>
            <td>28</td>
        </tr>
        <tr>
            <td>Angule</td>
            <td>Male</td>
            <td>23</td>
        </tr>
    </tbody>
</table>
<style>
    tr:nth-of-type(even) {
        background-color: red; 
    }
</style>
Copier après la connexion

:nth-last-of-type(n)

与 :nth-of-type(n)用法相同,只是排序方式是从后往前!

:last-child

用于定义最后一个元素的样式,常见使用方法如下:

<table>
    <tbody>
        <tr>
            <td>name</td>
            <td>gender</td>
            <td>age</td>
        </tr>
        <tr>
            <td>George</td>
            <td>Male</td>
            <td>23</td>
        </tr>
        <tr>
            <td>Kevin</td>
            <td>Male</td>
            <td>28</td>
        </tr>
        <tr>
            <td>Angule</td>
            <td>Male</td>
            <td>23</td>
        </tr>
    </tbody>
</table>
<style>
    tr:last-child {
        background-color: red; 
    }
</style>
Copier après la connexion

:first-of-type

定义第一个元素相同类型元素的样式,与 :nth-of-type(1) 效果一样

:last-of-type

定义最后一个元素相同类型元素的样式,常见使用方法如下:

<table>
    <tbody>
        <tr>
            <td>name</td>
            <td>gender</td>
            <td>age</td>
        </tr>
        <tr>
            <td>George</td>
            <td>Male</td>
            <td>23</td>
        </tr>
        <tr>
            <td>Kevin</td>
            <td>Male</td>
            <td>28</td>
        </tr>
        <tr>
            <td>Angule</td>
            <td>Male</td>
            <td>23</td>
        </tr>
    </tbody>
</table>
<style>
    tr:last-of-type {
        background-color: red; 
    }
</style>
Copier après la connexion

:only-child

用于定义子元素只有一个且与制定元素标签相同,常见使用方法如下:

<p>
    <h1>Hello</h1>
</p>
<style>
    h1:only-child {
        /*如果 p 中还有其他任何元素,则h1不会按照该选择器中定义的样式渲染*/
    }
</style>
Copier après la connexion

:only-of-type

用于定义只包含一个制定的标签元素的样式,常见使用方法如下:

<p>
    <h1>Hello</h1>
</p>
<style>
    h1:only-of-type {
        /*如果 p 中还有其他任何元素,则h1不会按照该选择器中定义的样式渲染*/
    }
</style>
Copier après la connexion

:empty

用于定义,一个元素中没有包含任何子元素的样式,常见使用方法如下:

<p>
    
</p>
<style>
    p:empty {
        display: none;
    }
</style>
Copier après la connexion

CSS3 新增的其他选择器

E ~ F

用于定义兄弟元素的样式,常见使用方法如下:

<p>
    <p>Hello</p>
</p>
<p>CSS</p>
<style>
    p ~ p {
        color: red;
    }
</style>
Copier après la connexion

p 元素中的 p 不会被渲染为红色字体,只有跟 p 是同级的 p 才会被渲染为红色!

:not(s)

用于定义指定元素,并且过滤 s 所指定的选择器元素,常见使用方法如下:

<p>
    <p class="red">Hello</p>
    <p class="blue">World</p>
    <p>Welcome!</p>
</p>
<style>
    p:not(.red) {
        color: blue;
    }
</style>
Copier après la connexion

注意:s 是一个简单的结构选择器,不能使用复合选择器,该选择器只匹配第一个复合条件的元素。如上所示,最后一个 p 不会被渲染为蓝色!

:target

用于定义被访问的锚链样式,常见使用方法如下:

<p>
    <p id="text-one">
        <p>这是第一个文本段</p>
    </p>
    <p id="text-two">
        <p>这是第二个文本段</p>
    </p>
</p>
<style>
    p:target {
        color: red;
    }
</style>
Copier après la connexion

注意:当我们激活锚链时(url中包含 #text-one 或 #text-two),对应的 p 内的元素字体会被渲染为红色!

CSS3 UI 元素状态伪类选择器

:enabled

用于定义元素的 enabled 时的样式,常见使用方式如下:

<p>
    <input type="text">
</p>
<style>
    input:enabled {
        background: #ffff00;
    }
</style>
Copier après la connexion

注意:元素默认状态为 enabled

:disabled

用于定义元素处于禁用状态时的样式,常见使用方法如下:

<p>
    <input type="text" disabled="disabled"/>
</p>
<style>
    input:disabled {
        background: #dddddd;
    }
</style>
Copier après la connexion

:checked

用于定义元素被选中时的样式,常见使用方式如下:

<p>
    <form>
        <input type="checkbox" />
    </form>
</p>
<style>
    input:checked {
        color: green;
    }
</style>
Copier après la connexion

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

你不知道的冷门CSS属性

href和src、link和@import有什么区别

css的绝对定位怎么兼容所有的分辨率

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!

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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

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 télécharger des fichiers sur bootstrap Comment télécharger des fichiers sur bootstrap Apr 07, 2025 pm 01:09 PM

La fonction de téléchargement de fichiers peut être implémentée via Bootstrap. Les étapes sont les suivantes: introduire les fichiers Bootstrap CSS et JavaScript; créer des champs d'entrée de fichier; créer des boutons de téléchargement de fichiers; gérer les téléchargements de fichiers (à l'aide de FormData pour collecter des données, puis envoyer au serveur); style personnalisé (facultatif).

Comment utiliser le bouton bootstrap Comment utiliser le bouton bootstrap Apr 07, 2025 pm 03:09 PM

Comment utiliser le bouton bootstrap? Introduisez Bootstrap CSS pour créer des éléments de bouton et ajoutez la classe de bouton bootstrap pour ajouter du texte du bouton

Comment redimensionner le bootstrap Comment redimensionner le bootstrap Apr 07, 2025 pm 03:18 PM

Pour ajuster la taille des éléments dans Bootstrap, vous pouvez utiliser la classe de dimension, qui comprend: ajuster la largeur: .col-, .w-, .mw-ajustement Hauteur: .h-, .min-h-, .max-h-

Comment supprimer le style par défaut dans la liste Bootstrap? Comment supprimer le style par défaut dans la liste Bootstrap? Apr 07, 2025 am 10:18 AM

Le style par défaut de la liste bootstrap peut être supprimé avec CSS Override. Utilisez des règles et sélecteurs CSS plus spécifiques, suivez le «principe de proximité» et le «principe de poids», en remplacement du style par défaut de bootstrap. Pour éviter les conflits de style, des sélecteurs plus ciblés peuvent être utilisés. Si le remplacement est infructueux, ajustez le poids du CSS personnalisé. Dans le même temps, faites attention à l'optimisation des performances, évitez la surutilisation de! Importante et écrivez le code CSS concis et efficace.

Comment changer la taille d'une liste de bootstrap? Comment changer la taille d'une liste de bootstrap? Apr 07, 2025 am 10:45 AM

La taille d'une liste d'amorçage dépend de la taille du conteneur qui contient la liste, pas de la liste elle-même. L'utilisation du système de grille de bootstrap ou de Flexbox peut contrôler la taille du conteneur, redimentant ainsi indirectement les éléments de la liste.

Comment insérer des photos sur bootstrap Comment insérer des photos sur bootstrap Apr 07, 2025 pm 03:30 PM

Il existe plusieurs façons d'insérer des images dans Bootstrap: insérer directement les images, en utilisant la balise HTML IMG. Avec le composant d'image bootstrap, vous pouvez fournir des images réactives et plus de styles. Définissez la taille de l'image, utilisez la classe IMG-FLUID pour rendre l'image adaptable. Réglez la bordure en utilisant la classe IMG-border. Réglez les coins arrondis et utilisez la classe Roundée IMG. Réglez l'ombre, utilisez la classe Shadow. Redimensionner et positionner l'image, en utilisant le style CSS. À l'aide de l'image d'arrière-plan, utilisez la propriété CSS d'image d'arrière-plan.

Comment construire un framework bootstrap Comment construire un framework bootstrap Apr 07, 2025 pm 12:57 PM

Pour créer un framework bootstrap, suivez ces étapes: Installez Bootstrap via CDN ou installez une copie locale. Créez un document HTML et liez Bootstrap CSS à & lt; head & gt; section. Ajoutez un fichier JavaScript bootstrap au & lt; body & gt; section. Utilisez le composant bootstrap et personnalisez la feuille de style en fonction de vos besoins.

Comment disposer bootstrap Comment disposer bootstrap Apr 07, 2025 pm 02:24 PM

Pour utiliser Bootstrap pour disposer d'un site Web, vous devez utiliser un système de grille pour diviser la page en conteneurs, lignes et colonnes. Ajoutez d'abord le conteneur, puis ajoutez les lignes dedans, ajoutez les colonnes dans la ligne et enfin ajoutez le contenu dans la colonne. La fonction de mise en page réactive de Bootstrap ajuste automatiquement la disposition en fonction des points d'arrêt (XS, SM, MD, LG, XL). Différentes dispositions sous différentes tailles d'écran peuvent être réalisées en utilisant des classes réactives.

See all articles