• ベストアンサー

外部から読み込んだCSSとヘッダに書いたCSSでフォントサイズの表示が変わってしまう

Win IE6にて、外部から読み込んだCSSとヘッダに書いたCSSでフォントサイズの表示が変わってしまいます。 下のようにヘッダに書いた場合のフォントサイズが、 外部CSSにのみ同じように書いた場合に比べて小さくなります。 --------------------------------------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="ja" xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>テスト</title> <link href="test.css" rel="stylesheet" type="text/css" media="all" /> <style type="text/css" media="all"> <!-- #a .b { font: 70% "MS Pゴシック", Osaka; color: #333333; } --> </style> </head> <body> <div id="a"> <div class="b">表示のテストです</div> </div> </body> </html> ----------------------------------------------------- 外部CSSに書いた場合でも小さく表示させるようにするには どうしたらいいでしょうか? また、小さくなる原因はわかりましたらご教授願います。

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

  • ベストアンサー
  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答No.3

#1です > @charsetで「shift_jis」または「euc-jp」で反映することができました。 > UTF-8だとだめでした。 html内に記述しているcharsetや、外部cssに記述する@charsetは 「このファイルは charset に記述されている文字コードで書いているよ」 と、ブラウザに教えてあげているだけです おそらく質問者さんの外部cssはShift_Jisあたりで記述しているので、 @charset "UTF-8"; と一行目に記述したとしても、 実際の文字コードと違うため反映されないのだと思います (eucで可能なのはブラウザが勝手に相互解釈してくれているだけだと思います) UTF-8で認識させたいのならば、@charsetでは全く意味がないので、 css自体をUTF-8で記述しましょう メモ帳ならば、名前を付けて保存で文字コードの指定保存ができます オーサリングソフトや専用エディタ等でも変更項目が何かしらあると思います > 質問とずれてしまうのですが > htmlと違う文字コードでも問題ないのでしょうか? そのままだと問題があるので、前途@charsetでブラウザに教えてあげるというわけです

ryotatronica
質問者

お礼

ありがとうございました。 完璧に理解できました。

その他の回答 (2)

  • MAN_MA_RUI
  • ベストアンサー率41% (426/1024)
回答No.2

> htmlと違う文字コードでも問題ないのでしょうか? > 調べてみても出てきませんでしたので > もしご存知でしたら教えていただけると幸いです。 別に差し支えないかと思います。でなければ何のために文字コードを指定しているのでしょうか? ちなみにさらに関係ないけどJavaScriptファイルはページのエンコードとファイルのエンコードが異なり、尚且つスクリプトに全角文字が含まれているときIEなどでエラーを起こす場合があります。 この場合の対処法は文字コードを変えるか全角文字を排除することです。 特殊文字の記述により全角文字を使わずに全角文字を出力させることが出来るようになっています。

ryotatronica
質問者

お礼

回答ありがとうございます。 JSの文字コードも重要なんですね。 勉強になりました。

  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答No.1

考えられる原因としては、文字コードの違いですかね XHTMLのほうはUTF-8ですが、cssは別コードで記述しているとかはありませんか?

ryotatronica
質問者

補足

回答ありがとうございます。 @charsetで「shift_jis」または「euc-jp」で反映することができました。 UTF-8だとだめでした。 質問とずれてしまうのですが htmlと違う文字コードでも問題ないのでしょうか? 調べてみても出てきませんでしたので もしご存知でしたら教えていただけると幸いです。

関連するQ&A