• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:table のバックグラウンドカラー)

tableのバックグラウンドカラーに関する疑問

このQ&Aのポイント
  • HTMLのtable要素において、background-colorプロパティが継承されないことについて疑問があります。
  • tableの背景色が赤色で塗られる際に、tdやthの背景色も赤くなるのはなぜでしょうか?
  • tdやthの背景色が赤くなる理由に関して、以下の2つの考えがあります。1つ目は、tdやthのbackgroundプロパティが指定されていないため、デフォルトの透明な背景が有効となり、tableの背景色が透けて見えるという理由です。2つ目は、tdやthにtableのbackgroundプロパティが継承されていないため、赤い背景色が適用されないという理由です。どちらが正しいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

テーブルの構造は以下の通りです。 http://www.w3.org/TR/CSS2/tables.html#table-layout 透けていれば下まで見えますし、透けてなければ一番上の物だけが見えます。 (現実世界の物が、後ろの物が見えないのと同じです。)

ShiftTail
質問者

お礼

>透けていれば下まで見えますし、透けてなければ一番上の物だけが見えます。 やはり、そういうことですね。 すっきりしました。 ありがとうございました。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

HTMLが間違っている table要素にbackground属性はありません。  →11.2.1 TABLE要素 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.2.1 )  bgcolorです。非推奨です。( http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/present/graphics.html#adef-bgcolor )  継承されるされないは、カスケーディングスタイルシートでの話です。 正しく書くと <table border="1" summary="schedule"><!-- summaryは必須 -->  <thead>   <tr>    <th abbr="内容">授業内容</th><th abbr="講義">講義</th>   </tr>  </thead>  <tbody>   <tr>    <td>1時間目</td><td>国語</td>   </tr>   <tr>    <td>2時間目</td><td>数学</td>   </tr>   <tr>    <td>3時間目</td><td>英語</td>   </tr>   <tr>    <td>4時間目</td><td>科学</td>   </tr>  </tbody> </table> となりますかね。  スタイルシートでは、background-colorは、継承しないプロパティであり、かつ初期値がtransparentですから、(1)であるか(2)であるかは判断できませんが、スタイルシートで table[summary="schedule"]{/* 詳細度 0 0 1 1 */ backgoound-color:blue; border-collapse:separate; border-spacing:10px; } table[summary="schedule"]:hover{ backgoound-color:blue; } table[summary="schedule"] *{ /* 詳細度 0 0 1 1 */ background-color:white; } とでもすれぱ歴然 ★table[summary="schedule"] td とすると詳細度が 0 0 1 2になるのでテストにならないので全称セレクタで指定してある。

ShiftTail
質問者

お礼

>table要素にbackground属性はありません。 なるほど。また一つ勉強させて頂きました。 詳細に補足していただき ありがとうございました。