- ベストアンサー
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」はゴミのように小さくなってしまいます。 どのように指定すれば良いのでしょうか?よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
本来 body のフォントサイズを 80% にしたら table もそれを引き継いで 80% になるべきなのですが、IE はバグによりそれを引き継がないためこのような問題が生じます。 No.1 の kou-taro さんの方法は IE ではうまく行くものの、そのバグのない FireFox などでは小さくなってしまいます。 どちらのブラウザでも正しく表示されるようにするには、table に font-size:100% を指定します。 こうすると IE でも table が親要素のフォントサイズをそのまま引き継ぐようになるので、ここでは body の 80% を引き継いで同じサイズで表示されるようになります。 FireFox などは元々 font-size:100% となっており、それを明示しただけなので問題は起こりません。
その他の回答 (2)
- taba
- ベストアンサー率61% (349/567)
環境によって異なるのではっきりは分かりませんが、IEを使っているなら下記のバグかも。IE6の互換モードでも起きるようなので、標準モードを使ってみてください。 ■フォントサイズの指定が表要素に継承されない http://cssbug.at.infoseek.co.jp/detail/winie/b023.html あと、とりあえず最低firefox/mozillaでの表示をテストしたほうが良いです。
お礼
回答ありがとうございます! 現在はfirefox/mozillaがないので確認できないのですが、これからは確認するようにした方がいいですね。
↓これではどうでしょうか? BODY, TH, TD { font-size: 80%; }
お礼
ありがとうございます! すべて80%で表示されました。 別々に指定してはだめだったんですね。
お礼
回答ありがとうございます! BODY{ font-size: 80%; } TABLE{ font-size : 100%;} と指定してみました。 すべて80%の大きさで表示されました。 相対指定は難しいのですね。でも小さいフォントに固定しているサイトは嫌われそうなので、今からすべて相対指定に直そうと思っています。大変参考になりました。