電子書籍の厳選無料作品が豊富!

表の中の1セル内に文字列と表を配置しています。
その中のフォントカラーを統一させたいのですが…

<TABLE>
<TR><TD class="color"> ←1
ここに色々文字列
  <TABLE>
  <TR><TD>ここにも文字列</TD></TR> ←2
  <TR><TD>ここにも文字列</TD></TR> ←3

この場合、「ここに色々文字列」の方はちゃんと反映されます。
「ここにも文字列」の方が反映されません。(bodyで設定したフォントカラー)

これを2や3のTDにclassを入れることなく1のTDで一括して変化させるようにするにはどのように記述したらよいでしょうか?

A 回答 (4件)

すみません記述を間違えました


<TR class="color">

一番最初の<TR>です。
    • good
    • 0
この回答へのお礼

返答ありがとうございます。

無事反映できました。

お礼日時:2008/08/07 15:48

連続投稿になってしまってすみません、今思いついたのですが、もしかしてCSSで当該部分に先立つスタイルとして:



td {
color: #000;
}

という様に、タイプセレクタ(tdというタグ全体が適用対象)で定義されてたりしますか?
これだと、確かにclass属性を適用された直接の子要素である「ここに色々文字列」の部分にしか効かないですね。
もし、このタイプセレクタを残しておく事が必須であるなら、当該部分の定義は以下の様にでもしてみて下さい。

td.color,
td.color table td {
color: #c00;
}

これで入れ子にしたtableのセルの方にも(こちらにclass属性を使う必要なく)文字色(赤)が適用される様になります。

この回答への補足

すみません。書き方が間違っていました。
ご指摘の通り、tr,tdで設定をしていました。
なので、括弧の部分は「tr,tdで設定したフォントカラー」です。

さらに、したいことはこれまたご指摘の通り、「一部テーブル内の文字を変化させる(tr,tdは残しておきたい)」というものでした。

#1さんの回答で無事反映できたので、それを利用させていただきます。

補足日時:2008/08/07 15:51
    • good
    • 0

> 「ここにも文字列」の方が反映されません。

(bodyで設定したフォントカラー)

妙ですね。仮に、CSSの定義が:
body {
color: #000;
}
であり、

.color {
color: #c00;
}
もしくは
td.color {
color: #c00;
}

と設定されているなら、サンプルのコードをコピペして検証しましたが、主要モダン・ブラウザでの表示結果はいずれのテキスト部分にもbodyで設定した色(この場合は仮に黒)ではなく上記のclassで定義した色(この場合は仮に赤)が反映されますよ?
反映されていないのだとしたら、CSSでの設定に何か不適切なものがあると思われます。入れ子にしたtableのセルに対して親要素のスタイルをわざわざ打ち消す(上書きする)様な指定をしていたりしませんか?
根本的な解決をするには、CSS部分を公開して頂いた方が良いと思います。
    • good
    • 0

<TABLE class="color">



としてCSSのほうを

.color td {
color:#f00;
}

のようにすればできますよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!