Eu tenho um div com largura de 250px. Quando o texto interno é mais amplo do que isso, quero que ele se desfaça. O div é float: left e agora tem um overflow. Quero que a barra de rolagem desapareça usando a quebra de linha. Como posso conseguir isso?
<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;
}
white-space:normal;
seu elemento para substituir a herançawhite-space: nowrap
de seu paiOu simplesmente use
compatível com navegadores IE 5.5+, Firefox 3.5+ e WebKit, como Chrome e Safari.
fonte
tente
white-space:normal;
Isto irá substituir a herançawhite-space:nowrap;
fonte
É muito difícil dizer definitivamente sem ver a aparência do html renderizado e quais estilos estão sendo aplicados aos elementos dentro do div treeview, mas o que me salta à vista imediatamente é o
O que acontece se você remover isso?
fonte
você pode usar:
Se você definir 'auto' em overflow-x, a rolagem aparecerá apenas quando o tamanho interno for maior que a área DIV
fonte
Estou um pouco surpreso por não ser apenas isso. Poderia haver outro elemento dentro do div que tenha uma largura definida para algo maior que 250?
fonte
Definir apenas as propriedades css de largura e flutuação obteria um painel envolvente. O exemplo a seguir funciona muito bem:
Talvez existam outros estilos que modificam a aparência?
fonte
Achei que
word-wrap: anywhere
funcionou (em oposição aoword-wrap: break-word
mencionado em outra resposta).Veja também:
O que significa "qualquer lugar" na propriedade css de "quebra de linha"?
fonte