HTML + CSS: ¿Cómo obligar a los contenidos div a permanecer en una línea?

259

Tengo un texto largo dentro de un divcon definidowidth :

HTML:

<div>Stack Overflow is the BEST !!!</div>

CSS:

div {
    border: 1px solid black;
    width: 70px;
}

¿Cómo podría forzar que la cuerda permanezca en una línea (es decir, que se corte en medio de "Desbordamiento")?

Traté de usar overflow: hidden, pero no me ayudó.

Misha Moroshko
fuente
12
white-space: nowrappon esto en tu etiqueta de estilo.
Moshii

Respuestas:

524

Prueba esto:

div {
    border: 1px solid black;
    width: 70px;
    overflow: hidden;
    white-space: nowrap;
}
Bazzz
fuente
71

Uso white-space:nowrapyoverflow:hidden

http://jsfiddle.net/NXchy/8/

otro derrochador
fuente
34
Agregue text-overflow:ellipsis;a arriba para una mejor apariencia.
tj-recess
¿Se puede lograr esto sin CSS?
nilon
51

en su uso de CSS white-space:nowrap;

Rob Agar
fuente
14

Su código HTML: <div>Stack Overflow is the BEST !!!</div>

CSS:

div {
    width: 100px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

Ahora el resultado debería ser:

Stack Overf ...
Bozlur Rahman
fuente
12

¡Todos saltaron sobre este! Yo también hice un violín:

http://jsfiddle.net/audetwebdesign/kh4aR/

RobAgar consigue un punto por señalar white-space:nowrapprimero.

Aquí hay un par de cosas que necesita overflow: hiddensi no quiere ver los caracteres adicionales que aparecen en su diseño.

Además, como se mencionó, podría usar white-space: pre(ver EnderMB) teniendo en cuenta que preno colapsará el espacio en blanco, mientras que lo white-space: nowraphará.

Marc Audet
fuente
4

Prueba esto. Se usa en prelugar de nowrapcomo supongo que querrías que se ejecute de manera similar, <pre>pero funcionará bien:

div {
    border: 1px solid black;
    max-width: 70px;
    white-space:pre;
}

http://jsfiddle.net/NXchy/11/

Mike B
fuente
4

Salté aquí buscando lo mismo, pero ninguno funcionó para mí.

Hay instancias en las que, independientemente de lo que haga, y dependiendo del sistema (Oracle Designer: Oracle 11g - PL / SQL), los divs siempre irán a la siguiente línea, en cuyo caso debe usar la etiqueta span.

Esto funcionó de maravilla para mí.

<span float: left; white-space: nowrap; overflow: hidden; onmouseover="rollOverImageSectionFiveThreeOne(this)">
    <input type="radio" id="radio4" name="p_verify_type" value="SomeValue"  />
</span> 
Just Your Text || 
<span id="headerFiveThreeOneHelpText" float: left; white-space: nowrap; overflow: hidden;></span>
Dököll
fuente
Enorme ayuda en esto, esto fue todo lo que funcionó para mí, probablemente pasé 30 minutos en esto, jajaja. Curiosamente, no estoy usando nada de lo que mencionaste, css, javascript, bootstrap y algunos css personalizados.
edencorbin
3

agrega esto a tu div

white-space: nowrap;

http://jsfiddle.net/NXchy/1/

stephenmurdoch
fuente
1
puede agregar: desbordamiento: automático para mostrar una barra de desplazamiento horizontal
Sarah West
1
div {
    display: flex;
    flex-direction: row; 
}

fue la solución que funcionó para mí. En algunos casos con div-lists esto es necesario.

algunos valores de dirección alternativos son los row-reverse, column, column-reverse, unset, initial, inherit que hacen las cosas que espera que hagan

Pingger Shikkoken
fuente
0

Intente establecer una altura para que el bloque no pueda crecer para acomodar su texto y mantenga el overflow: hiddenparámetro

EDITAR: Aquí hay un ejemplo de lo que le gustaría si necesita mostrar 2 líneas de alto:

div {
    border: 1px solid black;
    width: 70px;
    height: 2.2em;
    overflow: hidden;
}
Wouter Simons
fuente
En su caso, la opción nowrap es probablemente mejor, pero dejé mi respuesta porque a veces necesito un bloque que puede tener algunas líneas ajustadas hasta que se desborde así: jsfiddle.net/NXchy/7 (cambió el enlace de la versión de Stephenmurdoch, gracias!)
Wouter Simons
No es necesario, ¿qué sucede si el usuario desea aumentar el tamaño del texto usando ctrl- +? Mantener la altura flexible es mejor.
Marc Audet
Si el usuario cambia el tamaño del texto con ctrl- + debería funcionar: jsfiddle.net/kpKW3
Wouter Simons
El uso de em's en la heightmantiene flexible, punto clave bien ilustrado aquí en su ejemplo.
Marc Audet