2013-05-07 33 views
0

我有一個HTML table
需要的細節在JSFiddle中提到。
這在Firefox上運行良好,但它不在Chrome和IE上! 他們有什麼問題?爲什麼他們在具有固定高度的最後一行中展開單元格,而不是第一列中唯一具有未確定高度的單元格的第二行。
下面是HTML代碼:
Chrome和IE中的表格單元格大小

<table style="width: 100%;" dir="rtl" cellpadding="0" cellspacing="0"> 
<tr> 
    <td style="height: 100px; width: 176px; background:blue"> 
     this is a fixed size cell 
    </td> 
    <td rowspan="3" style="background:gray; height: 360px;">this cell is spanned 3 rows<br /> lots of content may be placed here</td> 
</tr> 
<tr> 
    <td style="background:red">this should expand depending on gray region</td> 
</tr> 

<tr>  
    <td style="height: 46px; background:blue">this is a fixed size cell</td> 
</tr> 

回答

2

好像高度算法爲您的情況是underfind。你想td {height: auto}延長所有可用空間,但

A「高度」「自動」的一個「錶行」值意味着佈局使用 行高度是MIN。 MIN取決於單元格框的高度和電池箱 對準....在CSS 2.1,小區框的高度是由內容

和finaly

CSS 2.1確實所需的最小高度不指定跨越多行的單元格如何影響行高計算,除了涉及的行高度 的總和必須足夠大以包含跨行的單元格。

看到17.5.3 Table height algorithms

+0

感謝您的解釋。但是我能爲我的情況做些什麼?無論如何,我想以跨瀏覽器的方式實現這樣的佈局。 – 2013-05-07 23:30:32

+0

列的寬度(左右兩側或其中之一)是否固定?還是可以設置百分比? – Vicky 2013-05-08 08:16:21

+0

是的,寬度是固定的,但正如我所提到的,灰色單元格的高度是可變的,並且紅色單元格的高度應該根據灰色單元格的高度而變化 – 2013-05-08 11:23:06