我目前正在使用php在所有浏览器中测试此功能。
<style>
#preview_desc{
text-wrap: suppress;
word-break: break-all;
word-wrap: break-word; /* IE>=5.5 */
white-space: -moz-pre-wrap; /* For Fx<=2 */
white-space: pre-wrap; /* Fx>3, Opera>8, Safari>3 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-line;
width:158px;
padding-left:5px;
padding-right:5px;
line-height:12px;
font-family:'Arial', Helvetica, sans-serif;
font-size:11px;
text-align:justify;
background:#f30000;
}
</style>
<div id="preview_desc"
class="adlookmsg_box">
Refeforotherapplicationandcontainasdhlsakfhnaiufalsdufgnaloskdufglkjblfasug
</div>
但是仅在Opera浏览器中不处理包装或非空白字。 如果有任何可以帮助解决这个问题。 TKS
- Edited-- 注意:抱歉这个上诉。
答案 0 :(得分:3)
我也在使用Opera 10.10,我可以重新解决你的问题,但遗憾的是我没有正确的答案,但是这里有一个黑客。 如果没有别的办法。将以下代码放在文档的末尾。
<script>
x=document.getElementById("preview_desc");
x.innerHTML=x.innerHTML.replace(/(.)/g,"$1\u200b");
</script>
它会在每个字符后放置\ u200b(零宽度空格)字符,因此Opera可以处理它...
更新:只将\ u200b添加到当前设置为10+的长字中,您可能需要对其进行调整。
<script>
x=document.getElementById("preview_desc");
x.innerHTML=x.innerHTML.replace(/[\w]{10,}/g,function(x){return x.replace(/(.)/g,"$1\u200b");});
</script>