2012-08-16 92 views
0

OK,這是我的情況:使HTML表格單元格的內容適合 - 沒有包裝?

  • 我目前在敲定一個相當龐大的...... Web應用程序(PHP使用CodeIgniter,MySQL和JavaScript和Ajax的+ jQuery和使用各種JavaScript庫的過程 - 如數據表)

問題:

  • 比方說,我們已經有了一個表,固定寬度
  • 第一個也是固定寬度。 (讓我們在200px說)
  • 當填充表:
    • 如果第一列的內容佔據小於200像素的空間,它的確定。
    • 如果內容超過那些200px然後內容被包裝,從而創建一個「雙線」效果和更高的行比我想要的。

提示:

  • 「縮水」 一very very very long line喜歡的東西very very very ...是我在想什麼。是甚至可能的嗎?服務器端?

你會怎麼做? 10(最好以一種優雅的方式 - '因爲,我承認我有幾個解決方案,沒有一個似乎...用戶友好...大聲笑)

+1

你想要發生什麼? – 2012-08-16 12:08:40

+0

@BillyMoat剛剛更新了我的初始帖子,給你的一般想法。 – 2012-08-16 12:10:30

+0

也許這樣的jQuery插件? http://plugins.learningjquery.com/expander/ – 2012-08-16 12:11:57

回答

1

我認爲做一個字符串 - 如果您不使用等寬字體,以便相同數量的字符總是具有相同的寬度,則截斷不可能在服務器端。你可以做的是客戶端的字符串截斷:

(在Calculate text width with JavaScript漂亮的代碼):

CSS:

#testing-div 
{ 
    position: absolute; 
    visibility: hidden; 
    height: auto; 
    width: auto; 
} 

JS:

var test = document.getElementById("testing-div"); 
test.style.fontSize = fontSize; 
var height = (test.clientHeight + 1) + "px"; 
var width = (test.clientWidth + 1) + "px"; 

可以遍歷字符串的整個長度,並繼續向#testing-div的主體添加一個字符,計算寬度,並檢查它是否合適。如果字符串太長,請確保添加...