独学でサイト作成に挑戦しています。
ネットと書籍しか知識を得る手段がなく、つまずくとなかなか進めません。どなたか教えて下さい。
現在の状況
XHTML 1.0 Strictで記述
文字コードはShift-JIS(Windowsのメモ帳使用)
ブラウザはIntrenet Explorer6のみ
xml宣言ありである程度レイアウトを進めてきましたが、
>XML は文字コードのデフォルトが UTF-8 で、その場合 XML宣言を記述しなくてもよく、それ以外の文字コードを利用する場合は、原則として XML 宣言に charset 記述が必要。ただし、xhtml1.0 の場合、仕様書の第2版で "上位のプロトコルで文字コードを指定すれば XML宣言はなくてもよい" となったそうです。
という記述を見て、xml宣言のありなしを悩んでいます。
○できればIE6でも標準準拠モードで表示させたい。
○UTF-8対応のエディタもいまいち分からないので出来ればShift-JISで記述したい。
今の状態から単純にxml宣言を消して表示させてみると全くレイアウトがちがうのですが、現在の表示が過去互換モード、標準準拠モードのどちらにスイッチされているか分かる方法はありますか?
どなたか教えて下さい。お願いします。
No.2ベストアンサー
- 回答日時:
XHTMLで制作するつもりであれば、文法的にXML宣言はあった方がいいです。
その場合は
<?xml version="1.0" encoding="shift_jis"?>としてあげます
これでSJISでの記述が可能です
問題は宣言した後の挙動についてなんですが、yoopingさんが感じているように、IE6ではドキュメントタイプ宣言より前に文字がある場合、後方互換モードになるバグがあります。
つまりXML宣言をすると強制的にIE6の後方互換モードになってしまうわけですね
それで何故レイアウトが全く違うのかというと、IE6の後方互換モードには、更にボックスモデルに対する解釈にバグがあり
幅にボーダーとパディングを含んでしまいます。
つまり標準準拠モードでCSSレイアウトを行うと、根本的なボックスモデル解釈が異なる為、レイアウトが著しく崩れます。
これはIE6のバグなので、FireFoxなど比較的CSS準拠のブラウザで見た場合は問題ありません。
逆にIEで問題ないように作成すると正常のレンダリングを行うブラウザではレイアウトが崩れます。
この対応策としては、widthとborderやmarginやpaddingを同時に指定しないという方法が一般的ですが、その状態でウェブ標準を突き詰めると幾つもの壁にぶちあたります・・・
なので、XML宣言を捨てて標準準拠モードで記述するか
頑張ってXML宣言をした状態で各ブラウザで標準表示されるようにするかといった選択になると思います。
趣味レベルでしたらXML宣言は気にしなくても大丈夫だとは個人的には考えてますが賛否両論でしょうね
くわしい説明をありがとうございます。大変勉強になります。
先ほどFireFoxをダウンロードしてみました。IE6で見たxml宣言なしの場合の表示どほぼ同じレイアウトで見えました。つまり標準準拠モードという事ですね。
hepinさんのアドバイスを受け、XML宣言なしで、標準準拠モードにそったレイアウトにやり直してみようかなという気になりました。
ありがとうございました。
No.1
- 回答日時:
きれいに書きたいなら必須。
ただ、エディタがメモ帳というのは1ファイルの文字数が大きくなったら使えなくなるから違うのを探した方がいい。
オススメは K2Editor
http://k2top.jpn.org/
>メモ帳というのは1ファイルの文字数が大きくなったら使えなくなるから
知りませんでした。
K2Editor調べてみます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- Java VScodeのターミナルの文字化けについて 1 2022/09/27 22:19
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Ameba(アメーバブログ) アメブロは、HTMLのタグの入力を許さないブログ・サイトですか? 1 2023/06/18 18:48
- ホームページ作成・プログラミング アメーバ・ブログは"HTMLタグ"を許可してないのですか? 2 2023/06/17 21:08
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GoogleChromeでレイアウトが左...
-
プルダウン(リストボックス)の...
-
VBA オブジェクトが必要です
-
tabキーによるfocusの当たり方...
-
WindowsとMacでのChromeのスタ...
-
<IMG>のALIGN属性値「absmiddle...
-
Dreamweaverのデザインビューが...
-
Shift-JISでxml宣言するべき?
-
DOCTYPE宣言はしなくていいの?
-
PythonによるCGIの開発環境の構築
-
XMLを作成してもタグしか表示さ...
-
H1タグに改行の<br>を使う
-
AfterEffectsでイージーイーズ...
-
ホームページ制作でコピーライ...
-
ハイパーリンクからメニュー無...
-
文字の最後に半角空白が勝手に...
-
Hタグを改行禁止にしてspanのよ...
-
テキストエリア内の改行もその...
-
\\n \\r \\t について
-
改行できる・できない入力ボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GoogleChromeでレイアウトが左...
-
doc As HTMLdocumentのコンパイ...
-
Macで見るとページが崩れます。
-
プルダウン(リストボックス)の...
-
WindowsとMacでのChromeのスタ...
-
<IMG>のALIGN属性値「absmiddle...
-
VBA オブジェクトが必要です
-
起動済みのIEをハンドルから操...
-
tabキーによるfocusの当たり方...
-
WEBページからのメッセージをVBAで
-
HTMLのバージョンの確認方法は?
-
スマホでページ内リンクができない
-
DOCTYPE宣言はしなくていいの?
-
VBAでgetElementByTagName
-
IE3.02 ,IE4 , IE5 ,IE6 すべて...
-
Flashは2020年にサポートが終了...
-
HTMLとXHTML
-
CSSハックについて・・・
-
webページの有効期限が切れてい...
-
エクセルのシートをブラウザに...
おすすめ情報