2012-10-30 78 views
0

在這裏抓着稻草,但任何人都得到了一個在Firefox 3.0.7中打包文本的解決方案?FF3.0.7文字換行

文本應該像其他瀏覽器一樣包裝在容器中。

例子:http://jsfiddle.net/4t7Ut/(在FF3.0.7明顯觀察)

#container { 
    border: 1px dashed; 
    width: 100px; 
} 

.text-to-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+ */ 
} 

...

<div id="container"> 
<div class="text-to-wrap ">VWvU3dpVq5wJio6oFE82pmQuBTRzbii4dLd4NGBr332V2P4Skx8GwLozZrczNoRPmqWSrxnLEKh5PBZ6s3AjMFX3ftLHyuR7RGSA</div> 
</div> 
+0

什麼是*問題*? –

+0

文字不包裹Jukka。 –

+0

它應該如何包裝,並且是「VWvU3dpVq5wJio6oFE82pmQuBTRzbii4dLd4NGBr332V2P4Skx8GwLozZrczNoRPmqWSrxnLEKh5PBZ6s3AjMFX3ftLHyuR7RGSA」您的真實數據? –

回答

1

要使內容包裝,以便它分成幾行每行包含儘可能多的字符(當然最後一行除外),您需要在文本內容中的每個字符之後添加<wbr>標記,以便即使在Firefox等古老的瀏覽器中也能以這種方式工作3.您可以使用客戶端腳本來達到這個目的:

<script> 
var cont = document.getElementById('container').getElementsByTagName('div')[0]; 
cont.innerHTML = cont.innerHTML.replace(/(.)/g, '$1<wbr>'); 
alert(cont.innerHTML); 
</script> 

它幾乎不足以允許這樣的中斷。人類和計算機語言都有自己的斷行規則。因此<wbr>標籤只能插入到合適的位置,手動或使用適合內容的算法。

而不是<wbr>,你也可以使用它的字符級別對應的零寬度空間(&#x200b;)。雖然Firefox 3似乎沒有問題,但它並不支持非常老的瀏覽器。

+0

這似乎是解決此問題的唯一方法,感謝您的努力Jukka。 –

0

嘗試:

使用width:100%; display:inline-block;.text-to-wrap

+0

沒有工作,但感謝邁克爾的努力。 –