問題
簡(jiǎn)單來說,在Firefox下,col與colgroup基本上只能干很少的幾件事情(如果你對(duì)col和colgroup不熟,可以參看一下這個(gè)地方http://www.msleft.com/htmltags/colgroup.html),可以先看一段代碼:
<table style="width: 1000px; font-size: 12px;" rules="groups">
<colgroup style="border: 2px solid #000;">
<col style="border: 1px solid #ccc;" />
<col style="background: #eee;" />
<col style="font-size: 24px;" />
</colgroup>
<colgroup>
<col style="background: #eee; text-align: right; width: 200px;" />
<col style="color: #900;" />
<col style="visibility: hidden;" />
<col style="display: none;" />
</colgroup>
<tbody>
<tr>
<td>第一列:邊框</td>
<td>第二列:背景</td>
<td>第三列:字體大小</td>
<td>第四列:北京和居右</td>
<td>第五列:字體顏色</td>
<td>第六列:消失</td>
<td>第七列:另一種消失</td>
</tr>
</tbody>
</table>
<colgroup style="border: 2px solid #000;">
<col style="border: 1px solid #ccc;" />
<col style="background: #eee;" />
<col style="font-size: 24px;" />
</colgroup>
<colgroup>
<col style="background: #eee; text-align: right; width: 200px;" />
<col style="color: #900;" />
<col style="visibility: hidden;" />
<col style="display: none;" />
</colgroup>
<tbody>
<tr>
<td>第一列:邊框</td>
<td>第二列:背景</td>
<td>第三列:字體大小</td>
<td>第四列:北京和居右</td>
<td>第五列:字體顏色</td>
<td>第六列:消失</td>
<td>第七列:另一種消失</td>
</tr>
</tbody>
</table>
以 上代碼是平時(shí)常見的對(duì)col的操作,在IE6下的展現(xiàn)和FF的展現(xiàn)還是有一定差別的,除了colgroup的border,col的background 以外,F(xiàn)F幾乎其他的全都不能實(shí)現(xiàn),而IE6則幾乎全部能實(shí)現(xiàn)(除了邊框)。
解決方案
顯然,對(duì)于IE我們可以直接用上面的方法來干活了
而對(duì)于Firefox和Opera,我們可以使用CSS的高級(jí)選擇器來干這個(gè)活,把下面的代碼作為style貼到剛才的代碼的head部分,看看Firefox下的效果:
table tbody tr td:first-child { border: 5px solid #ccc; }
table tbody tr td:first-child+td { background: #900; }
table tbody tr td:first-child+td+td { font-size: 24px; }
table tbody tr td:first-child+td+td+td { background: #eee; text-align: right; width: 200px; }
table tbody tr td:first-child+td+td+td+td { color: #900; }
table tbody tr td:first-child+td+td+td+td+td { visibility: hidden; }
table tbody tr td:first-child+td+td+td+td+td+td { display: none; }
table tbody tr td:first-child+td { background: #900; }
table tbody tr td:first-child+td+td { font-size: 24px; }
table tbody tr td:first-child+td+td+td { background: #eee; text-align: right; width: 200px; }
table tbody tr td:first-child+td+td+td+td { color: #900; }
table tbody tr td:first-child+td+td+td+td+td { visibility: hidden; }
table tbody tr td:first-child+td+td+td+td+td+td { display: none; }
順便說一句,IE7也支持這種寫法
看起來還不錯(cuò),不過,如果你的表格有100列,而你要為第99列設(shè)定屬性的話。。。。建議你還是直接幫class到td上去吧。