在IE6, IE7時代,如果想隱藏Table中的某一列,可以在Col中設置一個style="display:none"就搞定了,代碼如下:
<TABLE >
<COLGROUP>
<COL align="left" width="80"></COL>
<COL align="right" width="50" style=”display:none”></COL>
</COLGROUP>
<THEAD>
<TR>
<TH >學生姓名</TH>
<TH> 學生編號</TH>
</TR>
</THEAD>
<TBODY>
<TR>
<TD >張三</TD>
<TD >1</TD>
</TR>
</TBODY>
</TABLE>
但從IE8某些版本開始就不支持了,IE9也是同樣不支持, 具體信息可以參考下面這篇文章:
HE1004: IE8(S) Firefox Chrome Safari 不再支持 COL 及 COLGROUP 元素的部分屬性及為其設定的 CSS 特性http://www.w3help.org/zh-cn/causes/HE1004
在這里引用一下該文對各瀏覽器col中支持的元素對比表格:
到了IE9,雖然已經不支持col的align和style屬性了,但還支持width屬性,而在Html5中,col中連width也不支持了,IE10還能支持width,但隨着IE對html5支持的不斷加強,到了IE11,還能否支持width,就難說了。
因此,筆者建議解決方法就是放棄在colgroup, col中設置樣式,轉而直接在td, th中設置。
即如下面代碼所示,在th上設置align, width, style, 在td上只需設置style即可。
<TABLE >
<COLGROUP>
<COL align="left" width="80"></COL>
<COL align="right" width="50" ></COL>
</COLGROUP>
<THEAD>
<TR>
<TH align="left" width="80" >學生姓名</TH>
<TH align="right" width="50" style=”display:none”> 學生編號</TH>
</TR>
</THEAD>
<TBODY>
<TR>
<TD >張三</TD>
<TD style=”display:none”>1</TD>
</TR>
</TBODY>
</TABLE>
越來越有一種感覺,IE9,除了名字還叫IE,里面的內容,哈哈,真可以說完全換了。