Utilisez la propriété content et stylisez ce contenu. Le comportement du contenu est ensuite ajusté en utilisant des pseudo-éléments. Les pseudo-éléments ::before et ::after fonctionnent tous deux dans Mac Safari 10.0.3.
Ici, le contenu de l'élément br est utilisé comme l'ancre de l'élément br::after. L'élément br est l'endroit où l'espacement br peut être stylisé. br::after est l'endroit où le contenu de br::after peut être affiché et stylisé. Ça a l'air sympa, mais ce n'est pas un saut de ligne de 2px.
br { content: ""; display: block; margin: 1rem 0; }
br::after { content: "› "; /* content: " " espace ignoré */; float: left; margin-right: 0.5rem; }
La propriété line-height de l'élément br est ignorée. Si des valeurs négatives sont appliquées à l'un ou l'autre des sélecteurs, ou aux deux, pour donner un 'soulèvement' vertical aux balises br en affichage, alors un espacement vertical correct se produit, mais le contenu d'affichage est incrémentalement indenté après chaque balise br. L'indentation est exactement égale à la quantité que le soulèvement varie par rapport à la hauteur de ligne typographique réelle. Si vous devinez correctement le soulèvement, il n'y a pas d'indentation mais une seule ligne empilée exactement égale à la hauteur brute du glyphe, coincée entre les lignes précédentes et suivantes.
De plus, une balise br finale fera en sorte que la balise d'affichage html suivante hérite de la mise en forme du contenu de br:after. De plus, les pseudo-éléments font en sorte que
soit interprété comme un seul
. Alors que la pseudo-classe br:active fait en sorte que chaque
soit interprété séparément. Enfin, en utilisant br:active, les styles de tous les
ainsi que le pseudo-élément br:after sont ignorés. Donc, tout ce qui est requis est ceci:
br:active { }
ce qui n'aide pas à créer un affichage de
de 2px de hauteur. Et ici, la pseudo-classe :active est ignorée!
br:active { content: ""; display: block; margin: 1,25em 0; }
br { content: ""; display: block; margin: 1rem; }
br::after { content: "› "; /* content: " " espace ignoré */; float: left; margin-right: 0,5rem; }
Ceci est une solution partielle seulement. La pseudo-classe et le pseudo-élément peuvent fournir une solution, s'ils sont ajustés. Cela peut faire partie de la solution CSS. (Je n'ai que Safari, essayez dans d'autres navigateurs.)
Apprenez le développement web : pseudo-classes et pseudo-éléments
Prêtez attention aux éléments globaux - BR sur Mozilla.org