Maison > interface Web > tutoriel CSS > ## Comment positionner un pseudo-élément `::before` derrière son parent lors de l'utilisation de `z-index` ?

## Comment positionner un pseudo-élément `::before` derrière son parent lors de l'utilisation de `z-index` ?

Patricia Arquette
Libérer: 2024-10-24 20:59:02
original
326 Les gens l'ont consulté

## How to Position a `::before` Pseudo-Element Behind Its Parent When Using `z-index`?

Énigme de l'index Z avec le pseudo-élément Avant

Lors de l'emploi d'un pseudo-élément avant dans un élément parent, il est essentiel d'aborder son comportement de positionnement. Par défaut, le pseudo-élément est positionné à l'intérieur de son parent.

Cependant, l'attribution d'un z-index à l'élément parent crée un nouveau contexte d'empilement, isolant son contenu. Par conséquent, le pseudo-élément before, même avec un z-index négatif, ne peut pas apparaître derrière le parent en raison de la limite du contexte d'empilement.

Pour résoudre ce problème, envisagez la solution suivante :

  1. Hiérarchie des éléments séparés : Faites précéder l'élément d'en-tête d'un autre élément. Cela crée un ordre d'empilement naturel dans lequel le nouvel élément parent peut recevoir un z-index inférieur à l'en-tête, permettant au pseudo-élément before d'apparaître derrière lui.
  2. Z-Index Nesting : Bien que cela soit moins recommandé, vous pouvez utiliser des valeurs d'index z négatives pour le pseudo-élément et des valeurs positives pour l'élément parent afin de créer l'ordre d'empilement souhaité dans le même contexte d'empilement. Cependant, cette approche peut conduire à un code plus complexe et à des problèmes potentiels de compatibilité entre navigateurs.

Exemple :

<code class="css"><div class="wrapper">
  <header>
    content...
    <span class="pseudo-element">Before content...</span>
  </header>
</div>

.wrapper {
  position: relative;
  z-index: 0;
}

header {
  position: relative;
  background: yellow;
  height: 100px;
  width: 100px;
  z-index: 1;
}

.pseudo-element {
  position: absolute;
  background: red;
  height: 100px;
  width: 100px;
  top: 25px;
  left: 25px;
  z-index: 0;
}</code>
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!

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