¿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
\a
significa salto de línea, carácter U + 000A, ywhite-space: pre
le dice a los navegadores que lo traten como un salto de línea en el renderizado.white-space
del:after
pseudoelemento, 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-bottom
debería llevarlo allí.margin-bottom
pondrá h4 en la misma línea que el texto anterior?Puede usar
::after
para crear un0px
bloque -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