html P标签为什么不能嵌套div?还有关于html P标签的css样式的实例介绍


本文摘自PHP中文网,作者寻∝梦,侵删。

本篇文章介绍了有关于html p标签的进阶版,上一篇基础版没看过的同学点击下方的链接就可以看了,本篇主要介绍了html p标签的两个重要知识点,一个是如何用css的样式来控制P标签的具体使用,每个都有实例,有兴趣的同学可以自己敲代码试试,还有一个是html P标签为什么不能嵌套div的详解,希望各位认真阅读

html P标签标签定义及使用说明:

<p> 标签定义段落。

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

html P标签的属性:

tuyi.png

HTML中P标签内为什么不能嵌套div标签

深究:

我们先来认识in-line内联元素和block-line块元素,因为HTML里几乎所有元素都属于内联元素或者块元素中的一种。

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

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

1

2

<p>测试一下块元素与<span>内联元素</span>的差别</p>

<p>测试一下<div>块元素</div>与内联元素的差别</p>

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

1

<h2>我喜欢在<a href="http://www.php.cn/ " >php中文网</a>讨论Web标准的原因。</h2>

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

1

<a href="#"> <h2>这样是错误的用法!</h2></a>

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

1

2

3

4

5

6

<p>测试文字

 < ul>

     li>现阶段是不能这样用的,要等到XHTML 2.0才可以这样用。</li>

 </ul>

    测试文字

 </p>

而这样又是可以的。

1

2

3

<ul>

      <li><p>这样是可以的</p></li>

 </ul>

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

<p>这是一个段落的开始

<p>这是另一个段落的开始

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

1

2

<p>这是一个段落的开始</p>

<p>这是另一个段落的开始</p>

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

1

2

3

4

<p>测试文字</p>

    <ul>

         <li>现阶段是不能这样用的,要等到XHTML 2.0才可以这样用。</li>

    </ul>

测试文字<p></p>

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

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

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

兼容性注释

阅读剩余部分

相关阅读 >>

html怎么禁止拖拽

html param标签怎么用?html param标签属性实例详解

jquery方法的总结(附示例)

html基本语法与语义写法规则详解

html根节点是什么

html的元素有哪几种隐藏方式

html的编辑器使用

html table表格是什么?<table>标签中各种属性的使用方法

html rp标签怎么用

如何使用html在两个div标签中间画一条竖线

更多相关阅读请进入《p》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...