神戸学院大学 経営学部 林坂ゼミ

HTML 入門トップページ

« 戻る 次へ »

HTML 入門

スタイルシートでデザインを作ろう

表のデザインを設定する

ここで説明したように,表に罫線や色を HTML 内で指定する方法は非推奨で,CSS で指定するべきです.まず,表全体を <table> ... </table> で囲っただけであれば,次のような表示になります.(HTMLのサンプルを見るCSSのサンプルを見る

index.html(抜粋)
<table>
  <thead>
    <tr><th>abc</th><th>def</th><th>ghi</th></tr>
  </thead>
  <tbody>
    <tr><td>12</td><td>123</td><td>12345678</td></tr>
    <tr><td>123</td><td>123456</td><td>12345678</td></tr>
  </tbody>
  <tfoot>
    <tr><td colspan="3">フッター</td></tr>
  </tfoot>
</table>

ブラウザでの表示結果

abcdefghi
1212312345678
12312345612345678
フッター

まず,表の罫線を CSS で指定してみよう.<table><td><th> の全てに対して,罫線を太さ 1px,色が #808080 (グレー)の実線 (solid) に指定します.また,border-collapse: collapse; は隣接するセルのボーダを重ねて表示するための指定です. (HTMLのサンプルを見るCSSのサンプルを見る

index.html(抜粋)
<table>
  <thead>
    <tr><th>abc</th><th>def</th><th>ghi</th></tr>
  </thead>
  <tbody>
    <tr><td>12</td><td>123</td><td>12345678</td></tr>
    <tr><td>123</td><td>123456</td><td>12345678</td></tr>
  </tbody>
  <tfoot>
    <tr><td colspan="3">フッター</td></tr>
  </tfoot>
</table>
style.css(抜粋)
table, td, th {
  border:1px solid #aaa;
  border-collapse: collapse;
}

ブラウザでの表示結果

abcdefghi
1212312345678
12312345612345678
フッター

上の例において,表全体の幅はそのコンテンツの分量によって自動的に調整されました.表全体の幅を予め指定したい場合には CSS で table 要素に width プロパティを設定します.次の例では常に 300px を設定します. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
table {
  width: 300px;
}

ブラウザでの表示結果

abcdefghi
1212312345678
12312345612345678
フッター

今度は表全体の幅を親要素の100%に設定します.ブラウザの幅を変更したときにレイアウトがどのように変化するか確認して下さい. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
table {
  width: 100%;
}

ブラウザでの表示結果

abcdefghi
1212312345678
12312345612345678
フッター

次はセル内の文字列の配置を中央揃えや右揃えにしてみます.適当な名前のクラスを作成してそれぞれに text-align プロパティを設定すると良いでしょう. (HTMLのサンプルを見るCSSのサンプルを見る

index.html(抜粋)
<table>
  <thead>
    <tr><th>abc</th><th>def</th><th>ghi</th></tr>
  </thead>
  <tbody>
    <tr>
      <td>12</td>
      <td class="tdcenter">123</td>
      <td class="tdright">12345678</td>
    </tr>
    <tr>
      <td>123</td>
      <td class="tdcenter">123456</td>
      <td class="tdright">12345678</td>
    </tr>
  </tbody>
  <tfoot>
    <tr><td colspan="3">フッター</td></tr>
  </tfoot>
</table>
style.css(抜粋)
table, td, th {
  border:1px solid #aaa;
  border-collapse: collapse;
}

table {
  width: 300px;
}

td.tdcenter {
  text-align: center;
}

td.tdright {
  text-align: right;
}

ブラウザでの表示結果

abcdefghi
12 123 12345678
123 123456 12345678
フッター

なお,上の結果では罫線と文字列の距離が近すぎるようにも感じられます.この場合は padding を適当に設定すると良いでしょう.例えば,左右の padding を 4px に設定して文字と罫線の距離を確保します. (HTMLのサンプルを見るCSSのサンプルを見る

style.css(抜粋)
td {
  padding: 0 4px;  /* 上下 0, 左右 4px*/
}

ブラウザでの表示結果

abcdefghi
12 123 12345678
123 123456 12345678
フッター

目次に戻る