Cómo cambiar la altura de un?


Tengo un gran párrafo de texto que se divide en subpárrafos con <br> ' s:

<p>
  Blah blah blah.
  <br/>
  Blah blah blah. Blah blah blah. Blah blah blah.
  <br/>
  Blah blah blah.
</p>

Quiero ampliar la brecha entre estos subpárrafos, como si hubiera dos <br>'s o algo así. Sé que la forma correcta de hacer esto es usar <p></p>, pero ahora mismo no puedo cambiar este diseño, por lo que estoy buscando una solución solo para CSS.

He intentado configurar <br>'s line-height y height con display: block, también busqué en Google y apilé Desbordamiento brevemente, pero no encontré ninguna solución. Es este incluso posible sin cambiar el diseño?

 210
Author: Danny Beckett, 2009-09-11

30 answers

Css:

br {
   display: block;
   margin: 10px 0;
}

La solución probablemente no es compatible con varios navegadores, pero es algo al menos. También considere establecer line-height:

line-height:22px;

Para Google Chrome, considere ajuste content:

content: " ";

Aparte de eso, creo que estás atascado con una solución de JavaScript.

 230
Author: Duroth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:33:24

Aquí está la solución correcta que en realidad tiene soporte para varios navegadores:

  br {
        line-height: 150%;
     }
 48
Author: htmldrum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-28 12:38:22

Otra forma es usar un HR. Pero, y aquí está la parte astuta, hacerlo invisible.

Así:

<hr style="height:30pt; visibility:hidden;" />

Para hacer un break BR más limpio simulado utilizando el HR: Btw funciona en todos los navegadores!!

{ height:2px; visibility:hidden; margin-bottom:-1px; }
 35
Author: Simon Smith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-16 21:21:49

Así que, los de arriba tienen básicamente una respuesta similar, pero aquí es muy sucinta. Funciona en Opera, Chrome, Safari y Firefox, lo más probable es que IE también?

br {
            display: block; /* makes it have a width */
            content: ""; /* clears default height */
            margin-top: 0; /* change this to whatever height you want it */
}
 29
Author: Isaac Minogue,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-26 05:27:59

Por lo que sé <br> no tiene una altura, simplemente fuerza un salto de línea. Lo que tiene es un texto con algunos saltos de línea además de los auto-wrap, no subpárrafos. Puede cambiar el espaciado entre líneas, pero eso afectará a todas las líneas.

 23
Author: Michael Borgwardt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-11 08:18:52

Acabo de tener este problema, y lo solucioné usando

<div style="line-height:150%;">
    <br>
</div>
 16
Author: nigel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-24 10:26:22

Puede aplicar line-height en ese elemento <p>, por lo que las líneas se hacen más grandes.

 11
Author: yoda,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-11 08:17:11

No he probado el :before/:after pseudo-elemento CSS2 antes, principalmente porque solo es compatible con IE8 (esto en relación con los navegadores IE) . Esta podría ser la única solución CSS posible:

br:before {
    display: block;
    margin-top: 10px;
    content: "";
}

Aquí es un ejemplo en QuirksMode.

 6
Author: Filip Dupanović,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-11 08:42:51

Curiosamente, si la etiqueta break está escrita en forma completa de la siguiente manera:

<br></br>

Entonces la línea CSS-altura:145% funciona. Si la etiqueta break está escrita como:

<br> or 
<br/> 

Entonces no funciona, al menos en Chrome, IE y firefox. Raro!

 4
Author: keithphw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-02 12:48:51

Y recuerde que (mal)usando la etiqueta <hr> como se sugiere en algún lugar, terminará la etiqueta <p>, así que olvídese de esa solución.
Si f.ex. algo está estilizado en el <p> circundante, ese estilo desaparece para el resto del contenido después de que se inserta el <hr>.

 4
Author: niels,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-18 12:13:57

Michael y yoda tienen razón. Lo que puedes hacer es usar la etiqueta <p>, que, al ser una etiqueta de bloque, usa un margen inferior para compensar el siguiente bloque, por lo que puedes hacer algo similar a esto para obtener un espacio más grande:

<p>
    A block of text.
</p>
<p>
    Another block
</p>

Otra alternativa es usar la etiqueta block <hr>, con la que se puede definir explícitamente la altura del espaciado.

 3
Author: Filip Dupanović,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-11 08:26:49

Tuve un pensamiento que usted podría ser capaz de utilizar:

br:after {
    content: ".";
    visibility: hidden;
    display: block;
}

Pero eso no funcionó en chrome o Firefox.

Solo pensé en mencionar que en caso de que se le ocurriera a alguien más y les ahorraría el problema.

 3
Author: Sam Lowry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-11 09:17:10

Lo que funciona para mí es agregar esto en línea entre las etiquetas de párrafo... sin embargo, no es la mejor solución.

<br style="line-height:32px">

-------- Editar ---------

Me encontré con problemas con PC/Mac con esto... Le da al texto la nueva altura de línea, pero no hace el salto de línea... Es posible que desee hacer algunas pruebas usted mismo. Lo siento!

 3
Author: robinwkurtz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-27 17:00:10

Aquí hay una solución que funciona en IE, Firefox y Chrome. La idea es aumentar el tamaño de fuente del elemento br del tamaño del cuerpo de 14px a 18px, y bajar el elemento por 4px para que el tamaño extra esté debajo de la línea de texto. El resultado es 4px de espacio en blanco extra por debajo de la br.

br 
{ 
font-size: 18px; 
vertical-align: -4px; 
}  
 3
Author: David Shaked,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-16 15:38:03
br {   
    content: "";
    margin: 2em;
    display: block;
    margin-bottom: -20px; 
 }

Funciona en Firefox, Chrome y Safari. No he probado en Explorer. (Windows-tablet está sin energía.)

Saltos de línea, tamaño de fuente funciona de manera diferente en Firefox y Safari.

 3
Author: DeFliGra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-18 23:16:15

<br /> tomará tanto espacio como la fila llena de texto de su <p>, no puede cambiar eso. Si desea más grande, significa que desea separar en párrafo, así que agregue otro <p>. No olvides ser lo más semántico que puedas;)

 2
Author: Clement Herreman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-11 08:21:13

No parece ser capaz de ajustar la altura de un BR, pero puede hacerlo desaparecer de forma fiable utilizando display:none

Se encontró con esta página mientras buscaba una solución a lo siguiente:

Tengo una situación en la que 3rd party payment gateway (Worldpay) solo le permite personalizar sus páginas de pago con un máximo de 10k de CSS y HTML (no se permite script) que se inyectan en el cuerpo de su plantilla, y después de algunos BR, etiquetas de FUENTE, etc. Junto con su DTD que obliga a IE7 / 8 en el modo Peculiaridades, esto hace que la personalización entre navegadores sea tan difícil como se pone!

Apagar BR hace las cosas mucho más consistentes...

 1
Author: Aaron Davidson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-13 17:24:06

Uso estos métodos, pero no sé si cross-browser

================= Método 1 ==================

br {
    display:none;
}

O

================= Método 2 ==================

br {
    display: block;
    margin-bottom: 2px;
    font-size:2px;
    line-height: 2px;
}
br:before {
    display: block;
    margin-top: 2px;
    content: "";
}
br:after {
    content: ".";
    visibility: hidden;
    display: block;
}

O

================= Método 3 ==================

br:after { content: "" }
br { content: "" }
 1
Author: T.Todua,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-24 07:46:51

Intente usar el atributo CSS line-height en su etiqueta p que contiene la etiqueta br. Recuerde que puede id sus etiquetas p si desea aislarlo, aunque podría ser mejor usar un div para el aislamiento, IMO.

 1
Author: Drizien,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-18 22:29:48

Lo siento si alguien más ya dijo esto, pero la solución simple es jugar con su "altura de línea". Si está obteniendo demasiado espacio cuando usa un salto de línea, es simplemente porque tiene la altura de la línea establecida demasiado alta. Puede corregir esto en CSS (pero sepa que afectará a todo lo que use esa propiedad) o puede hacer un estilo en línea para anular el CSS.

 1
Author: Daniel Siddall,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-28 18:06:03

También puede usar la propiedad "block-quote" en CSS. Eso haría que no afecte a sus líneas individuales, pero le permite establecer parámetros solo para los saltos entre párrafos o"comillas de bloque".

ACTUALIZACIÓN:
Me equivoco. "blockquote" es en realidad una propiedad html. Lo usas igual que y en tu trabajo. A continuación, puede establecer los parámetros para su cita de bloque en css como

blockquote { margin-top: 20px }

Espero que esto ayude. Es similar a establecer el parámetros en el br y puede o no ser compatible con el navegador cruzado.

 0
Author: Jonn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-12 01:52:24

<br> es para un salto de línea.
<br /> también es para salto de línea, el " / " necesario opcionalmente para elementos void o para xhtml.
Usando <br></br>, los navegadores insertarán dos saltos de línea porque ambos son "virtualmente" lo mismo.
No hay manera de aumentar el tamaño de un salto de línea, porque es sólo un salto de línea.
Utilice un div con vilibility establecido en hidden (<div style="vilibility:hidden; line-height:150%;"</div>) o mejor aún, un párrafo.

 0
Author: dorogz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-14 18:30:26
<span style="line-height:40px;"><br></span> 

Tendría que hacer esto en línea y en cada elemento
, pero debería funcionar en la mayoría de los navegadores Jugar con la altura de la línea para obtener el efecto deseado. Si lo hace en línea en cada elemento, debería funcionar en la mayoría de los navegadores y correos electrónicos(pero esto es demasiado complejo para discutirlo aquí).

 0
Author: Liam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-22 09:46:41

Esto hizo el truco para mí cuando no pude conseguir que el espaciado de estilo funcionara desde la etiqueta span:

        <p style='margin-bottom: 5px' >
            <span>I Agree</span>
        </p>
        <span>I Don't Agree</span>
 0
Author: gnB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-18 22:07:52

Si el propósito es agregar un poco de espacio vertical adicional después de la etiqueta <br>, sin romper el párrafo lógico, algo como esto hará el truco. Funciona bien en todos los navegadores:

<span style="vertical-align:-37%"> </span><br>

Aquí hay una página de demostración que incluye algunas otras variaciones sobre el tema:

Http://www.burtonsys.com/a_little_extra_vertical_space_for_br_tag.html

 0
Author: Dave Burton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-18 20:55:51

Use <div>

<div>Content 1</div>Content 2

Esto permite una nueva línea sin ningún espacio vertical.

Esto se convierte en

<div>Content 1</div>Content 2
 0
Author: Josh Ginn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-09 23:01:14

Respondiendo a un nivel más general para cualquiera que haya aterrizado aquí, ya que están solucionando problemas de espaciado causados por la etiqueta <br>. Tengo que hacer muchos reinicios para acercarme a pixel perfect.

br {
    content: " ";
    display: block;
}

Para el tema específico que estaba abordando tenía que tener un espacio específico entre las líneas. He añadido un margen a la parte superior e inferior.

br {
    content: " ";
    display: block;
    margin: 0.25em 0;
}
 0
Author: JGallardo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-14 18:34:32

Conseguí que funcionara en IE7 usando un combo de soluciones, pero principalmente envolviendo el Br en DIV como Nigel y otros sugirieron. Añadido Id y ejecutar en = "servidor" por lo que podría eliminar la BR al eliminar la casilla de verificación de la fila de casillas de verificación.

.narrow {
    display: block;
    margin: 0px;
    line-height: 0px;
    content: " "; 
}
<div class="narrow" run at="server"><br></br></div>
 0
Author: Jon Reedholm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-29 23:16:34

Tuve que desarrollar una solución para convertir HTML a PDF, y centrar verticalmente el texto en celdas de tabla, pero nada funcionó excepto ingresar el plano <br>

Así que, pensando fuera de la caja, he cambiado el tamaño vertical ajustando el tamaño de fuente (en pt).

<font style="font-size: 4pt"><br></font>
 0
Author: Display Name,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-16 19:00:05

Puede estar utilizando dos etiquetas br es la solución más simple que funciona con todos los navegadores. Pero es repetitivo.

<p>
content
</p>
<br /><br />
<p>
content
</p>
<br /><br />
<p>
content
</p>
 0
Author: Miloud Eloumri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-07 15:22:17