Wie kann Text, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
der die Breite eines div
(sagen wir 200px
) überschreitet , umbrochen werden?
Ich bin offen für jede Art von Lösung wie CSS, jQuery usw.
Wie kann Text, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
der die Breite eines div
(sagen wir 200px
) überschreitet , umbrochen werden?
Ich bin offen für jede Art von Lösung wie CSS, jQuery usw.
Antworten:
Versuche dies:
div {
width: 200px;
word-wrap: break-word;
}
word-break: break-all;
dann in normalem Text verwendet, bricht es Wörter in der Mitte, was hässlich ist ... Können wir nicht eine Mischung aus beiden Verhaltensweisen haben?
word-break: break-all
und nicht word-wrap: break-all
. Leichter Fehler zu machen
Stellen Sie auf Bootstrap 3 sicher, dass der Leerraum nicht als "Nowrap" festgelegt ist.
div {
width: 200px;
word-break: break-all;
white-space: normal;
}
white-space: normal;
auch, bevor es funktionierte.
Sie können einen weichen Bindestrich wie folgt verwenden:
aaaaaaaaaaaaaaa­aaaaaaaaaaaaaaa
Dies wird als angezeigt
aaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaa
wenn die enthaltende Box nicht groß genug ist oder als
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
wenn es so ist.
­
?
aaaaaa...aaaaa
in a­a­a­a­a­a­a...a­a­a­a
?
div {
// set a width
word-wrap: break-word
}
Die ' word-wrap
' Lösung funktioniert nur in IE und unterstützten Browsern CSS3
.
Die beste browserübergreifende Lösung besteht darin, Ihre serverseitige Sprache (PHP oder was auch immer) zu verwenden, um lange Zeichenfolgen zu finden und in regelmäßigen Abständen die HTML-Entität darin zu platzieren. ​
Diese Entität bricht die langen Wörter gut und funktioniert in allen Browsern.
z.B
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa​aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Die einzige Funktion, die in IE, Firefox, Chrome, Safari und Oper funktioniert, wenn das Wort keine Leerzeichen enthält (z. B. eine lange URL), ist:
div{
width: 200px;
word-break: break-all;
}
Ich fand das kugelsicher.
Eine andere Option ist auch:
div
{
white-space: pre-line;
}
Dadurch werden alle Ihre div-Elemente in allen Browsern festgelegt, die CSS1 unterstützen (dies sind so ziemlich alle gängigen Browser bereits in IE 8).
<pre>
Element möchten Sie den Zeilenumbruch haben, das funktioniert und word-break
oder word-wrap
nicht.
.wrap
{
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
Fügen Sie dieses CSS dem Absatz hinzu.
style="width:420px;
min-height:15px;
height:auto!important;
color:#666; padding: 1%;
font-size: 14px;
font-weight: normal;
word-wrap: break-word;
text-align: left"
text-overflow:ellipsis
genauso wie der nächste Typ, aber es ist keine richtige Antwort auf diese Frage. Er möchte die Zeilen umbrechen und nicht den Überlauf abschneiden.
Beispiel aus CSS-Tricks :
div {
-ms-word-break: break-all;
/* Be VERY careful with this, breaks normal words wh_erever */
word-break: break-all;
/* Non standard for webkit */
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
hyphens: auto;
}
Weitere Beispiele hier .
Eine serverseitige Lösung, die für mich funktioniert, ist: $message = wordwrap($message, 50, "<br>", true);
Wo $message
ist eine Zeichenfolgenvariable, die das Wort / die Zeichen enthält, die aufgelöst werden sollen? 50 ist die maximale Länge eines Segments und "<br>"
der Text, den Sie alle (50) Zeichen einfügen möchten.
Versuche dies
div{
display: block;
display: -webkit-box;
height: 20px;
margin: 3px auto;
font-size: 14px;
line-height: 1.4;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
Die Eigenschaft Textüberlauf: Auslassungspunkte hinzufügen ... und Linienklemme zeigen die Anzahl der Linien an.
Im HTML-Body versuchen Sie:
<table>
<tr>
<td>
<div style="word-wrap: break-word; width: 800px">
Hello world, how are you? More text here to see if it wraps after a long while of writing and it does on Firefox but I have not tested it on Chrome yet. It also works wonders if you have a medium to long paragraph. Just avoid writing in the CSS file that the words have to break-all, that's a small tip.
</div>
</td>
</tr>
</table>
Versuchen Sie im CSS-Body:
background-size: auto;
table-layout: fixed;
Versuche dies
div {display: inline;}
Ich habe Bootstrap verwendet. Mein HTML-Code sieht aus wie ..
<div class="container mt-3" style="width: 100%;">
<div class="row">
<div class="col-sm-12 wrap-text">
<h6>
text content
</h6>
</div>
</div>
</div>
CSS
.wrap-text {
text-align:justify;
}
text-justify
Klasse, so können Sie es anstelle von.wrap-text
Sie können dieses CSS verwenden
p {
width: min-content;
min-width: 100%;
}
Versuchen:
overflow-wrap: break-word;