2010-11-17 53 views
1

我正在試圖找到一個解決方案,用於包裝單詞在喊話框中非常長。例如,如果有人寫出一個文件路徑,或者某人只是寫了一堆廢話。例如:在吼吼箱中包裝長單詞

blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahnonsensenonsensenonsensenonsense 

的在線留言板可以具有多個寬度(取決於它位於何處),所以設置的寬度爲外部標記是不恰當的,因爲內容需要擴大到填滿上的寬度頁。現在在這個外部標籤內部,有內部標籤可以容納每個標籤。

現在,我已經做了一些功課就這個問題和它已經表示,這將工作:

.yourclass(#youid) 
{ 
    word-wrap: break-word; /* Internet Explorer 5.5+ */ 
    white-space: normal; /* Firefox */ 
} 

但我需要這在所有5個主要的瀏覽器工作:火狐,IE 7和8, Opera,Chrome和Safari。有沒有針對所有5個主要瀏覽器的解決方案?

注意:我不介意將CSS,JS,PHP和/或任何其他語言結合起來使其正常工作。

有沒有人遇到過這個問題?有沒有人解決它?我看看php的功能wordwrap,但這並不能幫助我,因爲它需要一些字符。如果我能夠以像素爲單位定義寬度並且單詞超過此寬度,則可以幫助將下一個字符包裝到下一行。使用字符換行的問題在於這些字符可能具有不同的字體大小,並且它不會一致並且根本就不會有幫助。也許有一種方法可以確定每個角色的寬度?如果這個寬度超過了吼吼箱的寬度,那麼將它包裹到下一行?這可能確實有效,但我對如何確定這一點感到不知所措。

有人可以幫我嗎?謝謝:)

這裏是我使用上述CSS鏈接=>

它實際上幷包裹很長字在Opera在Opera中的喊聲所有3,有人可以測試其他瀏覽器,並給我一些反饋呢?

+0

CSS也不會有多大效果,一定長度後替換文本' -
'也許值得考慮 – ajreal 2010-11-17 05:31:20

+0

就像我說的,一定長度並不能幫助我的任何,因爲字符大小可以大小不同。所以如果有人將字體大小設置爲20pt,它將會以較少的字符超過寬度。沒有幫助,但無論如何感謝。 – SoLoGHoST 2010-11-17 06:00:25

回答

2

word-wrap: break-word;確實是你在找什麼。不知道它是否在Opera中有效,但其他人應該都可以工作。

+0

是的,它實際上在Opera中有效。但不知道所有其他瀏覽器,也許你可以在其他地方測試它:http://acs.graphicsmayhem.com/spoogs/index.php並讓我知道。謝謝:)這裏有兩個相同的吼吼箱實例,其中有非常長的單詞。我沒有安裝IE,Firefox,Safari和Chrome。目前只安裝了Opera,實際上在Opera中包裝很好。 – SoLoGHoST 2010-11-17 05:56:44

+0

@SoLoGHoST:在開發Web時,您確實需要安裝您關心的所有瀏覽器。 – Espen 2010-11-17 06:08:10

+0

適用於Chrome,FF,IE8和Safari,但Espen是對的,你應該在你的開發盒上安裝所有瀏覽器。 – Bitsplitter 2010-11-17 06:40:44

0

您的選擇(在我看來)是:

  1. 使用的解決方案並不適用於所有瀏覽器,或
  2. 使用CSS overflow:autooverflow:hidden保存容器大小 ,同時讓不間斷的單詞流過邊緣,或者
  3. 在字符限制(在服務器或客戶端上)中斷並「破壞」無意義的文本或
  4. 做一些快速(但可見的用戶)中斷和重新打破文字各種 字符限制,直到你找到一個情況,其中scrollWidth <= clientWidth。 (這將需要重複調​​用setTimeout來允許瀏覽器在 更改後重新流動,然後才能測量效果。)

我想你也可以使用基於已知的字體大小和測量寬度, 一個粗略的啓發,但也不會遇到什麼似乎是您的正確性的標準。我很抱歉地說 你想要的東西(據我所知)並不合理地使用手頭的技術。

相關問題