HTML标签嵌套规则

简介: HTML标签嵌套规则

摘要:


  

最近在整理项目时发现有些同事写的页面代码嵌套的太多,而且有些嵌套不对,比如<a><div>内容</div></a>。虽然功能实现了,但是对于浏览器渲染引擎的性能还是有些影响。所以就大体上的整理了下HTML标签的嵌套规则,也希望读者提出不对之处。


众所周知,HTML标签有两类:


  1. 块级元素


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


特点:总是在新行上开始,高度、行高以及顶和底边距都可控制,宽度缺省是它的容器的100%,除非设定一个宽度


功能:主要用来搭建网站架构、页面布局、承载内容


  1. 行内元素


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


特点:和其他元素都在一行上,高、行高及顶和底边距不可改变,宽度就是它的文字或图片的宽度,不可改变


功能:用于加强内容显示,控制细节,例如:加粗、斜体等等


举个例子:


  • 块级元素

<div>one</div><div>two</div>

  • 显示效果如下:
    one
    two
  • 行内元素

<span>one</span><span>two</span>

  • 显示效果如下:
    onetwo


块级元素与行内元素并不是一成不变的,我们可以通过CSS来改变他的特性


display: inline; //行内元素

display: block; //块级元素


虽然HTML标签有很多并且我们在制作页面的时候可以无限的嵌套,但是嵌套也有规则,不能随意的嵌套。有些标签是固定的嵌套规则,比如ul包含li、ol包含li、dl包含dt和dd等等。还有很多是独立的标签,我们如何来使用它编写更优秀的页面,下面就说说


  1. 块级元素与块级元素平级、内嵌元素与内嵌元素平级


<div><span></span><p></p></div>  //span是行内元素,p是块级元素,所以这个是错误的嵌套

<div><span></span><a></a></div>  //对的


  1. 块元素可以包含内联元素或某些块元素,但内联元素不能包含块元素,它只能包含其它的内联元素


<div><span></span></div>

<span><span></span></span>


2.有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素


h1、h2、h3、h4、h5、h6、p、dt

4.块级元素不能放在标签p里面

5.li 标签可以包含 div 标签,因为li 和 div 标签都是装载内容的容器


小结:


   

虽然我们可以嵌套标签,但是为了提高浏览器的渲染效率,我们应该尽少的嵌套标签,扁平化

相关文章
|
15天前
|
移动开发 IDE 前端开发
HTML基础-标签与元素:构建网页的基石
【6月更文挑战第1天】HTML是网页基础,由标签和元素定义内容结构与样式。本文介绍HTML标签(如`<p>`)和元素(包括开始、结束标签及内容),并列出常见错误:忘记闭合标签、错误嵌套顺序、不恰当使用自封闭标签及混淆标签与属性。建议遵循标准、使用IDE辅助、验证代码和持续实践来避免错误。示例代码展示基本用法:`<html><head><title>...</title></head><body>...</body></html>`。学习HTML标签与元素是前端开发入门关键。
|
1天前
|
移动开发 HTML5 前端开发
【网页搭建基石】:揭秘HTML标签的魔法世界
【网页搭建基石】:揭秘HTML标签的魔法世界
|
1天前
|
存储 JavaScript 前端开发
HTML标签data-属性的作用
HTML标签data-属性的作用
|
3天前
|
Python
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记2)
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记2)
|
3天前
|
Python
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记)
Python基础教程(第3版)中文版 第20章 项目1: 自动添加标签(纯文本转HTML格式) (笔记)
|
10天前
|
Web App开发 移动开发 前端开发
Web网页制作-知识点(3)——HTML5新增标签、CSS简介、CSS的引入方式、选择器、字体属性、背景属性、表格属性、关系选择器 二
Web网页制作-知识点(3)——HTML5新增标签、CSS简介、CSS的引入方式、选择器、字体属性、背景属性、表格属性、关系选择器 二
18 1
|
10天前
|
移动开发 前端开发 HTML5
Web网页制作-知识点(3)——HTML5新增标签、CSS简介、CSS的引入方式、选择器、字体属性、背景属性、表格属性、关系选择器一
Web网页制作-知识点(3)——HTML5新增标签、CSS简介、CSS的引入方式、选择器、字体属性、背景属性、表格属性、关系选择器 一
24 1
|
10天前
|
存储 移动开发 前端开发
Web网页制作-知识点(1)——HTML5介绍、HTML5的DOCTYPE声明、HTML基本骨架、标题标签、段落 换行、水平线图片图片路径、超链接
Web网页制作-知识点(1)——HTML5介绍、HTML5的DOCTYPE声明、HTML基本骨架、标题标签、段落 换行、水平线图片图片路径、超链接
10 0
|
11天前
|
数据采集 移动开发 搜索推荐
HTML基础-HTML5新增语义标签:解锁网页结构新维度
【6月更文挑战第5天】本文介绍了HTML5的语义标签,旨在提升网页结构化和可访问性。核心语义标签包括`&lt;header&gt;`、`&lt;nav&gt;`、`&lt;main&gt;`、`&lt;article&gt;`、`&lt;section&gt;`、`&lt;aside&gt;`、`&lt;footer&gt;`、`&lt;figure&gt;`和`&lt;figcaption&gt;`。常见问题包括滥用标签作布局工具、忽略`&lt;main&gt;`、不恰当嵌套和忽视辅助功能。
|
15天前
|
前端开发 搜索推荐 UED
HTML基础-文本格式化标签:美化网页内容
【6月更文挑战第1天】本文介绍了HTML的文本格式化标签,包括`<b>`、`<strong>`、`<i>`、`<em>`、`<u>`、`<s>`、`<mark>`、`<small>`、`<sub>`和`<sup>`等,强调了语义化使用和避免常见错误的重要性。示例代码展示了这些标签的用法,帮助提升网页内容的可读性和吸引力。