p标签内不能嵌套div(注解)

相关知识:

内联元素可以嵌套内联元素,块级元素可以嵌套部分块级元素并也能嵌套内联元素,但内联元素不能嵌套块级元素。块级元素为block,内联元素为inline,拥有“inline”特性的同时又拥有“block”的特性称为replace元素。

<p>

  <div>编码美学</div>

  <div>编码美学</div>

</p>

在上面的代码中,p标签在遇到下一个块级元素的时候就闭合了,它会被浏览器解析为页面中p元素的两倍数量,也就是开始标签被解析为一个p元素,结束标签被解析为一个p元素。

<p></p>

  <div>编码美学</div>

  <div>编码美学</div>

</p></p>

1级元素:<body>

2级元素:其他。。(可以互相嵌套,如li和div)

3级元素:

  指哪些不可以自由嵌套的元素,如<h1>、<h2>、<h3>、<h4>、<h5>、<h6>、<caption>;段落标记的<p>;分隔线<hr>和一个特别的元素<dt>(它只存在于列表元素<dl>的子一级)。

特别1:

   <ul>、<ol>、<dl>、<table>,它们的子一层必须是指定元素,<ul>、<ol>的子一级必须是<li>;<dl>的子一级必须是<dt>或者<dd>;<table>的子一层必须是<caption> 或<thead>、<tfoot>、<tbody>等,而再子一层必须是<tr> (<tr>只存在于<thead>、<tfoot>、<tbody>中),之后才是可放内容的<td>或者<th>。

特别2:

  <img>和<input>有着其它内联元素没有的宽和高。它们在"inline"的情况下又有"black"的特性,W3C称之为replace元素。

最后总结汇总

1、块元素可以包含内联元素或某些块元素(p元素中嵌套Div元素是错误的做法) ,但内联元素却不能包含块元素,它只能包含其他的内联元素

2、p元素中是不能嵌套块级元素的。

3、重点:块状元素的三个级别

4、内联元素的img 与 input比较特殊,他们有内联元素没有的宽高,w3c定义为replace元素,将元素设置为display:inline-block,模拟的就是replace元素。

(资料引自网络,加以修改而成)

时间: 2024-10-22 14:13:46

p标签内不能嵌套div(注解)的相关文章

HTML中为何P标签内不可包含DIV标签?

起因:在做项目时发现原本在DW中无误的代码到了MyEclipse6.0里面却提示N多错误,甚是诧异.于是究其原因,发现块级元素P内是不能嵌套DIV的. 深究:我们先来认识in-line内联元素和block-line块元素,因为HTML里几乎所有元素都属于内联元素或者块元素中的一种. in-line这个词有很多种解释:内嵌.内联.行内.线级等,但是,它们都是表示相同的意思,在这里我们选择习惯的叫法--内联. 先看下面的例子你就能明白两者的差别: <p>测试一下块元素与<span>内联

p标签里面不能嵌套div

先申明本人代码水平为零起点,刚开始学习前端,所以就是小白.不过大神也是小白变身的么,所以要专心码代码,潜心钻研,haha~ 今天练习了段代码,发现效果和自己想象的不一样: 想了一下估计是<p>和<div>嵌套的问题,但是两个不都是块级元素,难道不能嵌套么,而且最后的结果居然是多出来一段<p>的效果,感觉HTML包容心好强,代码码错了也能显示出来.所以就在网上找了点资料,涉及到块级元素和内联元素的嵌套问题. 1.块级元素(block)与内联元素(inline)的区别: 简

HTML中为何p标签内不可包含div标签?那哪些块元素里面不能放哪些块元素呢?

先看下面的例子你就能明白两者的差别: <p>测试一下块元素与<span>内联元素</span>的差别</p> <p>测试一下<div>块元素</div>与内联元素的差别</p> 在上面的例子中,<div>会自己产生一个新的行,而<span>并没有换行,这是在没有CSS渲染的情况下才这样,同样,我们也可以通过CSS把div定义成内联元素,把span定义成块元素,但是,我们却不能在HTML里

&lt;c:choose&gt;标签内出错。不能写注解,否则就会报错

org.apache.jasper.JasperException: Validation error messages from TagLibraryValidator for c in /WEB-INF/views/modules/fdzapp/combineCostList_Wf.jsp 113: Illegal text inside "c:choose" tag: "<!-- 状态...". at org.apache.jasper.compiler

HTML里为什么不能在&lt;p&gt;标签中嵌套&lt;div&gt;标签

学习过HTML语言的人都应该知道,在HTML里,有分块级元素和内联元素:例如我们常用到的div,o,ul,dl,table,h1...h6等,这些都是块级元素:而像a,b,i,em,img,span等就是内联元素了.在开发过程中,我们避免不了各种元素的嵌套,但是有时候我们在不知不觉中就错误地嵌套元素了.为什么说是不知不觉呢.因为就算我们错误地嵌套了,但是在浏览器中显示的时候,其实是没有区别的.咱们今天就具体地分析为什么不能再<p>里嵌套<div>.希望通过这个例子,大家可以自己去学

div style标签内嵌CSS样式

我们在DIV标签内.SPAN标签内.p标签等html标签内使用style属性直接设置div的样式. 一.在<div>标签内使用style设置css样式   -   TOP 1.实例html源代码片段: <div style="font-size:14px; color:#F00">设置字体大小14px,颜色为红色</div> 2.div标签内使用style设置样式截图 div标签内设置样式截图 二.在<span>标签内使用style设置c

button标签内部嵌套div时的样式有bug(暂定的解决方案)

button标签内部嵌套div时的样式有bug 暂定解决方案,将button标签改为div标签 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style type="text/css">button{padding: 0;}.logo_img{f

HTML中为何P标签内不可包含块元素?

起因:在做项目时发现原本在DW中无误的代码到了MyEclipse6.0里面却提示N多错误,甚是诧异.于是究其原因,发现块级元素P内是不能嵌套DIV的. 深究:我们先来认识in-line内联元素和block-line块元素,因为HTML里几乎所有元素都属于内联元素或者块元素中的一种. in-line这个词有很多种解释:内嵌.内联.行内.线级等,但是,它们都是表示相同的意思,在这里我们选择习惯的叫法–内联. 先看下面的例子你就能明白两者的差别: <p>测试一下块元素与<span>内联元

从a标签为什么不能包含div标签-了解HTML5元素分类与内容模型

我们知道按新的 HTML 规范,已经不按 inline 和 block 来区分元素类型了.所以我们在a标签里面使用div标签时候会发现a标签并不能通过改变css盒子模型的方式将div元素包含. 元素分类 HTML5中,元素主要分为7类: Metadata Flow Sectioning Heading Phrasing Embedded Interactive 这些分类集合互相之间也存在一定的交集(一个元素可以同时属于多个分类),其交集关系呈现为: 需要注意的是,HTML5中的这种元素分类与in