• ベストアンサー

CSSでフォントの大きさを指定するとき

CSSでフォントの大きさを相対指定したいのですが、Bodyでフォントサイズを80%にすると、テーブルの中はもとのままの100%の大きさです。そこで、Tableのフォントサイズも80%にすると、0.8*0.8したようにさらに小さくなってしまいます。 たとえば、下のようなページだと ----------------------------- <BODY> あいうえお<BR> <TABLE> <TR> <TD>アイウエオ<BR> <TABLE> <TR> <TD>aiueo<BR> </TD> </TR> </TABLE> </TD> </TR> </TABLE> </BODY> ----------------------------- 「あいうえお」が80%の大きさで、「アイウエオ」はさらに小さく、「aiueo」はゴミのように小さくなってしまいます。 どのように指定すれば良いのでしょうか?よろしくお願いいたします。

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

本来 body のフォントサイズを 80% にしたら table もそれを引き継いで 80% になるべきなのですが、IE はバグによりそれを引き継がないためこのような問題が生じます。 No.1 の kou-taro さんの方法は IE ではうまく行くものの、そのバグのない FireFox などでは小さくなってしまいます。 どちらのブラウザでも正しく表示されるようにするには、table に font-size:100% を指定します。 こうすると IE でも table が親要素のフォントサイズをそのまま引き継ぐようになるので、ここでは body の 80% を引き継いで同じサイズで表示されるようになります。 FireFox などは元々 font-size:100% となっており、それを明示しただけなので問題は起こりません。

sakurako77
質問者

お礼

回答ありがとうございます! BODY{ font-size: 80%; } TABLE{ font-size : 100%;} と指定してみました。 すべて80%の大きさで表示されました。 相対指定は難しいのですね。でも小さいフォントに固定しているサイトは嫌われそうなので、今からすべて相対指定に直そうと思っています。大変参考になりました。

その他の回答 (2)

  • taba
  • ベストアンサー率61% (349/567)
回答No.3

環境によって異なるのではっきりは分かりませんが、IEを使っているなら下記のバグかも。IE6の互換モードでも起きるようなので、標準モードを使ってみてください。 ■フォントサイズの指定が表要素に継承されない http://cssbug.at.infoseek.co.jp/detail/winie/b023.html あと、とりあえず最低firefox/mozillaでの表示をテストしたほうが良いです。

sakurako77
質問者

お礼

回答ありがとうございます! 現在はfirefox/mozillaがないので確認できないのですが、これからは確認するようにした方がいいですね。

noname#83116
noname#83116
回答No.1

↓これではどうでしょうか? BODY, TH, TD { font-size: 80%; }

sakurako77
質問者

お礼

ありがとうございます! すべて80%で表示されました。 別々に指定してはだめだったんですね。

関連するQ&A