2017-06-28 4 views
1

Warum bewirkt dieser HTML-Code, dass eine Bildlaufleiste angezeigt wird?Browser mit Bildlaufleiste für langen Text trotz maximaler Breite

<div style="width: 200px; max-width: 200px; background-color: lightblue;"> 
 
verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_ 
 
</div>

denke ich, es nicht sollte, weil ich eine maximale Breite angegeben haben. Ich erwartete dort keine Verpackung aber auch keine Bildlaufleiste, weil die endgültige Breite der div ist 200px.

Ich kann overflow: hidden; nicht verwenden, da meine Website tatsächlich Widgets außerhalb des enthaltenen Elements mit relativer Positionierung verwendet.

Wie kann ich diesen Text enthalten oder zumindest verhindern, dass die Bildlaufleiste angezeigt wird? Es ist akzeptabel, diesen Text außerhalb seines übergeordneten Elements zu rendern.

+0

ignorieren Warum nicht push die Widgets mit Z-Index nach hinten? –

Antwort

1

Verwendung word-wrap: break-word;, weil es keinen Raum zwischen Text ist, damit es nicht in neue Linie brechen und es wird max-width

<div style="width: 200px; max-width: 200px;word-wrap: break-word; background-color: lightblue;"> 
 
verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_ 
 
</div>

+0

Gibt es keine Möglichkeit, es so zu behalten, wie es ist? Ich frage mich auch, warum dieses Verhalten auftritt. – boot4life

+0

Es tritt auf, weil der Standardwortumbruch auf Leerzeichen umbrechen soll. Da kein Leerzeichen vorhanden ist, wird der Text nicht unterbrochen. Wenn es keine Pause gibt, fügt der Browser eine Bildlaufleiste hinzu. – Allan

+0

Wenn zwischen den Zeichen kein Leerzeichen ist, wird HTML es als einzelnes Wort verwenden und es wird es nicht in der neuen/nächsten Zeile unterbrechen. –

0

<div style="width: 200px; max-width: 200px; background-color: lightblue;"> 
 
verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_ verylongtext_verylongtext_verylongtext_verylongtext_verylongtext_ 
 
</div>

+0

Browser betrachten Ihren Satz als nur ein Wort und sie schneiden kein Wort dann generieren sie automatisch ** Marge-rechts **, in Schnipsel Ergebnis ändern, weil ich Platz im Text ** (Leerzeichen zwischen Wörtern) ** selbst wenn Sie Verwenden Sie das Bootstrap-Grid, mit dem Sie das gleiche Ergebnis erhalten. – tnbsoftlab

+0

Warum nimmt die Breiteneinstellung nicht? – boot4life

+0

es ist nicht nehmen, weil in diesem Fall Priorität hier ist Ihre Gerät Breite, die Browser verwenden, wenn Sie Ihre ** Schriftgröße ** verringern Sie können dieses Problem auch mit CSS-Eigenschaften beheben ** Wortumbruch: Pause-Wort ** beziehen sich auf [word-break] (https://developer.mozilla.org/fr/docs/Web/CSS/word-break) um mehr zu erfahren, hoffe ich dir zu helfen – tnbsoftlab

Verwandte Themen