2009-02-02 21 views
80

Tengo un div con un ancho de 250px. Cuando el texto interno es más ancho que el que quiero que se descomponga. El div es flotante: izquierda y ahora tiene un desbordamiento. Quiero que la barra de desplazamiento se vaya usando el ajuste de palabras. ¿Cómo puedo conseguir esto?Envoltura de palabras CSS en div

<div id="Treeview"> 
<div id="HandboekBox"> 
    <div id="HandboekTitel"> 
     <asp:Label ID="lblManual" runat="server"></asp:Label> 
    </div> 
    <div id="HandboekClose"> 
     <asp:ImageButton ID="btnCloseManual" runat="server" 
      ImageUrl="Graphics/close.png" onclick="btnCloseManual_Click" 
      BorderWidth="0" ToolTip="Sluit handboek" /> 
    </div> 
</div> 
<asp:TreeView ID="tvManual" runat="server" RootNodeStyle-CssClass="RootNode"> 
    <Nodes> 

    </Nodes> 
</asp:TreeView> 
</div> 

CSS:

#Treeview 
{ 
padding-right: 5px; 
width: 250px; 
height: 100%; 
float: left; 
border-right: solid 1px black; 
overflow-x: scroll; 
} 

Respuesta

85

Como dijo Andrew, su texto debería estar haciendo exactamente eso.

Hay una instancia que puedo pensar que se comportará de la manera que sugiere, y eso es si usted tiene la propiedad de espacio en blanco establecida.

Vea si usted no tiene lo siguiente en su CSS en alguna parte:

white-space: nowrap 

Eso hará que el texto continúe en la misma línea hasta que se interrumpa por un salto de línea.

Bien, disculpe, no estoy seguro de si editó o agregó el marcado después (no lo vi al principio).

La propiedad overflow-x es lo que está causando que aparezca la barra de desplazamiento. Quítelo y el div se ajustará a todo lo que necesite para contener todo su texto.

+0

Tienes razón. La vista de árbol está compilada por Microsoft y cuando miro la fuente, en todas partes, en el espacio en blanco: nowrap se usa – Martijn

+0

Ah, bien. PhoneGap + jquery mobile tiene mucho estilo para clasificar.Al agregar "espacio en blanco: normal; desbordamiento: automático;" eso me solucionó –

+1

intente 'white-space: normal;' en su elemento para reemplazar heredando 'white-space: nowrap' de su padre – gordon

1

Estoy un poco sorprendido de que no se limita a hacer eso. ¿Podría haber otro elemento dentro del div que tenga un ancho establecido en algo mayor a 250?

0

Configurando solo el ancho y las propiedades float css obtendrían un panel de embalaje. El ejemplo folowing funcionan bien:

<div style="float:left; width: 250px"> 
Pellentesque feugiat tempor elit. Ut mollis lacinia quam. 
Sed pharetra, augue aliquam ornare vestibulum, metus massa 
laoreet tellus, eget iaculis lacus ipsum et diam. 
</div> 

Tal vez hay otros estilos en el lugar que modifican la apariencia?

+0

No funciona. En mi div uso hipervínculos. Tal vez eso tiene algo que ver con eso? – Martijn

5

Es bastante difícil decir definitivamente sin ver lo que el HTML representado Aspecto del producto y qué estilos se están aplicando a los elementos dentro de la div de árbol, pero lo que me salta a la derecha se encuentra el

overflow-x: scroll; 

¿Qué sucede si eliminas eso?

+0

Luego el texto pasa el límite – Martijn

2

puede utilizar:

overflow-x: auto; 

Si ajusta 'Auto' en el desbordamiento-x, aparecerá de desplazamiento sólo cuando tamaño interno es más grande que el área DIV

93

o simplemente utilizar

word-wrap: break-word; 

compatible con IE 5.5+, Firefox 3.5+ y navegadores WebKit como Chrome y Safari.

6

tratar white-space:normal; Esto anulará heredar white-space:nowrap;