• ベストアンサー

XML宣言について

htmllintでエラーチェックをしたら、 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "​http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">​ <html xmlns="​http://www.w3.org/1999/xhtml"​ xml:lang="ja" lang="ja"> にはXML宣言をいれろとでたので <?xml version="1.0" encoding="Shift_JIS"?>を入れました。 しかし、下記cssの設定でセンター揃えの設定をしていたのに 左よりになってしまいました。 XML宣言を取ると元のセンター揃えに戻りましたがXML宣言はいれない 方がよいのでしょうか?入れてもセンター揃えになりますか? css---------------ーーーーーーーーーーー * {1 margin: 0; padding: 0; } body { margin: 0px; padding: 0px; background-color:#f0fbff; height:100%; font-size: 13px; } html{ height:100%; } #wrapper { background-color:#fff; margin:0px auto; padding:0px; width:848px; height:100%; min-height:100%; border-left:1px solid #b8b8b8; border-right:1px solid #b8b8b8; } body > #wrapper { height:auto; }

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

  • ベストアンサー
  • koumild
  • ベストアンサー率100% (6/6)
回答No.1

結論を申しますと、現段階では記述の必要はないと思います。 たぶんIE6で確認を行ったと思うのですが、 先頭行にDOCTYPE宣言以外を入れると、 IE6は互換モードで起動されてしまいます。(仕様と言うか…バグに近いかと…) そのため、いくつかのスタイルシートが正常に動作しません。 ですので、厳密に構文チェックをするとエラーにはなりますが、 XML宣言は記載しなくて良いと思います。 PHPが利用可能であれば、 ブラウザによって記述の有無を振り分けることも手段の一つです。

ww_puper
質問者

お礼

ありがとうございます。 まさしくIE6です。 IE6もまだまだ多いのでこれからも記述はしないようにします。 PHPは全くわからなかたので知りませんでした。 これから勉強してみます。

その他の回答 (1)

noname#83877
noname#83877
回答No.2

htmlを見ていないのでよくわかりませんが、bodyにtext-align:center;を#wrapperにtext-align:left;を指定してみてください。 IEの互換モードではmargin:auto;でセンタリングできないので、text-alignでブロックレベルがセンタリングされる仕様を利用します。

ww_puper
質問者

お礼

アドバイスありがとうございます。 頂いたのをもとに色々ためしてみたいです!!

関連するQ&A