首頁  >  文章  >  web前端  >  CSS使用樣式table-layout:fixed後單元格寬度設定的解決

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

黄舟
黄舟原創
2017-06-30 13:51:011931瀏覽

下面的程式碼,是想在使用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>

以上是CSS使用樣式table-layout:fixed後單元格寬度設定的解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn