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