ホームページ  >  記事  >  ウェブフロントエンド  >  CSS スタイル table-layout:fixed を使用した後のセル幅設定の解決策

CSS スタイル table-layout:fixed を使用した後のセル幅設定の解決策

黄舟
黄舟オリジナル
2017-06-30 13:51:011952ブラウズ

次のコードは、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 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。