Maison > interface Web > tutoriel CSS > le corps du texte

Introduction détaillée au sélecteur CSS

零下一度
Libérer: 2018-05-26 14:26:01
original
3542 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes du sélecteur CSS dans les notes d'étude CSS. Les amis qui en ont besoin peuvent se référer à

Le sélecteur défini dans CSS1

Le sélecteur de type

est utilisé pour sélectionner des éléments d'un type spécifié (en fait, il s'agit du

sélecteur de balises HTML. L'usage courant est le suivant). suit :

body {
    /*对 body 元素定义样式*/
}

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

Le sélecteur d'ID

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

<🎜. >Grâce à CSS L'ordre de rendu est de droite à gauche et l'ID est complètement unique, le sélecteur de type précédent peut donc être omis.
<p id="nav">
    
</p>

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

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 une sélection Le sélecteur


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

Il convient de noter que le sélecteur d'inclusion ne le fait pas. se soucier du niveau, à condition qu'il suive Le sélecteur est inclus 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 !
<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

Sélecteur de pseudo-classe

:link——Sélecteur de pseudo-classe de lien

est utilisé pour définir le style lorsque le lien 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é - 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
 : actif - sélecteur de pseudo-classe d'opération utilisateur

. Utilisé pour définir le 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 la souris Après le style de l'élément, les méthodes d'utilisation courantes sont les suivantes :

<style>
    a:hover {
        text-decoration: none;
        background-color: #F4F4F4;
    }
</style>
Copier après la connexion
:focus - 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 , l'usage courant est le suivant :

<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. L'usage courant est le suivant :

<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 définis en CSS2

* - Les sélecteurs de caractères génériques


sont utilisés. Définissez le style commun pour tous les éléments du DOM. Les méthodes d'utilisation courantes sont les suivantes :

Si vous souhaitez réinitialiser. le style par défaut, il n'est pas recommandé d'utiliser le sélecteur de caractère générique
<p class="nav">
    <p>
        <p class="nav-tools">
        
        </p>
    </p>
</p>

<style>
    .nav * {
        margin: 0;
    }
</style>
Copier après la connexion

[attribut] ——

Le sélecteur d'attribut
est utilisé pour définir le style des éléments qui contiennent des attributs. Les méthodes d'utilisation courantes sont les suivantes :

<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 de l'attribut de l'élément comme 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"] - Sélecteur d'attribut

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

Comme indiqué ci-dessus, seule la couleur de premier plan du premier li sera. être défini comme rouge !
<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

[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 :

Comme indiqué ci-dessus : seule la couleur de premier plan du deuxième li sera définie comme rouge !
<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

: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 :

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 !
<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

:lang(en)

est utilisé pour définir le style de l'élément avec l'attribut lang="en". Les méthodes d'utilisation courantes sont les suivantes :

<p>
    <p lang="en">Hello World</p>
</p>

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

est utilisé pour définir le contenu et le style avant l'élément. Les méthodes d'utilisation courantes sont les suivantes :

<p>
    <a>World</a>
</p>

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

est utilisé pour définir le contenu. et style après l'élément. Méthodes d'utilisation courantes Comme suit :

<p>
    <a>Hello</a>
</p>

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

est utilisé pour définir le style du sous-niveau. élément de l'élément. La méthode courante est la suivante :

<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

est utilisé pour définir le style d'élément des éléments adjacents. sont les suivants :

<p>
    <h1>CSS</h1>
    <p>层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。</p>
</p>

<style>
    h1 + p {
        color: red;
    }
</style>
Copier après la connexion

CSS3 Nouveau sélecteur d'attribut

[foo^="bar"]


est utilisé pour définir des éléments dont les attributs d'élément commencent par bar. Le style de

comme indiqué ci-dessus marque les liens https en vert.
<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

[foo$="bar"]

est utilisé pour définir le style des éléments dont les attributs d'élément se terminent par bar

comme montré ci-dessus, identifie le format de fichier lié d'un lien hypertexte et ajoute une icône de type de fichier devant celui-ci !
<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

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!