• ベストアンサー

スタイルシートは直接指定より優先されるのでしょうか?

一行ずつグレー、白としたいのですが、 スタイルシートは直接指定より優先されてしまうでしょうか? .tr{ background-color : #FFFFFF; } <table> <tr> <td> 白 </td> </tr> <tr> <td bgcolor="glay"> グレーくならない </td> </tr> </table> いままで使っていなかったtbodyタグでスタイルシートの背景色を指定していますが、スタイルシートを使う限りこの方法しかないでしょうか?

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

#3の補足 <td style="background-color:gray"> としてみて下さい。

natsuyori
質問者

お礼

すばり。この方法で行おわせていただこうと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

より直接指定されるモノが優先されます。 grayにならない理由は、他の人も言ってる通り綴りが異なるからですね。 場合に寄っては、色名でなく数値で指定した方がいいかもしれません。

natsuyori
質問者

お礼

つづりまちがえました。すみません。 trなら色が変わります。しかし同じタグtdの場合はやはりCSSが優先されるようです。 <style type=text/css> <!-- td{ background-color : #FFFFFF; } --> </style> <body> <table> <tr> <td> 白 </td> </tr> <tr> <td bgcolor="gray"> グレーくならない </td> </tr> </table>

すると、全ての回答が全文表示されます。
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

クラスで分けたほうがいいと思われますが。 td.a { background-color : #FFFFFF; } td.b { background-color : gray; } <td class="b"> とか。 ちなみに、CSSの指定方法も間違っています。 .tr{ background-color : #FFFFFF; } とすると、 <tr class="tr"> としないと色が変わりません。 tr タグ全てに適用する場合は tr{ background-color : #FFFFFF; } とします。

natsuyori
質問者

お礼

なるほど。勉強になりました。 CSS、直接指定ともにTDだとCSSが優先されてしまうので色をつけるところだけclassで色をつけるのは良い方法だとと思いました。ありがとうございました。

すると、全ての回答が全文表示されます。
  • elttac
  • ベストアンサー率70% (592/839)
回答No.1

 大変失礼な回答ですが,スタイルシート以前に,「グレー」の綴りが間違っていて,それで灰色にならないものと思われます。  正しい綴りは「gray」です。  スタイルシートの優先云々の話は,それ以降のお話となります。

natsuyori
質問者

お礼

大変申し訳ありません。 手書きで質問してしまいまちがえてしまいました。 CSSのtr●-○直接のtd CSSのtd○-●直接のtd という同じタグならCSSが強い感じでした。

すると、全ての回答が全文表示されます。