Maison > interface Web > tutoriel CSS > Pourquoi CSS `:after` n'ajoute-t-il pas de contenu aux éléments remplacés comme les images et les entrées ?

Pourquoi CSS `:after` n'ajoute-t-il pas de contenu aux éléments remplacés comme les images et les entrées ?

Barbara Streisand
Libérer: 2024-12-16 05:04:09
original
921 Les gens l'ont consulté

Why Doesn't CSS `:after` Add Content to Replaced Elements Like Images and Inputs?

CSS :after Ne pas ajouter de contenu à certains éléments

La propriété CSS :after est utilisée pour insérer du contenu après un élément dans l'arborescence du document . Cependant, il semble fonctionner uniquement avec des éléments spécifiques, tels que les paragraphes (

) et les tableaux (

), mais pas avec les éléments remplacés comme les images () et les entrées de formulaire ( ).

Qu'est-ce qui détermine l'acceptabilité de :after et :before Propriétés ?

Le comportement de :after et :before est régi par le fait que les éléments remplacés fonctionnent différemment. Les éléments remplacés sont ceux dont l'apparence et les dimensions sont définies par une ressource externe, telle que des images, des plugins et des éléments de formulaire.

Selon la spécification CSS, :before et :after ne fonctionnent qu'avec des éléments non remplacés. Cela signifie qu'ils ne peuvent pas être utilisés pour ajouter du contenu avant ou après des éléments remplacés.

Exemple avec Span

Considérez le code HTML suivant :

<span>Content of span</span>
Copier après la connexion

Avec le CSS suivant :

span:before {
  content: "Before";
}

span:after {
  content: "After";
}
Copier après la connexion

Le DOM de ce scénario ressemble à this :

<span>
  <before>Before</before>
  Content of span
  <after>After</after>
</span>
Copier après la connexion

Cette structure montre comment :before et :after peuvent insérer du contenu avant et après un élément non remplacé.

Exception avec Image

Cependant, utiliser :after avec une image ne donne pas le même résultat :

<img src="image.png" />
Copier après la connexion
img:after {
  content: "After";
}
Copier après la connexion

C'est parce que :after ne peut pas modifier l'apparence d'un élément remplacé.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal