我用日语在textarea
中输入了以下句子。
* {
margin: 0;
padding: 0;
}
textarea {
width: 5em;
height: 10em;
word-break: keep-all;
}
<textarea>あいうえお。かきくけこ</textarea>
这是Firefox中的图像,句子紧跟在U + 3002(。)之后。
但是,在Chrome中,在U + 3002(。)之后立即换行。
根据MDN,keep-all
不允许CJK文本中断。
keep-all
中文/日文/韩文(CJK)文字不应使用换行符。非CJK文本行为与常规行为相同。
所以我认为Chrome的工作方式与规范不同。如何使Chrome的文本中断能像Firefox一样工作?
操作系统和浏览器详细信息
答案 0 :(得分:0)
Chrome在此发生的情况是
Chrome似乎首先遵循word-break
规则,而Firefox忽略了它,如以下所示:
* {
margin: 0;
padding: 0;
}
textarea {
width: 5em;
height: 10em;
word-break: keep-all;
overflow-wrap: normal;
}
<textarea>あいうえお。かきくけこ</textarea>
然后Chrome将overflow-wrap
应用于此结果,这确实使句子加倍了。
所以这里真正奇怪的是,为什么Chrome即使在使用word-break: break-all
的情况下,也拒绝在之前破折号...
* {
margin: 0;
padding: 0;
}
textarea {
width: 1em;
height: 46em;
word-break: break-all;
}
<textarea>あいうえお。かきくけこ푸바.밫foobar.baz..............</textarea>
而且,不仅在
* {
margin: 0;
padding: 0;
}
.test {
width: 1em;
height: 46em;
word-break: break-all;
border: 1px solid;
}
<div class="test">あいうえお。かきくけこ푸바.밫foobar.baz..............</div>
不幸的是,我没有找到规避这种行为的方法...