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

.box{~~}
という具合にfont-sizeやline-heightを
スタイルシートで定義しています。

あるtdの中に<td class="box">で
そのスタイルを適用させるまではいいのですが、
そのtdの中にさらにtableを作った場合、
その中にはboxスタイルが適用されません。

入れ子になっている影響かな?とは思うのですが、
この場合、どう指定したらよいのでしょうか。
すべてのtdにclass指定するのは避けたいです。

A 回答 (2件)

#1の方の回答にある、テーブルに直接クラス指定する方法の他に、boxクラスに含まれる要素に対する特定の要素にも指定を追加するセレクタを記述する方法も使えると思います。



.box{~~}

これを

.box, .box td{~~}

とすると、boxクラスの要素の中に含まれているtd要素にも同じスタイルシートを適用するようになると思います。

他に、DOCTYPEスイッチを使って、ブラウザでのスタイルシートの適用方法を変えることでも対処できるかもしれません。 この場合は、HTMLファイルの<HTML>タグの前に、省略なしで下記のDOCTYPE宣言を記述します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

こうすると、スタイルシートの適用範囲が標準モードになり、特に細工をしないでもboxクラスの要素内のテーブルにもboxのスタイルが適用されると思います。
ただ、こちらの方法を使うと、全体的にスタイルシートの適用方法が変わるので、他の調整も必要になるかもしれません。

参考まで。
    • good
    • 0
この回答へのお礼

.box, .box td{~~}でうまく行きました。
継承だったかな?すっかり忘れていた書式です(^^;

DOCTYPEの方は仰るように
他の部分に影響が出るところなので、
あえて使わないようにしているのですが、
今後の参考にさせていただきます。

ありがとうございました。

お礼日時:2003/08/22 18:46

<table class="box">


という風に tableタグに class指定をすれば1箇所で
すみますけど、それでは都合が悪いですか?
    • good
    • 0
この回答へのお礼

それは試してみたのですが、
適用されないようなのです。

調べてみたところ、tableに指定すると
対応できないブラウザがいくつかあるので、
td、thにするように書かれていました。

それで他にも方法は無いかなと思って質問した次第です。
回答ありがとうございました。

お礼日時:2003/08/22 18:43

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