如何将超出一个 div
(比如 200px
)宽度的文本像 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
进行自动换行?
我接受任何形式的解决方案,例如 CSS、jQuery 等。
试试这个:
div {
width: 200px;
word-wrap: break-word;
}
div {
width: 200px;
word-break: break-all;
white-space: normal;
}
white-space: normal;
。 - radbyxaaaaaaaaaaaaaaa­aaaaaaaaaaaaaaa
这将显示为:aaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaa
如果包含盒子不够大,或者
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
如果是的话。
­
? - Kostasaaaaaa...aaaaa
转换为a­a­a­a­a­a­a...a­a­a­a
,这样做可以吗? - Kostasdiv {
/* Set a width for element */
word-wrap: break-word
}
'word-wrap' 解决方案仅适用于IE和支持CSS3的浏览器。
最佳跨浏览器解决方案是使用服务器端语言 (php或其他) 来定位长字符串,并在其中定期插入HTML实体 ''。这个实体可以很好地打破长单词,适用于所有浏览器。
例如:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa​aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
这对我起作用了
word-wrap: normal;
word-break: break-all;
white-space: normal;
display: block;
height: auto;
margin: 3px auto;
line-height: 1.4;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
如果单词中没有空格(比如长URL),可以跨越IE、Firefox、Chrome、Safari和Opera使用的唯一方法是:
div{
width: 200px;
word-break: break-all;
}
另一种选择也是使用:
div
{
white-space: pre-line;
}
这将在所有支持CSS1的浏览器中设置您的所有div元素(几乎所有常见浏览器,包括IE 8及更早版本)。
<pre>
元素需要自动换行,那么这个方法可行,而 word-break
或 word-wrap
则不行。 - Pluto.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+ */
}
尝试这个 CSS 属性 -
overflow-wrap: anywhere;
<p style="word-wrap: break-word; word-break: break-all;">
Adsdbjf bfsi hisfsifisfsifs shifhsifsifhis aifoweooweoweweof
</p>
word-break: break-all
而非word-wrap: break-all
。这是一个容易犯的错误。 - Simon_Weaverword-break: break-word
给了我想要的功能。它可以将长单词断行,但也防止格式(如容器宽度)被破坏。而使用word-break: break-all
只能做到后者。 - Ginger and Lavender