2013-01-18 29 views
1

我需要將中間列設置爲100%。除非將列寬更改爲100%,否則它將刪除其他列的所有寬度,否則該CSS可以正常工作。有人知道爲什麼樣式表使用CSS的不同寬度的列

.SummaryTable td:first-child 
{ 
    width: 150px; 
} 
.SummaryTable td:first-child + td 
{ 
    width: 150px; /*100% will remove other col widths*/ 
} 
.SummaryTable td:first-child + td + td 
{ 
    width: 175%; 
} 

這裏是fiddle

+0

你應該添加小提琴。 –

+2

將中間一個設置爲100%意味着佔用整個空間 - 您爲其他單元留下了什麼空間?你想達到什麼目的? – codingbiz

+0

表格寬度設置爲100%以填滿Div。然後,我想要第1列和第3列被固定,而第2列填充剩餘區域。我只是回答了我自己的問題。我從第二列中刪除了寬度樣式,現在它工作正常。 – TroyS

回答

3

不設置寬度爲中間電池應該修復它爲你提供的表具有寬度= 100%。

其他單元格將被固定,但沒有指定寬度的單元格將填滿屏幕。

試試這個,我認爲它應該工作

.SummaryTable td:first-child 
{ 
    width: 150px; 
} 
.SummaryTable td:first-child + td 
{ 
    /* don't set any width for the middle cell, it would expand */ 
} 
.SummaryTable td:first-child + td + td 
{ 
    width: 150px; 
} 
+0

這是我的jsfiddle。 [小提琴](http://jsfiddle.net/xv4TJ/) – TroyS

0

給總表中的特定寬度:

.SummaryTable {width: 100%} 

然後從第二列中刪除的寬度,導致它填補剩餘第一個和第三個寬度已經從總寬度中剩下。

0

如果我是你,我wouldnt使用css :child,它不會工作在舊版本的IE瀏覽器。 (IE8,IE7 ..)。

您更好地使用jQuery的是,你可以嘗試:

$('.SummaryTable td:nth-child(2)').css({width: '100%'})

或者你可以使用:eq

$('.SummaryTable td:eq(1)').css({width: '100%'})

注意,當您使用:eq計數器由0開始,所以1是第二位。