2011-12-12 88 views
4

我試圖縮短某個表中的列的長度。文本溢出:在Internet Explorer中的省略號問題

我使用jQuery的一些添加文本溢出省略號和幾個CSS屬性。
我還使用一些更多的jQuery添加工具提示。 這裏是我的代碼:(!驚喜驚喜!)

$('#table_id tr td:not(:last)').css({ 
"text-overflow": "ellipsis", 
"max-width": "110px", 
"overflow": "hidden", 
"display" : "block" 
}).each(function (index, element) { $(element).attr("title", $(element).text()); }); 

一切工作在Firefox和Chrome,但細IE7-9呈現文本在它的全長。

任何想法我做錯了什麼? 謝謝!

P.S.
我也嘗試指定「寬度」屬性無濟於事。

+1

嘗試添加'空白:nowrap'和'寬度:100%'。 – rcode

回答

6

您需要在tdwhite-space:nowrap;爲好。另外,table-layout:fixed;必須設置在桌面上,否則IE仍然不會切斷文本。

2

爲別人運行過這個問題,我發現,我必須定義一個高度,使IE快樂,height:20px;

+0

沒有爲我工作。 –

+0

爲我工作!非常感謝! – tienbuiDE

0

IE7上表元素將不適用文本溢出 - 你必須包裝在另外的多餘含元素的內容,並應用text-overflow(和相關聯的樣式),以指出:

$('#table_id tr td:not(:last)').each(function (index, element) { 
    var $el = $(element); 
    var text = $el.text(); 
    var html = $el.html(); 

    $el.attr("title", text).empty(); 

    $('<div>').css({ 
    "text-overflow": "ellipsis", 
    "max-width" : "110px", 
    "overflow"  : "hidden", 
    "display"  : "block" 
    }).html(html).appendTo($el); 
} 
相關問題