CSSでテーブルの枠線を消す方法と注意点【初心者向け】現役エンジニアが解説

初心者向けにCSSでテーブルの枠線を消す方法と注意点について解説しています。テーブルでの枠線指定の基本と、特定のテーブルセルの枠線を消す方法を説明します。サンプルで見え方を確認しましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

CSSでテーブルの枠線を消す方法と注意点について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

目次

そもそもCSSの記述方法がわからない場合は、 CSSの書き方について解説した記事を読むとさらに理解が深まります。

 

田島悠介

今回は、CSSに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

テーブルの枠線を消す方法と注意点について詳しく説明していくね!

大石ゆかり

お願いします!

 

テーブルすべての枠線を消す方法

テーブル要素は特に指定をしなければ枠線は表示されません。

<table>
  <tbody>
    <tr>
      <td>1行1列</td>
      <td>1行2列</td>
    </tr>
    <tr>
      <td>2行1列</td>
      <td>2行2列</td>
    </tr>
  </tbody>
</table>

これは枠線の既定値が none (表示しない) に指定されているからです。

 

テーブル要素の枠線は border プロパティで指定できます。

border プロパティの書き方は以下のとおりです。

border: <border-width> <border-style> <border-color>
  • border-width :線の太さ
  • border-style :線の形状(実線や点線など)
  • border-color :線の色

 

テーブル要素の枠線を表示するには、以下のように指定します。

table, td {
  border: 1px solid black;
}

border プロパティについて、詳しくは以下も参考にしてください。

MDN border

 

特定のテーブルセルの枠線を消す方法

テーブルの枠線を表示させておき、特定のセルの枠線だけを消す場合は、以下のようにCSSを組み合わせて使用します。

CSS

td {
  border: 1px solid black;
}

.noborder {
  border: 0px none;
}

HTML

<table>
  <tbody>
    <tr>
      <td>1行1列</td>
      <td class="noborder">1行2列</td>
    </tr>
    <tr>
      <td>2行1列</td>
      <td>2行2列</td>
    </tr>
  </tbody>
</table>

全体で枠線を表示する設定にしておき、特定のセルだけ枠線を消すようなイメージです。

 

[PR] HTML/CSSで挫折しない学習方法を動画で公開中

それぞれの方法の注意点

テーブル全体に対して枠線を表示する場合は、最初の方法で指定して問題ありません。

セルごとに枠線の表示を変更する場合、CSSの記載順に注意しましょう。

CSSはより後に記載したものが適用されるので、期待通りに枠線が表示されない場合があります。

 

実際に枠線を消してみよう

今回のサンプルプログラムでは、特定のセルの枠線を消す方法を確認します。

合わせて border-collapse プロパティを指定することで、線を1本の実線で表示するよう制御しています。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>sample</title>
  <style>
    table {
      border-collapse: collapse;
    }
    td {
      border: 1px solid black;
    }
    .noborder {
      border: 0px none;
    }
  </style>
</head>
<body>
  <table class="table1">
    <tbody>
      <tr>
        <td>1行1列</td>
        <td class="noborder">1行2列</td>
      </tr>
      <tr>
        <td>2行1列</td>
        <td>2行2列</td>
      </tr>
    </tbody>
  </table>
</body>
</html>

実行結果は以下のようになります。

 

執筆してくれたメンター

太田和樹(おおたかずき)

ITベンチャー企業のPM兼エンジニア

普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。

開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント。

地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。

 

大石ゆかり

内容が分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

CSSを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

CSSを学習していて、このように思ったことはありませんか?

テックアカデミーのWebデザインコースでは、第一線で活躍する「プロのWebデザイナー」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたWebデザイナーの手厚いサポートを受けながら、オリジナルのWebサイト制作を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役Webデザイナーから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!