自己終了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 更新ケース更新フィールド値が固定されていない操作

推薦する

Tencent Cloud 上で Hadoop 3.x 疑似クラスターを構築する方法を説明します

1. 環境整備CentOS Linux リリース 7.5.1804 (コア)インストールフォルダを作...

Postman に基づく HTTP インターフェース テスト プロセスの分析

偶然、素晴らしい人工知能のチュートリアルを発見したので、みんなと共有せずにはいられませんでした。この...

Vueは動的に生成されたコンポーネントをドラッグアンドドロップする要件を実装します

目次製品要件アイデア問題ライブラリ選択をドラッグコンポーネントを生成する方法コンポーネントを生成する...

MySQLで判定文を書く方法のまとめ

MySQL で判断文を書く方法:方法1. CASE関数case関数の構文: CASE条件 値1の場合...

Tomcat での jar のロードに関する異常な問題の分析と解決

現象の説明:プロジェクトでは、Springboot を使用して Web プロジェクトを開始します。起...

JS は複数のタブを切り替えるカルーセルを実装します

カルーセルアニメーションは、ページの外観とインタラクティブなパフォーマンスを向上させることができます...

MySQL複合インデックスの詳細な研究

複合インデックス (結合インデックスとも呼ばれます) は、複数の列に対して作成されるインデックスです...

IE6/7 で絶対配置された要素が不可解に消えたりブロックされたりする問題を解決する方法

1. 絶対配置レイヤーの隣接フローティング レイヤーの幅が親レイヤーの幅と等しくなく、フロートがクリ...

MySQLでユーザーを作成し、権限を管理する方法

1. ユーザーとパスワードの作成方法1. MySQLデータベースに入る mysql> mysq...

Dockerで最もよく使われるイメージコマンドとコンテナコマンドの詳細な説明

この記事では、Docker の使用で最もよく使用されるイメージ コマンドとコンテナ コマンドを一覧表...

Linux 上でプロジェクトをリリースするために Tomcat を展開するプロセスにおけるさまざまな問題と解決策

プロジェクトをプロジェクトサイトのテスト環境にデプロイするJDK1.8トムキャット8.5 Maven...

あまり多くのコードを書かずに、ハイパーリンクを使ってシンプルで美しいカスタムチェックボックスを実装できます。

今日ふと、HTML でチェックボックスのスタイルを変更できる範囲が限られていることと、チェックボック...

MySQL でよく使用されるステートメントの包括的な概要 (必読)

以下にまとめたナレッジポイントはどれもよく使われる貴重な情報ばかりですので、ぜひ上手に集めてください...

フォーム OnSubmit と input type=image の使用の概要

ここに <input type="image"> がある場合、この画...

Linux コマンドラインでメールを送信する 5 つの方法 (推奨)

シェル スクリプトで電子メールを作成する必要がある場合は、コマンド ラインから電子メールを送信する知...