ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

html概述

2022-05-10 00:02:24  阅读:179  来源: 互联网

标签:标签 嵌套 html 概述 大小写 ie 属性


介绍

html,hypertext markup language超文本标记语言。

通过标签组织文本、图片等多种资源在内的关系。

html是标记语言而非编程语言,没有编程语言所共有的特征,数据类型、运算符合控制结构等。

结构与文件

基本结构

<!doctype html>
<html>
<head></head>
<body></body>
</html>

文件

html一般保存为后缀名为.html的文件。也可以写作.htm。

除了静态文件,html代码还可以保存在动态文件中,比如.php,.jsp,.aspx等。也可以是动态接口直接输出。

在某些应用中,存在直接使用html语法来描述数据关系和显示以及事件。

版本及声明

html经历了多个版本的迭代。各个版本之间存在差异,新版本会增加标签、增加标签的属性和事件,也会弃用某些标签,以及标签的属性或事件。

html的解析依靠浏览器完成,浏览器一般会同时支持多个版本,通过在html中对使用的版本声明,可以准确解析。

版本 发布时间
HTML 1991
HTML+ 1993
HTML 2.0 1995
HTML 3.2 1997
HTML 4.01 1999
XHTML 1.0 2000
HTML5 2012
XHTML5 2013

关于各版本的声明,参考:https://www.runoob.com/tags/tag-doctype.html

语法

注释

<!--注释-->

ie声明

目前不推荐用户使用ie浏览器,小型网站开发过程中也不考虑对ie的兼容。

但是大型站点会考虑普适性,某些早期的网站基于ie开发,以及某些网站面向的ie浏览器用户。

存在对ie兼容性技术,通过ie声明网页在ie浏览器中时特殊代码。

<!--[if IE]>所有的IE可识别<![end if]-->
<!--[if !IE]>除IE外都能识别<![end if]-->
<!--[if lt IE6]>IE6以下版本可识别<![endif]-->
<!--[if lte IE6]>IE6以及IE6以下版本可识别<![endif]-->
<!--[if gt IE6]>IE6以上版本可识别<![endif]-->
<!--[if gte IE6]IE6以及IE6以上版本可识别<![endif]-->

!: 代表不等于;
lt: less than,小于;
lte: less than or equal to,小于或等于;
gt: greater than,大于
gte: greater than or equal to,大于或等于

基础语法

1、html通过标签进行描述

2、标签分为成对标签和单体标签,某种程度上来讲,普通文本、注释以及ie声明也可以看做是特殊标签。

3、成对标签由开始标签、结束标签和标签之间的内容组成。
单体标签只有一个开始标签,单体标签标准的结束是/>

4、开始标签具有标签名称、属性和事件,存在checked这样的直接使用的属性。

5、标签之间的关系主要是嵌套和并列。只能是成对标签嵌套单体标签或成对标签。

6、大小写敏感

  • 标签名、属性名和事件名,以及版本声明大小写不敏感,甚至可以大小写混杂。
  • 事件内容和标签内容是大小写敏感的。
  • 属性值是否大小写敏感需要区分情况。比如伪协议javascript是大小写不敏感,javascript之后的js代码是大小写敏感,而value属性的值是大小写敏感,style属性的值是大小写不敏感的。

7、引号

标准的,属性值和事件值使用双引号包围,也可以使用单引号,但是不能是反引号。

如果属性值或事件值不包含空白符,可以不用引号。

8、空白符

空白符一般指空格、换行符,在html中效果相同。

  • 开始标签的<与标签名之间不能有空白符
  • 结束标签的<与/之间不能有空白符
  • 开始标签的标签名、属性值对、事件值对之间通过空白符间隔
  • 开始标签的标签名、属性值对、事件值对之间可以使用字符/替代空白符起到间隔作用,但是相邻的属性值或者事件值必须加引号

解析与缺省

浏览器具备强大的补全功能,或者说兼容性,当html不规范或者错误时,仍然可以进行解析。

1、单体标签,可以不使用/>,而仅是>结尾

2、标签解析规则

(1)从前往后解析
(2)普通文本,不具备任何特殊效果,相邻的普通文本可以视作一个普通文本结构,作为上层嵌套标签的内容使用。
(3)<开始,紧邻的字符非空白符,开启标签解析。
(4)<开始,紧邻!--,判定开启注释功能,匹配相邻的下一个-->结构。如果没有-->关闭注释,则将其后所有内容视为注释内容。浏览器在末尾自动补全
(5)<开始,紧邻非空白符,也不是注释结构或/,则判定是一个开始标签,然后解析属性值对和事件值对。
(6)属性值或事件值使用单引号或双引号开始,则必须向后匹配有效的单引号或双引号才算结束该属性或事件。
属性值或事件值未使用单引号或双引号开始,则必须向后匹配有效的空白符或>才算结束该属性或事件。
(7)如果是成对标签,开始标签解析后,并不会立即匹配其结束标签,而是继续向后,将所有可解析标签解析完成后,对于开始标签匹配相邻的结束标签,如果不符合嵌套规则或者说没有合适的结束标签,则会在允许的最大嵌套范围内补全结束标签。

(8)嵌套规则:

  • 一般,行内元素只能嵌套行内元素,块级元素可以嵌套块级元素和行内元素
  • 某些元素不允许嵌套其他元素,比如textarea、title,以及script和style等
  • 某些元素不允许嵌套本级元素,比如p和h

上述标签解析规则纯属自行实验摸索总结,也存在一定的分析,可能存在错误或描述不准确,后续待补充和修正。主要对理解嵌套错误和代码不规范时的补全及处理有所帮助。

其他

更多html知识,查看他篇章

标签:标签,嵌套,html,概述,大小写,ie,属性
来源: https://www.cnblogs.com/heibaimao123/p/16251264.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有