- ベストアンサー
スタイルシートが反映されない
こんにちは。 スタイルシートが反映されなくて困っています。 該当ページはこちらです。 http://dir.chitose4.org/ 本当は、 http://chitose4.org/ のようなデザインになるはずなのですが、 文字のサイズ以外CSSが全く反映されません。 何か原因になるものがあれば、是非教えてください。 また、 http://chitose4.org/ の文頭にxml宣言 <?xml version="1.0" encoding="Shift_JIS" ?> をいれると、これもまたCSSが反映されなくなります。 ご存知の方、教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
xml宣言を入れるたときにスタイルシートによる表示のされ方がIEで異なるのは、IEのバグです。 IEには描画モードには独自のHTML解釈をする互換モードとW3C準拠の標準モードがあります。 この切り替えは、常にファイル内文書の一行目を参照し、<!DOCTYPE~>宣言があれば標準モード、それ以外なら互換モードとして動作します。 よって、冒頭にXML宣言を入れると独自のHTML/CSS解釈で表示する互換モードになってしまい、予期せぬ表示になることもあります。 XMLではxml宣言が強く推奨されるものの無くても間違いではないとされているので、IEの標準モードを使いたい場合は省略するというのもひとつの方法です。 それと、外部スタイルシートの文字コードは、一行目に @charset "EUC-JP"; などと書いて指定しておくとより確実です。
その他の回答 (1)
- Bonjin
- ベストアンサー率43% (418/971)
>スタイルシートが反映されなくて困っています。 反映されないと書かれていますが、具体的にどういう現象なのでしょうか? 見てみたところHTMLやスタイルシートが違うので、表示が違うのも当然ではないでしょうか? それぞれのHTMLソースとスタイルシートを比べてみてください。 そこが違いとして表れているのではないでしょうか?
お礼
文字コードが関係していたようです。 http://dir.rentub.com/ の文字コードがEUC-JPだったため、 スタイルシートがうまく動作されなかったみたいです。 スタイルシートの文字コードもEUC-JPに直したら、正常に表示されました! あと、もう1つ気になることがあるのですが、 最初のほうでも書いたように、 xml宣言 <?xml version="1.0" encoding="Shift_JIS" ?> を入れると、これもまたCSSが読み込まれなくなります。 これは何が原因なのでしょうか?
補足
返信ありがとうございます。 >>反映されないと書かれていますが、具体的にどういう現象なのでしょうか? 具体的に書きますと、 <div id="container">で囲まれた部分が本当は中央寄せになるはずなのですが、なりません。 ためしに、 http://dir.chitose4.org/ と、 http://chitose4.org/ のソースを同じにして表示させてみたのですが、 全く違う表示になってしまいます。 PHPを利用しているのが、関係あるのでしょうか?
お礼
なるほど、そういうことだったんですか! ありがとうございました。