XHTMLタグには終了タグがある

XHTMLタグには終了タグがある
<br />オリジナルリンク: http://www.dudo.org/article.asp?id=253
XHTML 仕様には、「各 XHTML タグには終了タグがある」という標準があります。 HTML 内の終了タグがない要素の場合は、終了タグの前に「/」を追加してタグを閉じます。たとえば、HTML の <img> タグの本来の記述方法は次のとおりです。
<img src="..." alt="...">
XHTML では、タグを閉じるために ">" の前に "/" を追加する必要があります。一部の古いブラウザがこの記述方法を認識しないようにするには、"/" の前にスペースを追加する必要があります (HTML 互換性標準)。
<img src="..." alt="..." />
これは、開始タグに「/」を追加するとタグが閉じられることを意味しているようです。特にスペース内のラベルの場合は、この方法を使用する方が簡潔であるようです。例えば、
<div class="clear"></div>
これは、フロートをクリアする (フローティング要素を閉じる) ときによく使用されるコードです。すると、次のように書けるようです。
<div class="clear" />
はい、<div> 要素は空にすることができ、このように記述しても問題はありませんが、他のタグに同様の記述方法を使用するとどのような結果が生じるでしょうか?外部の JavaScript ファイルを <head> にインポートするには、通常次のように記述します。
<script type="text/javascript" src="..." language="javascript"></script>
空の内容がないので、次のように書くことができますか?
<script type="text/javascript" src="..." language="javascript" />
この書き方は機能しないか、ブラウザでエラーが発生することがわかりました。ほとんどの場合、ブラウザはタグが閉じられていないと認識し、<script> 以降のすべてのコンテンツが JavaScript コードであると誤って認識し、エラーが発生します。例えば、
<テキストエリア id="tt" 列数="10" 行数="8" />
このコードをブラウザで実行すると、<textarea> から始まるすべての XHTML コードがテキスト ボックスの内容として扱われ、テキスト ボックスに表示されることがわかります。
HTML4.0 にすでに存在するペアタグは、XHTML の既存の終了タグを使用する必要があるようです。では、なぜ <div> が問題ないのでしょうか?実際のところ、<div> も許可されていません。<div> はブラウザでそれほど明確に表示されないというだけです。 <span /> のような書き方はさらに間違いです。まず、<span> 自体に終了タグ </span> があります。さらに、<span> タグの内容を空白にすることはできません (純粋なスペースも許可されません)。つまり、<img>、<hr>、<link>、<br> などの「/」で閉じることができるタグを除いて、他の要素には </...> を使用する必要があります。そうしないと、予期しない問題が発生します。

<<:  Docker に Tomcat をインストールし、Springboot プロジェクトの WAR パッケージをデプロイする方法

>>:  SeataがMySQL 8バージョンを使用できない問題を解決する方法

推薦する

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

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

Webpack パッケージング CSS 背景画像パスの問題に対する完璧なソリューション

vue コンポーネントのスタイル タグ内には、背景画像を使用する次の CSS コードがあります。 背...

MySQL ストレージエンジン InnoDB の設定と使用方法の説明

MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...

Vue要素ツリーコントロールに点線を追加する詳細な説明

目次1. 成果を達成する2. 実装コード3. その他の実装要約する1. 成果を達成する 2. 実装コ...

波効果を作成するための CSS のトリック

純粋な CSS を使用して波の効果を実現することは、常に非常に困難でした。 波形曲線を実現するにはベ...

メンテナンス可能なJSコードの書き方を教えます

目次保守可能なコードとは何ですか?コード規約1. 読みやすさ2. 変数と関数の命名3. 透過的な変数...

クリックして展開し、全文を読む機能を実現する純粋なCSS

注記記事表示リストインターフェースを開発する場合、情報の基本的な概要を提供するために記事ヘッダーコン...

MySQLデータベースで列を追加、削除、変更する方法

この記事では、例を使用して、MySQL データベースの列を追加、削除、および変更する方法について説明...

MySQL データベースのバックアップ プロセスに関する注意事項

今日は、データ バックアップに関連するいくつかの点について調べ、MySQL データ バックアップに関...

Vue 2.0 の基礎を詳しく解説

目次1. 特徴2. 例3. オプション4. 基本的な文法5. ライフサイクル6. ルーティング管理 ...

MySql 学習ノートにおけるトランザクション分離レベルの詳細な説明

背景トランザクションについて話すとき、誰もがそれに精通している必要があります。MySQL データベー...

Mysqlクエリ条件で文字列の末尾にスペースがあっても一致しない問題の詳細な説明

1. テーブル構造テーブル人id名前1あなた2あなた(スペース) 3あなた(スペース2つ) 2. ク...

Nginx の負荷分散アルゴリズムとフェイルオーバー分析

概要Nginx ロード バランシングは、アップストリーム サーバー (実際のビジネス ロジックによっ...

MySQLの一般クエリログとスロークエリログの分析

MySQL のログには、エラー ログ、バイナリ ログ、一般クエリ ログ、スロー クエリ ログなどが含...

Sqoop エクスポート マップ 100% 削減 0% さまざまな理由と解決策でスタック

私はこのようなバグを典型的な「ハムレット」バグと呼んでいます。これは、「エラーメッセージは同じだが、...