28220 sujets

CSS et mise en forme, CSS3

1) Si on défini à la fois un :before contenant seulement du texte et un :first-letter sur un élément, comment les navigateurs réagissent-ils? Firefox reporte de :First-Letter sur le :before (c'est d'ailleurs le seul moyen que j'aie trouvé de styler un :before su ce navigateur!)

2) Selon la norme, quelle serait la réaction correcte?
Modifié par Circeus (18 Mar 2005 - 01:20)
Selon CSS2.0 :

a écrit :
En combinaison avec les pseudo-éléments :first-line et :first-letter, les pseudo-éléments :before et :after s'appliquent à la première lettre ou la première ligne, y compris le texte inséré.


P.special:before {content: "Spécial ! "}
P.special:first-letter {color: gold}

Ceci donnera une couleur or au "S" de "Spécial ! ".


Le fait que :first-letter s'applique à la première lettre du contenu généré par :before est donc normal.

- Opera et Firefox se comportent comme prévu par la spécificiation (text-align:middle sur :first-letter est cependant bugué dans Opera)
- IE ne connaît aucun contenu généré. Ce sera donc la première lettre du texte HTML qui sera stylée par :first-letter.

Circeus a écrit :
c'est d'ailleurs le seul moyen que j'aie trouvé de styler un :before su ce navigateur!

Le contenu généré par :before est stylable tout à fait normalement dans Firefox. Avec quelle combinaison de styles as-tu rencontré un problème ?
Modifié par Laurent Denis (18 Mar 2005 - 04:56)