2017-08-16 52 views
0

我堅持修復我的html表格的第二列的寬度。有rowpan和表格佈局fixe時的表列寬度

下面是我的表的PRINTSCREEN:

Table Image

下面是CSS代碼:

#RevenueMTable tbody, #RevenueMTable thead { 
display: block; 
} 

#RevenueMTable { 
    width: 1115px; 
    table-layout: fixed !important; 
} 

#RevenueMTable tbody td:first-child 
{ 
    width: 138px !important; 
} 

#RevenueMTable tbody td:not(:first-child) 
{ 
    width: 72px !important; 

} 

#RevenueMTable tbody 
{ 
    overflow: auto; 
    height: 400px; 

} 

的問題是,我的第一列的4行的行跨度。因此,例如,包含「COST」的單元格是行標記中的第一個TD元素,因此也應用了138px的寬度,儘管它應該被視爲第二列。

Table HTML code

我該如何解決這個問題?

我試圖將列寬定義如下,但無法正常工作或:

$('<col style="width:138px"><col style="width:72px"><col style="width:72px"><col style="width:72px"><col style="width:72px"><col style="width:72px"> <col style="width:72px"><col style="width:72px"><col style="width:72px"><col style="width:72px"><col style="width:72px"><col style="width:72px"><col style="width:72px"><col style="width:72px">').insertBefore($("#RevenueMTable thead")) 
+0

可否請您提供HTML也更快的解決方案,如果可能的話jsfiddle突出顯示該問題。 –

回答

0

你已經對你的TD元素的類。您可以直接使用這些列來定位列。我改變了規則的順序,以便它們能夠根據特異性正確覆蓋。

#RevenueMTable tbody td 
{ 
    width: 72px !important; 

} 

#RevenueMTable tbody td.column0 { 
    width: 138px !important; 
} 
+0

你是對的,這是方式去。謝謝! – user1186098

0
#RevenueMTable tbody td:nth-child(2) 
    { 
     width: 72px !important; 
    } 
+1

您能簡單介紹一下爲什麼解決OP問題嗎? – wahwahwah

+0

td:nth-​​child(2)表示第二列,如果你想指定第三列,它將會像#RevenueMTable tbody td:nth-​​child(3)等等。 –

+1

請用簡要說明更新*您的答案:)在SO上,代碼只會經常回答被標記爲「低質量」並被審覈(因此,爲什麼我看到了您的答案。)通常,僅有代碼的答案不會提供足夠的信息/環境來真正幫助用戶(或未來的網站訪客)。 – wahwahwah