Est-il possible en css pur, c'est-à-dire sans ajouter de balises html supplémentaires, de faire un saut de ligne comme <br>
? Je veux le retour à la ligne après le <h4>
élément, mais pas avant:
HTML
<li>
Text, text, text, text, text. <h4>Sub header</h4>
Text, text, text, text, text.
</li>
CSS
h4 {
display: inline;
}
J'ai trouvé de nombreuses questions comme celle-ci, mais toujours avec des réponses telles que "use display: block;", ce que je ne peux pas faire lorsque le <h4>
doit rester sur la même ligne.
Cela fonctionne comme ceci:
h4 {
display:inline;
}
h4:after {
content:"\a";
white-space: pre;
}
Exemple: http://jsfiddle.net/Bb2d7/
Le truc vient d’ici: https://stackoverflow.com/a/66000/509752 (pour avoir plus d’explications)
Vous pouvez utiliser ::after
pour créer un 0px
- bloc de hauteur après le <h4>
, qui déplace effectivement quoi que ce soit après le <h4>
à la ligne suivante:
h4 {
display: inline;
}
h4::after {
content: "";
display: block;
}
<ul>
<li>
Text, text, text, text, text. <h4>Sub header</h4>
Text, text, text, text, text.
</li>
</ul>