Maison >interface Web >tutoriel CSS >Pourquoi CSS :after ne fonctionne-t-il pas avec tous les éléments HTML ?

Pourquoi CSS :after ne fonctionne-t-il pas avec tous les éléments HTML ?

DDD
DDDoriginal
2024-12-24 13:07:30546parcourir

Why Doesn't CSS :after Work with All HTML Elements?

CSS :after Comportement et compatibilité des éléments

La propriété CSS :after étend le contenu après un élément dans son flux de documents. Cependant, tous les éléments ne semblent pas soutenir ce comportement. Pourquoi :after ne fonctionne-t-il qu'avec certains éléments ?

Réponse : éléments remplacés ou éléments non remplacés

Selon la spécification CSS, seuls les éléments non remplacés peuvent avoir :before et :after propriétés. Les éléments remplacés ont leur apparence et leurs dimensions déterminées en externe, y compris des éléments tels que des images, des plugins et des contrôles de formulaire.

Que sont les éléments remplacés ?

Les éléments remplacés incluent :

  • Images (Pourquoi CSS :after ne fonctionne-t-il pas avec tous les éléments HTML ?)
  • Plugins ()
  • Éléments de formulaire (

Pourquoi :avant et :after Ne travaillez pas avec les éléments remplacés

Le CSS la spécification note que l'interaction de :before et :after avec les éléments remplacés n'est pas entièrement définie. Cet aspect est réservé à une future spécification.

Exemple

Considérons l'exemple suivant :

<span>Content of span</span>
span:before {
  content: "Before ";
}

span:after {
  content: " After";
}

La structure DOM pour cela L'exemple sera :

<span>
  <before>Before </before>
  Content of span
  <after> After</after>
</span>

Cette structure ne fonctionne pas pour les éléments remplacés comme les images car ils n'ont pas de contenu dans la même manière en tant qu'éléments non remplacés.

Par conséquent, la propriété CSS :after ne peut être utilisée qu'avec des éléments non remplacés, car leur apparence est déterminée par le contenu de l'élément lui-même.

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