Mam element div o szerokości 250 pikseli. Kiedy tekst wewnętrzny jest szerszy, chcę, żeby się rozpadł. Element div to float: left i ma teraz przepełnienie. Chcę, aby pasek przewijania zniknął za pomocą zawijania słów. Jak mogę to osiągnąć?
<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;
na swoim elemencie, aby nadpisać dziedziczeniewhite-space: nowrap
po jego rodzicuLub po prostu użyj
obsługiwane w przeglądarkach IE 5.5+, Firefox 3.5+ i WebKit, takich jak Chrome i Safari.
źródło
try
white-space:normal;
Spowoduje to zastąpienie dziedziczeniawhite-space:nowrap;
źródło
Trudno powiedzieć definitywnie bez sprawdzenia, jak wygląda wyrenderowany kod HTML i jakie style są stosowane do elementów w elemencie div treeview, ale od razu rzuca mi się w oczy
Co się stanie, jeśli to usuniesz?
źródło
możesz użyć:
Jeśli ustawisz „auto” w overflow-x, przewijanie pojawi się tylko wtedy, gdy rozmiar wewnętrzny jest największy niż obszar DIV
źródło
Jestem trochę zaskoczony, że nie tylko to robi. Czy może istnieć inny element wewnątrz elementu div, którego szerokość jest większa niż 250?
źródło
Ustawienie tylko właściwości width i float css spowodowałoby pojawienie się panelu zawijania. Poniższy przykład działa dobrze:
Może istnieją inne style, które modyfikują wygląd?
źródło
Okazało się, że
word-wrap: anywhere
zadziałało (w przeciwieństwie doword-wrap: break-word
wspomnianego w innej odpowiedzi).Zobacz też:
Co oznacza „gdziekolwiek” we właściwości CSS „zawijania słów”?
źródło