XHTML タグのネスト規則の分析

XHTML タグのネスト規則の分析

XHTML 言語では、ul タグに li が含まれ、dl タグに dt と dd が含まれることは誰もが知っています。これらの固定タグのネスト ルールは非常に明確です。しかし、h1、div、p など、独立していてまとめられていないタグはまだたくさんあります。では、これらのタグのネスト ルールは何でしょうか。今日はこの話題についてお話ししましょう。

XHTML タグのネスト ルールについては、まず、XHTML タグには 2 つの種類があることを知っておく必要があります。1 つはブロックレベル要素 (block ) と呼ばれ、もう 1 つはインライン要素(inline、インライン、行レベルなどとも呼ばれる) と呼ばれます。

ブロックレベル要素とインライン要素の区別は簡単です。次の 2 行のコードを body タグに記述してください。

<div style=”border: 1px solid red;”>div1</div>
<div style=”border: 1px solid red;”>div2</div>

ブラウザのレンダリング効果:

div1
div2

ページ上の 2 つの div は 2 行のスペースを占めています。フロートまたは他の方法で設定されていない限り、これらは隣り合うことはありません。どちらも独自の行のスペースを非常に積極的に占めています。このような現象のあるタグを見かけたら、それをブロック要素と呼ぶことができます。

次に、次の 2 行のコードを body タグに挿入します。

<span style=”border: 1px solid red;”>span1</span>
<span style=”border: 1px solid red;”>span2</span>

ブラウザのレンダリング効果:

スパン1 スパン2

今回は、2 つのスパンが一列に並んでおり、互いに友好的で調和しています...このようなタグの動作をインライン要素と呼ぶことができます。

ブロックレベル要素とインライン要素の違い:

ブロックレベル要素は、通常、Web サイトの構造、レイアウトを構築し、コンテンツを送信するために使用されます。これらの重いタスクはすべてブロックレベル要素であり、次のタグが含まれます。

div、ul、li、dl、dt、dd、h1~h6、p、アドレス...

埋め込み要素は通常、Web サイトのコンテンツの詳細または一部で「強調、スタイルを区別、上付き文字、下付き文字、アンカー」などを行うために使用されます。次のタグはすべて埋め込み要素です。

a、span、strong、sub、sup、img... など

ブロック要素とインライン要素は相互に変換できます。変換コードは次のとおりです。

display: block; /* ブロック要素に変換*/

display: inline; /* インライン要素に変換*/

·ブロック要素とインライン要素の CSS呼び出しルールは異なります (この記事ではタグのネストについて説明するため、この知識ポイントについては詳しく説明しません)。

ブロック要素とインライン要素について簡単に紹介した後、 XHTML タグのネスト規則をリストします。

1. ブロック要素にはインライン要素または一部のブロック要素を含めることができますが、インライン要素にはブロック要素を含めることはできません。インライン要素に含めることができるのは、他のインライン要素のみです

<div><h1></h1><p></p></div> —— はい
<a href=”#”><span></span></a> —— はい
<span><div></div></span> — 間違い

2. ブロックレベル要素は <p> 内に配置できません

<p><ol><li></li></ol></p> —— 間違い

<p><div></div></p> — 間違い

3. インライン要素のみを含むことができ、ブロックレベル要素を含むことができない特殊なブロックレベル要素がいくつかあります。これらの特殊なタグは次のとおりです。

h1、h2、h3、h4、h5、h6、p、dt。

4. li には div タグを含めることができます- これは別々にリストする必要はありませんが、インターネット上では多くの人が混乱しているので、ここで簡単に説明します。

li タグと div タグはどちらもコンテンツを読み込むためのコンテナです。どちらも同等のステータスを持ち、階層はありません (たとえば、h1 と h2 の厳密な階層など)。li タグは親の ul または ol にも対応できることを知っておく必要があります。li は div に対応できないと考える人がいるのはなぜでしょうか。リーはそんなにケチだと思わないでください。リーは痩せていて小さく見えますが、実は心が広いのです...

5. ブロックレベル要素はブロックレベル要素と並べて配置され、インライン要素はインライン要素と並べて配置されます。

<div><h2></h2><p></p></div> —— はい
<div><a href=”#”></a><span></span></div> —— はい

<div><h2></h2><span></span></div> — 間違い

<<:  MySQL のデッドロックとデータベースおよびテーブル シャーディングの問題の詳細な説明

>>:  vue+tsは要素のマウスドラッグの効果を実現します

推薦する

WIN10 システムと Docker 内部コンテナ IP 間の通信方法

1. Windows 版の Docker をインストールしたら、Docker クイックスタート ター...

モバイル適応型ウェブページ効果は、小さな表示ページの問題を解決します

仕事上、携帯電話に適応した Web ページ効果を作成する必要があります。ようやく完成しました。まずは...

JavaScript キャンバスは影付きのグラフィックとテキストを実装します

キャンバスを使用して、参照用の影付きのグラフィックとテキストを作成します。具体的な内容は次のとおりで...

JavaScript で 2 次元配列を作成するためのヒント

Js での 2 次元配列の作成:まず、JavaScript は 1 次元配列のみをサポートしています...

ネイティブ JavaScript を使用して計算機のサンプル コードを開発する

計算機の主な機能は数値計算を実行することです。計算機機能の Web インスタンスを開発すると、js ...

nginx が複数のプロキシ層を通過して実際の送信元 IP を取得するプロセスの詳細な説明

質問Nginx は $remote_addr を実際の IP アドレスとして受け取りますが、実際には...

JSONObject の使用方法の詳細な説明

JSONObject は単なるデータ構造であり、JSON 形式のデータ構造 ( key-value構...

カレンダー効果を実現するための Bootstrap+JQuery

この記事では、カレンダー効果を実現するためのBootstrap+Jqueryの具体的なコードを参考ま...

Linux での vi (vim) の新しい使い方のまとめ

私は数年間 vi エディタを使ってきましたが、実用的な用途で使ったことはありませんでした。今日 Py...

JavaScript と CSS を最適化してウェブサイトのパフォーマンスを向上させる

<br /> 第 1 部と第 2 部では、Web サイトのパフォーマンス、ページ コンテ...

MySQL の列から行への変換、フィールドの結合方法 (必読)

データシート:列から行へ: max(case when then) を使用max---集計関数は最大...

Docker を使用して OpenLDAP+phpLDAPadmin 統合ユーザー認証を構築する方法

1. 背景LDAP を使用して、操作および保守に関連するユーザー名とパスワードを集中管理します。 1...

Vue3.0でカスタム命令を書くための簡単な手順

序文Vue には、v-if、v-bind、v-on などの豊富な組み込みディレクティブが用意されてい...

JavaScript ジグソーパズルゲーム

この記事の例では、ジグソーパズルゲームを実装するためのJavaScriptの具体的なコードを参考まで...

Linux システムで jmeter を実行し、ローカル メモリを最適化する方法の詳細な説明

1. Linuxシステムにクロスシステムファイル転送ツールをインストールするルートユーザーのルートデ...