Maison  >  Article  >  interface Web  >  La différence entre nième-enfant et nième-de-type en CSS3 et leurs conseils d'utilisation

La différence entre nième-enfant et nième-de-type en CSS3 et leurs conseils d'utilisation

php中世界最好的语言
php中世界最好的语言original
2018-03-22 11:27:461990parcourir

Cette fois, je vais vous présenter les différences et les conseils d'utilisation entre le nième-enfant et le nième-de-type en CSS3. Quelles sont les précautions lors de l'utilisation du nième-enfant et du nième-de-type ? Voici quelques exemples de cas pratiques.

La différence entre nth-child et nth-of-type en CSS3 est en fait très simple : Pourquoi :nth-of-type est-il appelé :nth-of-type ? Parce qu'il se distingue par son « type ». C'est-à-dire : ele:nth-of-type(n) fait référence au nième élément ele sous l'élément parent, et ele:nth-child(n) fait référence au nième élément sous l'élément parent et cet élément est ele. Si ce n'est pas le cas, la sélection échoue.

Le texte peut paraître plutôt obscur, il est donc plus facile à comprendre Voici un petit exemple :

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<style>
.demo li:nth-child(2){
color: #ff0000;
}
.demo li:nth-of-type(2){
color: #00ff00;
}
</style>
<body>
<p>
<ul class="demo">
<p>zero</p>
<li>one</li>
<li>two</li>
</ul>
</p>
</body>
</html>

Les résultats sont les suivants :

Dans l'exemple ci-dessus, .demo li:nth-child(2) sélectionne le nœud

  • one
  • , tandis que .demo li:nth-of-type(2) sélectionne < li>deux< ;/li>Nœud.

    Mais que se passe-t-il si aucune balise n'est spécifiée avant nième enfant et nième de type ?

    .demo :nth-child(2){
    color: #ff0000;
    }
    .demo :nth-of-type(2){
    color: #00ff00;
    }

    Quel sera le résultat de cela ? Regardez la structure html :

    <ul class="demo">
    <p>first p</p>
    <li>first li</li>
    <li>second li</li>
    <p>second p</p>
    </ul>

    Le résultat :

    Comme vous pouvez le voir ci-dessus, ne spécifiez pas le type de balise avant eux, :nth-child(2) sélectionne toujours le deuxième élément, quelle que soit la balise dont il s'agit. Et :nth-type-of(2) sélectionne deux éléments, qui sont la deuxième balise p et la deuxième balise li dans parent.demo. On peut voir que lorsque le type de balise n'est pas spécifié, :nth-type -of. (2) sélectionnera la deuxième de toutes les balises de type.

    Nous avons déjà compris l'usage de base et les différences entre nième-enfant et nième-de-type, allons donc plus loin dans nième-de-type(n) et nième-enfant( n) Qu'est-ce que n ?

    n dans nième-de-type(n) et nième-enfant(n) peut être un nombre, un mot-clé ou une formule. Chiffres : il s’agit de l’utilisation des exemples ci-dessus, je n’entrerai donc pas dans les détails. Mots-clés : Impair, pair

    Pair et impair sont des mots-clés qui peuvent être utilisés pour faire correspondre des sous-éléments dont les indices sont impairs ou pairs. L'indice de est 1

    Ici. , nous spécifions deux couleurs de fond différentes pour les p éléments impairs et pairs :

    Formule : Ou arithmétique

    L'expression

    p:nth-of-type(odd)
    {
    background:#ff0000;
    }
    p:nth-of-type(even)
    {
    background:#0000ff;
    }

    utilise la formule (an + b). Description : indique la durée de la période, n est le compteur (à partir de 0) et b est la valeur de décalage. Ici, nous précisons la couleur de fond de tous les éléments p dont les indices sont des multiples de 3 :

    Je crois que vous maîtrisez la méthode après avoir lu le cas dans cet article. Veuillez venir. pour des informations plus intéressantes, faites attention aux autres articles connexes sur le site Web chinois de php !

    Lecture recommandée :
    p:nth-of-type(3n+0)
    {
    background:#ff0000;
    }

    Explication détaillée du nouvel attribut box-sizing de CSS3 CSS3 réalise un effet de vélo animé

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