• ベストアンサー

ie6で画像のpaddingを表示させたい

seesaaブログユーザーです。 seesaaはxhtmlで記述しているようでソースの先頭は 1:<?xml version="1.0" encoding="Shift_JIS"?> 2:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> (1:は一行目, 2:は二行目であることを表しています) のようになっています。 これを 1:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> もしくは 1:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2:<?xml version="1.0" encoding="Shift_JIS"?> としても問題ないのでしょうか? と、質問させていただいた理由は 画像に枠をつけたいと思って、cssでimgにpaddingを指定したのですが ie6では表示されないのでこれを何とかしたいからです。 http://www.koikikukan.com/archives/2006/03/11-015552.php の記事を参照してわかったのですが、 この状態ですと画像のpaddingがie6では適用できないのですね。 そこで、記事にあるようにdoctype宣言を先頭に持っていくと ie6でも表示されるようになりました。 ということで、 「<?xml version="1.0" encoding="Shift_JIS"?>」 の扱いについて質問させていただきます。

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

  • ベストアンサー
noname#39970
noname#39970
回答No.2

UTF-8じゃないなら <?xml ?> は必須。 xml文書として最初に出現しなければならないので<!DOCTYPE>より前でなければならない。 <!DOCTYPE>はxmlを検証するためのものなので そもそもxmlであるという宣言(<?xml?>の事)より先にしてあると正しくない。

ONEONE
質問者

お礼

xmlはまだまだ初心者なのでわからないところが多いです。 なるほど、となると、この方法で枠を表示しようというのがムリのようですね。 ありがとうございました。

その他の回答 (1)

回答No.1

http://www.atmarkit.co.jp/fxml/rensai/w3cread28/w3cread28_3.html >上位のプロトコルによって符号化が決まらない場合、 符号化宣言を含まないXML 実体が、正しいUTF-8またはUTF-16の内容を持たないときも、致命的な誤りとする。 逆に言えば 「上位のプロトコルによって符号化が決まっていれば符号化宣言を含まなくても良い」 「UTF-8またはUTF-16の内容を持つときは符号化宣言を含まなくても良い」 ということ。 ☆通常,XML宣言を省いてあるWebサイトは,UTF-8で書かれているけどね >1:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "​http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">​ 2:<?xml version="1.0" encoding="Shift_JIS"?> BNF記法を探すのが面倒くさいので探さないが、誤りです。

ONEONE
質問者

お礼

そうですか。 誤りとわかったことは一歩前進ですが、枠が表示できませんねぇ。 ありがとうございました。

関連するQ&A