ホームページ  >  記事  >  ウェブフロントエンド  >  HTMLタグのネストルールの詳細な概要

HTMLタグのネストルールの詳細な概要

高洛峰
高洛峰オリジナル
2017-02-25 14:27:361610ブラウズ

すべての Web ページは HTML タグに基づいています。Web ページを学習している初心者の友人に読んでいただくために、HTML タグの入れ子のルールを詳しくまとめます。 私は最近 HTML を勉強し直しています。これは HTML の新たな理解とも言えます。これを過小評価しないでください。すべての Web ページはこれに基づいています。 HTMLタグのネストルールについて詳しくまとめてみましたので、皆さんのお役に立てれば幸いです。

XHTML には多くのタグがあります: p、ul、li、dl、dt、dd、h1~h6、p、a、addressa、span、strong... これらのタグを使用してページ構造を構築するときに、それらを使用できます。ただし、無限にネストされる場合には、ネストにも特定のルールが必要であり、個人的な習慣がランダムにネストされることを許可することはできません。結局のところ、XHTML は XML ではありません。

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

XHTML タグの入れ子ルールに関しては、まず XHTML タグには 2 つのタイプがあることを知っておく必要があります:
1 つのタイプはブロックレベル要素 (ブロック) と呼ばれます
1 つのタイプはインライン要素 (インライン、多くの人はインライン) と呼ばれますinline 、 inline 、 line level などとも呼ばれます)

ブロックレベル要素と inline 要素の分類基準は非常に簡単です。次の 2 行のコードを body タグに記述してください:

<p style=”border: 1px solid red;”>p1</p> 
<p style=”border: 1px solid red;”>p2</p>


Browserレンダリング効果:
p1
p2

ページ上に表示される 2 つの p は、フローティングされているか他の設定が行われていない限り、それぞれが横に並ぶことはありません。特定のタグでこの現象が発生した場合は、次の 2 行のコードを body タグに挿入します。

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



浏览器的呈现效果:
span1 span2

这一次,两个 span 并列在一行,它们之间睦邻友好、亲切和谐……像这样的标签行为,我们可以称它们为:内嵌元素(inline);

块级元素和内嵌元素的区别:

·块级元素 一般用来搭建网站架构、布局、承载内容……像这些大体力活都属于块级元素的,它包括以下这些标签:

address、blockquote、center、dir、p、dl、dt、dd、fieldset、form、h1~h6、hr、isindex、menu、noframes、noscript、ol、p、pre、table、ul

· 内嵌元素 一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:

a、abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、span、strike、strong、sub、sup、textarea、tt、u、var


· 块元素 和 内嵌元素 是可以互相转换的,转换的代码如下:
display: block; /* 转成块元素 */
display: inline; /* 转成内嵌元素 */

· 块元素 和 内嵌元素 对于 CSS 的调用规则是不一样的(这篇文章讨论的是标签嵌套,所以对这个知识点不展开说明)。

简单认识了块元素和内嵌元素以后,下面就可以罗列 XHTML 标签的嵌套规则了:

1. 块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素:
e388a4556c0f65e1904146cc1a846bee4a249f0d628e2318394fd9b75b4636b1473f0a7621bec819994bb5020d29372ae388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a394b3e26ee717c64999d7867364b1b4a3 —— 对
c7edcd5438aed4fd08cf917afe0c61c045a2772a6b6107b401db3c9b82c049c254bdf357c58b8a65c66d7c19c8e4d1145db79b134e9f6b82c0b36e0489ee08ed —— 对
45a2772a6b6107b401db3c9b82c049c2e388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a354bdf357c58b8a65c66d7c19c8e4d114 —— 错

2. 块级元素不能放在e388a4556c0f65e1904146cc1a846bee里面:
e388a4556c0f65e1904146cc1a846beec34106e0b4e09414b63b2ea253ff83d625edfb22a4f469ecb59f1190150159c6bed06894275b65c1ab86501b08a632ebf6f112ef45f603be226bc581f9dd5e9094b3e26ee717c64999d7867364b1b4a3 —— 错
e388a4556c0f65e1904146cc1a846beee388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a394b3e26ee717c64999d7867364b1b4a3 —— 错

3. 有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素,这几个特殊的标签是:
h1、h2、h3、h4、h5、h6、p、dt

4. li 内可以包含 p 标签 —— 这一条其实不必单独列出来的,但是网上许多人对此有些疑惑,就在这里略加说明:

li 和 p 标签都是装载内容的容器,地位平等,没有级别之分(例如:h1、h2 这样森严的等级制度^_^),要知道,li 标签连它的父级 ul 或者是 ol 都可以容纳的,为什么有人会觉得 li 偏偏容纳不下一个 p 呢?别把 li 看得那么小气嘛,别看 li 长得挺瘦小,其实 li 的胸襟很大滴……

5. 块级元素与块级元素并列、内嵌元素与内嵌元素并列:
e388a4556c0f65e1904146cc1a846beec1a436a314ed609750bd7c7d319db4da2e9b454fa8428549ca2e64dfac4625cde388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a394b3e26ee717c64999d7867364b1b4a3 —— 对
e388a4556c0f65e1904146cc1a846beec7edcd5438aed4fd08cf917afe0c61c05db79b134e9f6b82c0b36e0489ee08ed45a2772a6b6107b401db3c9b82c049c254bdf357c58b8a65c66d7c19c8e4d11494b3e26ee717c64999d7867364b1b4a3 —— 对
e388a4556c0f65e1904146cc1a846beec1a436a314ed609750bd7c7d319db4da2e9b454fa8428549ca2e64dfac4625cd45a2772a6b6107b401db3c9b82c049c254bdf357c58b8a65c66d7c19c8e4d11494b3e26ee717c64999d7867364b1b4a3 —— 错

更多HTML标签嵌套规则详细归纳相关文章请关注PHP中文网!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。