html页标签不能嵌套div的原因

  介绍

小编给大家分享一下html页标签不能嵌套div的原因,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

<强> html页标签标签定义及使用说明:

& lt; p>标签定义段落。

& lt; p>元素会自动在其前后创建一些空白。浏览器会自动添加这些空间,您也可以在样式表中规定。

<强> html标页签的属性:

 html p标签不能嵌套div的原因

<强>

深究:

我们先来认识管道内联元素和钻井钢丝绳块元素,因为html里几乎所有元素都属于内联元素或者块元素中的一种。

在线这个词有很多种解释:内嵌,内联,行内,线级等,但是,它们都是表示相同的意思,在这里我们选择习惯的叫法——内联。

先看下面的例子你就能明白两者的差别:

& lt; p>测试一下块元素与& lt; span>内联元素& lt;/span>的差别& lt;/p>   & lt; p>测试一下& lt; div>块元素& lt;/div>与内联元素的差别& lt;/p>

上面的例子自己随便实践一下就知道效果了,这里就不占用空间了,& lt; div>会自己产生一个新的行,而& lt; span>并没有换行,这是在没有CSS渲染的情况下才这样,同样,我们也可以通过CSS把div定义成内联元素,把时间定义成块元素,但是,我们却不能在HTML里任意转化它们,块元素可以包含内联元素或某些块元素(上面的例子其实是错误的使用——→我把& lt; div>放在& lt; p>里面了),但内联元素却不能包含块元素,它只能包含其他的内联元素,再看看这个:

& lt; h3>我喜欢在& lt; https://www.yisu.com/zixun/a href=" http://www.php.cn/"> 讨论网络标准的原因。

其中& lt; h3>是属于块元素,而& lt; a>是属于内联元素,& lt; h3>包含& lt; a>是没有错误的,同样,& lt; div>可以包含& lt; p>, & lt; p>包含& lt; a>也是对的,但是如果是下面这样的话,就是错误的,因为内联元素不应该包含块元素:

& lt; https://www.yisu.com/zixun/a href=" # ">

这样是错误的用法!

还有一些情况就是一些块元素不可以包含另一些块元素,例如这样:

& lt; p>测试文字   & lt;ul>   li>现阶段是不能这样用的,要等到XHTML 2.0才可以这样用。你们;/li>   & lt;/ul>   测试文字   & lt;/p>

而这样又是可以的。

& lt; ul>   & lt; li> & lt; p>这样是可以的& lt;/p> & lt;/li>   & lt;/ul>

为什么呢?因为我们使用的DTD中规定了块级元素是不能放在& lt; p>里面的,再加上一些浏览器纵容这样的写法:

& lt; p>这是一个段落的开始

& lt; p>这是另一个段落的开始

当一个& lt; p>签还没结束时,遇到下一个块元素就会把自己结束掉,其实浏览器是把它们处理成这样:

& lt; p>这是一个段落的开始& lt;/p>   & lt; p>这是另一个段落的开始& lt;/p>

所以刚才那样的写法会变成这样:

& lt; p>测试文字& lt;/p>   & lt; ul>   & lt; li>现阶段是不能这样用的,要等到XHTML 2.0才可以这样用。你们;/li>   & lt;/ul>

测试文字& lt; p> & lt;/p>

这也是跟刚才说第一个例子中& lt; p>里面放& lt; div>不合理是同一个道理。

那哪些块元素里面不能放哪些块元素呢?我知道你有这个疑问,也知道我仅仅列一张清单你不好记住它们。我们可以先把所有的块元素再次划分成几个级别的,我们已经知道& lt; html>是在最外层,& lt; html>下一级里面只会有& lt; head> & lt; body>, & lt; frameset> & lt; noframes>而我们已经知道了可视的元素只会出现在& lt; body>里,所以我们把& lt; body>划在第一个级里面,接着,把不可以自由嵌套的元素划在第三个级,其他的就归进第二个级。

所谓的不可自由嵌套的元素就是里面只能放内联元素的,它们包括有:标题标记的& lt; h2> & lt; h3>, & lt; h4> & lt; h5> & lt; h6> & lt; h7> & lt; caption>;段落标记的& lt; p>;分隔线& lt; hr>和一个特别的元素& lt; dt>(它只存在于列表元素& lt; dl>的子一级)。

<强>兼容性注释

在HTML 4.01中,不赞成使用p元素的对齐属性;在XHTML 1.0 Strict DTD中,不支持p元素的对齐属性。

请使用CSS代替。

CSS语法:

& lt; p风格=皌ext-align: right"在

html页标签不能嵌套div的原因