IE6-IE9兼容性問題列表及解決辦法_補充之三:Table的Col不再支持style及align,需要到th, td中去設置


在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,里面的內容,哈哈,真可以說完全換了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM