CSS使用樣式table-layout:fixed後儲存格寬度設定的解決

來源:互聯網
上載者:User
下面的代碼,是想在使用 table-layout:fixed 後,本意是想讓儲存格的寬度保持有效,在 IE 中測試,寬度設定是無效的:

<table style="table-layout:fixed;width:200px" border="1" cellspacing="1" cellpadding="1">  <tr>    <td style="width:100px">1</td>    <td colspan="2">2</td>  </tr>  <tr>    <td>1.1</td>    <td style="width:80px">2.1</td>    <td style="width:20px">2.2</td>  </tr></table>

下面給出解決方案,table-layout:fixed 樣式使用後,除第一行外,剩下的行中儲存格的寬度,是按照第一行中的儲存格寬度設定的,既然這樣,我們就設定一個隱藏的行來規定寬度:

<table style="table-layout:fixed;width:200px" border="1" cellspacing="1" cellpadding="1"><tr style="display:none">  <td style="width:100px"></td>  <td style="width:80px"></td>  <td style="width:20px"></td></tr><tr>  <td>1</td>  <td colspan="2">2</td></tr><tr>  <td>1.1</td>  <td>2.1</td>  <td>2.2</td></tr></table>

這個方法,在IE6,IE7,IE8中都可以正確地顯示,但在非IE中,是沒起作用的。下面給出另外一種方法:

<style>td{border:1px solid red;}</style><table style="table-layout:fixed;width:200px" border="0" cellspacing="1" cellpadding="1"><tr style="height:0;">  <th style="width:100px"></th>  <th style="width:80px"></th>  <th style="width:20px"></th></tr><tr>  <td>1</td>  <td colspan="2">2</td></tr><tr>  <td>1.1</td>  <td>2.1</td>  <td>2.2</td></tr></table>
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.