今天在准备给学弟学妹讲css的子选择器时,列了一个简单的小demo,结果却发现了问题
<p class="maindiv"> 我是父元素 <p> 子元素 <p> 孙子元素 </p> </p> </p>
当用p的时候
会发生无法包裹子元素,而使用div时候却可以
<div class="maindiv"> 我是父元素 <div> 子元素 <div> 孙子元素 </div> </div> </div>
通过上网的查询和学习,发现原来p元素内无法包裹块级元素。
因为我们使用的DTD中规定了块级元素是不能放在<p>里面的,再加上一些浏览器纵容这样的写法:
<p>这是一个段落的开始
<p>这是另一个段落的开始
当一个<p>签还没结束时,遇到下一个块元素就会把自己结束掉,其实浏览器是把它们处理成这样:
<p>这是一个段落的开始</p>
<p>这是另一个段落的开始</p>
这也就解释了,为何firebug中最后会多出2个空的<p></p>。
很多浏览器把<body>视为一级,一部分块级元素二级,而有一部分不能自由嵌套的块级元素则被视为三级
,它们包括有:标题标记 的<h1>、<h2>、<h3>、<h4>、<h5>、<h6>、<caption>; 段落标记的<p>;分隔线<hr>和一个特别的元素<dt>(它只存在于列表元素<dl>的子一级)。
三级元素就是指,只能嵌套内联元素的块级元素。p也恰好是其中之一。其实在内联元素中,还是可以再区分一下的,有几个元素 (<img>、<input>等)比较特别,它们可以定义宽高。虽然在IE 浏览器里,所有的元素都可以定义宽高,但这是IE自己的标准,并非所有浏览器都支持,W3C称它们为replaced元素,其实它们也就是我们常说的行内块,虽然这些元素属于inline,但是却具有一定的block(可以设置宽高),我们也可以赋予任何元素css属性display:inline-block。本身具有inline-block的元素应该没有!
相关推荐
2. **不能嵌套块级元素**:内联元素内部不能直接包含块级元素,除非通过CSS将其转换为内联元素。 3. **高度宽度设置无效**:内联元素的高度和宽度通常无法直接设置,因为它们是基于内容自动调整的。 4. **常见示例**...
4. **嵌套兼容性**:块级元素可以包含其他块级元素或行内元素,但行内元素不能包含块级元素。 常见的块级元素包括但不限于: - `<address>`:用于定义文档或文章的联系信息。 - `<center>`:虽然HTML5不推荐使用,...
2. 不应将块级元素放置在`<p>`标签内部。这意味着`<p>`不能包含`<ol>`, `<ul>`, `<div>`等块级元素,因为`<p>`通常用于定义段落,而其他块级元素应独立于段落之外。 3. 特殊的块级元素如`<h1>`到`<h6>`,`<p>`和`...
例如,标签可以包裹其它块级标签如和<p>,以及内联标签,但是在示例中也展示了错误的嵌套,如一个标签错误地包裹了一个。这些错误应该在编写时避免,并通过编辑器或者校验工具进行检查和修正。 综上所述,掌握XHTML...
在这个示例中,我们可以看到一个a标签成功地包裹了一个div元素,而这个div元素内部又包含了h1和p块级元素。这种方式在HTML5中是完全合法的,并且在现代浏览器中得到了很好的支持。 尽管这种做法在很多情况下都是...
2. 内联元素内部可以包含块级元素,虽然不常见,但这样做可以改变内联元素的高度,比如在一个`<a>`标签中嵌套一个`<div>`。 了解这些基本概念后,开发者可以更有效地利用HTML和CSS来构建网页,实现所需的布局效果。...
`<p>`是段落标签,通常用于包裹一段连续的文本,因此不能在其内部嵌套其他块级元素。如`<p><div></div></p>`这样的写法是错误的。 3. 特殊的块级元素,如`<h1>`至`<h6>`(标题标签)和`<p>`(段落标签),只能包含...
### c标签遍历集合嵌套的List集合 在Java Web开发中,经常需要处理复杂的集合数据结构,并将其展示到前端页面上。对于嵌套的集合(例如:List中包含List),使用`c`标签库(JSTL)进行遍历是一种常见的做法。本文将...
本文主要探讨XHTML标签的嵌套规则,尤其是块级元素和内嵌元素之间的关系。 首先,XHTML标签分为块级元素(block-level elements)和内嵌元素(inline elements)。块级元素如`<div>`、`<ul>`、`<li>`、`<h1>`到`...
内容偏门,适合打基础,补足基础的同志们
2. 块级元素不能被放置在`<p>`标签内。这是因为`<p>`是用于定义段落的,通常只包含文本内容,不应该包含其他块级元素。示例错误的代码包括`<p><div></div></p>`和`<p><ol><li></li></ol></p>`。 3. 特殊的几个块级...
如果一段html嵌套过多,在js中获取还是比较麻烦的,我写了几套方案,大家可以参考参考,如果你有...元素多层嵌套,JS获取问题</title> </head> <body> <span>span <span>span <span>1 <spa
3. **配置web.xml**:在Web应用程序的部署描述符`web.xml`中,添加对标签库的引用,确保所有使用该标签的JSP页面都能正确解析。 4. **在JSP页面中使用标签**:通过`<%@ taglib %>`指令引入标签库,并使用`<prefix>`...
在网页设计中,Tab标签是一种常见的用户界面元素,它用于组织和展示大量信息,通过切换不同的标签页,用户可以方便地浏览和访问相关内容。多层Tab标签嵌套是一种更复杂的设计模式,它允许在一个Tab内再包含其他子Tab...
2. 块级元素可以嵌套块级元素和行内元素,行内元素则只能包含文本和其他行内元素。 3. 块级元素允许设置宽度和高度,而行内元素设置的宽度和高度通常不起作用。 在进行网页布局时,经常需要对元素进行定位。对于...
* 块级元素:例如 div、p、h1 等,占据一整行,可以包含其他元素。 * 行级元素:例如 span、a 等,占据一部分行,不能包含其他元素。 * 空元素:例如 br、hr 等,没有内容的 HTML 内容。 HTML 元素的嵌套规则: * ...
块级元素还可以包含其他块级元素和内联元素,但某些特定元素(如`<p>`)只能包含内联元素,不允许嵌套块级元素。 相比之下,内联元素(如`<span>`、`<a>`、`<strong>`、`<em>`、`<label>`、`<input>`、`<select>`、...