自己終了XHTMLタグを書くときに注意すべきこと

自己終了XHTMLタグを書くときに注意すべきこと

XHTML の img タグはいわゆる自己終了タグであり、XML では完全に合法です。
XHTMLの img タグは、次のように記述する必要があります: <img alt="" src="" />。この記述方法は自己終了とも呼ばれ、XML では完全に合法です。 XML 関連の開発に慣れている方であれば、XML 内の子ノードを持たない要素はすべてこの方法で記述でき、XHTML 内のコンテンツのないタグもすべてこの方法で記述できると考え、この記述方法に慣れているかもしれません。理論上、XHTML では任意のタグを自己終了形式で記述できますが、ブラウザの互換性によって新たな問題が発生しています。つまり、IE は特定のタグの自己終了形式の記述方法を正しく認識できません。 文字列 8
次の XHTML コードを入力して、IE で参照してみてください: <p>hello <script type="text/javascript" /> world</p>。先頭の hello しか表示されず、最後の world が表示されないことがわかります。これは本当に不可解です。皆さんの多くは、この問題に遭遇したことがあり、合理的な説明が見つからないまま何時間も費やしたことがあるかもしれません。 文字列 4
説明は、別の類似コードから得られます: <p>hello <textarea /> world</p>。IE での表示効果を確認することで、合理的な説明が得られますか?手前のhelloは正常に表示されていますが、奥のworldはtextareaに表示されていることがわかります。これは、IEがtextareaタグがそれ自体で閉じられていることを正しく認識しておらず、閉じられていないものとして扱い、次のコンテンツをtextarea内のコンテンツとして認識していることを証明しています。
これで、以前のコードがスクリプトの一部として認識されるため、その背後にある世界を認識できない理由がわかりました。これは、XHTML を使用する場合、XML ほど自由に自己終了の記述スタイルを使用できないことを示しています。自己終了の方法で記述できるのは、閉じる必要のないタグだけです。その他のタグについては、コンテンツがない場合でも、ペア終了の記述スタイルを使用するのが最適です。
最後に、実は愚かなパーサーは IE だけに見られるのではないということを皆さんに思い出していただきたいと思います。不正確なパーサーによって引き起こされる問題は、さまざまな場所で発生する可能性があります。したがって、XHTML を書くときは、古い HTML から受け継いだいくつかの習慣に適応する必要があります。本物の XML のように標準を満たしていると思って、気軽に書くことはできません。信じられませんか?もう一つ試してみましょう: <p>hello <br></br> world</p>、IE と Opera でどのように表示されるか確認します。
XHTML の関連仕様:
1. すべてのタグには対応する終了タグが必要です
2. すべてのタグ要素と属性の名前は小文字でなければなりません
3. すべてのXMLタグは適切にネストされている必要があります
4. すべての属性は引用符「」で囲む必要があります。
5. すべての<と&の特殊記号をエンコードする
6. すべての属性に値を割り当てる
7. コメントに「--」を使わない

<<:  CSS 要約ノート: 変換、遷移、アニメーションの例

>>:  mysql 更新ケース更新フィールド値が固定されていない操作

推薦する

MYSQLのバックアップデータのスケジュールクリアの特定の操作

1|0 背景プロジェクトの要件により、各月の履歴在庫データをアーカイブしてバックアップする必要があり...

Dockerはポートマッピングを設定しますが、ソリューションにアクセスできません

#docker ps チェック、すべてのポートがマップされています コンテナID イメージ コマンド...

ウェブデザインと制作に関する科学的原則と提案の要約

<br />ネットワーク設計の分野では、アイトラッキングに関する研究が非常に盛んに行われ...

CSS は Apple のスムーズなスイッチ ボタン効果を模倣します

目次1. コード分析2. ソースコードソースコード1. コード分析1.1 HTMLコード分析 <...

Dockerは同じIPネットワークセグメントとの接続を実現する

最近、Docker とホストが同じネットワーク セグメント上で通信する問題を解決し、そのプロセス全体...

JavaScript の実行コンテキストとコールスタックの詳細な説明

目次1. 実行コンテキストとは何か2. 実行コンテキスト スタックとは何ですか? 3. 実行コンテキ...

Apache の一般的な仮想ホスト設定方法の分析

1. Apacheサーバーのインストールと設定yum インストール httpd -y systemc...

jQueryはシャトルボックス効果を実現します

この記事では、シャトルボックス効果を実現するためのjQueryの具体的なコードを参考までに紹介します...

MySQL InnoDBセカンダリインデックスのソート例の詳細な説明

ソート問題最近、Geek Time の「45 Lectures on MySQL Practice」...

CSSの幅と高さのデフォルト値の詳細な説明:autoと%

結論は幅の%: 包含ブロック(親要素)の幅に基づいて、親の制限を超える幅のパーセンテージを定義します...

フォームを送信した後、別のファイルに移動する

<br />質問:特定のファイルにジャンプするには、HTML でどのように記述すればよい...

MySQL の自動増分 ID に関するいくつかの小さな問題の要約

以下の質問はすべて InnoDB ストレージ エンジンに基づいています。 1. 最も大きな ID を...

CSSは固定比率のブロックレベルコンテナを簡単に実装できる

H5 レイアウトを設計する場合、通常はバナーに遭遇することになります。例えば、2:1 で表示したい場...

ウェブデザイン経験

<br />著者はかつてWebデザインの初心者でしたが、継続的な探求と実践を通じて、今で...

JavaScript プロトタイプチェーンを理解するための 2 つの図

目次1. プロトタイプの関係2. プロトタイプチェーン3. 結論序文:前回の記事では、JavaScr...