¿Es posible en CSS puro, es decir, sin agregar etiquetas html adicionales, hacer un salto de línea como <br>? Quiero el salto de línea después del <h4>elemento, pero no antes:
HTML
<li>
Text, text, text, text, text. <h4>Sub header</h4>
Text, text, text, text, text.
</li>
CSS
h4 {
display: inline;
}
He encontrado muchas preguntas como esta, pero siempre con respuestas como "use display: block"; , lo que no puedo hacer, cuando <h4>deben permanecer en la misma línea.

Respuestas:
Funciona así:
h4 { display:inline; } h4:after { content:"\a"; white-space: pre; }Ejemplo: http://jsfiddle.net/Bb2d7/
El truco viene de aquí: https://stackoverflow.com/a/66000/509752 (para tener más explicación)
fuente
\asignifica salto de línea, carácter U + 000A, ywhite-space: prele dice a los navegadores que lo traten como un salto de línea en el renderizado.white-spacedel:afterpseudoelemento, que contiene solo el salto de línea. Y es necesario porque en HTML, por defecto, un salto de línea en el contenido del elemento es equivalente a un espacio y no causa un salto de línea en el documento renderizado.Tratar
h4{ display:block;}en tu css
http://jsfiddle.net/ZrJP6/
fuente
margin-bottomdebería llevarlo allí.margin-bottompondrá h4 en la misma línea que el texto anterior?Puede usar
::afterpara crear un0pxbloque -height después de<h4>, que efectivamente mueve cualquier cosa después<h4>de la siguiente línea: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>fuente