HTML概念

HTML,超文本标记语言。它由一套标签组成用来描述网页,值得我们注意的是HTML并不是编程语言,它只是一种标记,我们通过HTML定义了网页的结构,然后再利用其他技术装饰这个结构,赋予这个结构活动的能力。
HTML的内容并不复杂,也很容易上手,但是要编写出符合标准而且语义良好的HTML代码却不是一件容易的事情,需要我们不断的练习和学习才可以。

混淆内容

1. htm、html

一般我们操作的HTML都是html格式的,但是在其他地方却可能遇到过htm的文件。其实这两种格式的文件没有什么不同,htm只是为了兼容过去DOS命名格式出现的,而且现在已经很少用了。

2. shtml、shtm
这两种格式的文件被看作一种编程语言,它们可以被服务器识别,类似于JSP、ASP、PHP之类的文件,所以它们和html、htm是不同的。

3. DHTML
在网上的可能会看到这种说法,它不是一种编程语言,只是网景和微软两大浏览器厂商提出的浏览器4.x时代应该具备的特点。它集合了HTML、CSS、JavaScript可以动态的显示网页内容,所以它是相对于静态网页而言的,只是一种销售的术语。

HTML的历史

1993年6月,互联网工程工作小组发布了关于 超文本标记语言的工作草案(并非标准);

1995年11月,HTML2.0 作为RFC 1866 发布(2000年6月发布之后被宣布过时);

1996年1月14日,HTML3.2 发布,W3C 推荐的标准;

1997年12月18日,HTML4.0 发布,W3C 推荐的标准;

1999年12月24日,HTML4.01发布,做了微小的的改进,W3C推荐的标准;

2000年1月26日,XHTML1.0发布,W3C 推荐的标准;

2001年5月31日,XHTML1.1 发布;

XHTML 2.0 是W3C的工作草案,不过因为改动太大,学习成本太大,所以现在依然使用的还是 XHTML1.0;

目前HTML5作为最新的版本,提供了一些新的元素和一些有趣的新特性,同时也建立了一些新的规则。这些元素、特性、规则的建立提供很多新的网页功能,常见的像网页可以实现动态渲染、不需要使用任何插件就可以直接播放视频。尽管如此,可以HTML5依然在尝试的阶段,大部分浏览器还不能完全支持HTML5;

注意XHTML

在XHTML中标签名必须小写,HTML中标签名大小写不限;
在XHTML、HTML中的属性名都必须是小写;
在XHTML中标签必须严格的嵌套,HTML中对嵌套没有严格的规定;
在XHTML中标签必须封闭,在HTML中标签是否封闭并没有严格要求;
在XHTMl中即使是自闭标签也必须封闭,HTML中没有严格规定(针对 <img/> 、<br/>等标签);
在XHTML中属性值必须使用双引号,HTML中属性可以不使用双引号;
在XHTML中属性值必须使用完整形式,HTML中一些属性可以使用简写形式,如 <input disabled=” disabled”/> 和 <input disabled/>只有在HTML中才都是正确的;
在XHTML中还要求区分清除 内容标签和结构标签。如<p>作为内容标签,<table>作为结构标签,所以不允许将<table>放在 <p>;

HTML结构

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>网页标题</title>
</head>
<body> </body>
</html>

一个完整的HTML结构包括了声明、网页头部、网页主体几部分组成。其中声明部分定义网页使用的HTML版本,网页的头部定义了网页的标题、引用的样式和脚本等内容,网页的主体部分包含在浏览器页面中展示的所有内容。

1. 特点
网页的声明必须定义在HTML的第一行,网页的标题和主体两大部分包括在<html>标签中。
在编写HTML时,没有哪一部分是必须的,但是在编码时尽量按照这个结构编写HTML,不要缺失某一部分。

2. 声明
声明必须在HTML的第一行,它约束HTML的文档结构,校验是否符合Web标准,同时告知浏览器应该采用哪个版本的规范来解析文档。
在HTML4.01中的声明引用了DTD文件,而HTML5则没有。DTD: 规定标记语言的规则,这样浏览器才可以正确显示内容。
最好始终在页面中定义声明,这样方便浏览器按照统一的标准来解析。

3. <meta>标签
这个标签描述网页的基本信息,包括文档内容类型、字符编码、搜索的关键字、网站功能和服务的详细描述。而且值得注意的是这个标签的内容并不会在页面中展示出来,使用这个标签可以方便搜索引擎的检索和浏览器解析。
注意:如果想要了解更多和这个标签相关的信息可以访问 W3C的官网查看。

HTML编码

所有的标签名、属性名都必须小写,属性值使用 双引号。虽然在HTML中不区分大小写,但是 W3C 规范建议是小写;
为所有的关键因素定义 id、class ,这样方便和JS、CSS交互,避免不必要的错误出现;
推荐 id、class的命名方式按照语义和DOM树的层级关系定义合适的名称,而且名称中应该全部使用小写。其中 id的名称关键词用下划线” _ “连接,class 的关键词用 “-” 连接,避免命名冲突;
在HTML的不同层次缩进使用四个空格,如果这个元素包括子元素,那么这个元素对应的起始标签和结束标签分别单独占用一行;
为HTML添加必要的注释,不过在HTML中的注释不宜过多。添加注释的原则要在保证代码维护性的基础上,尽量保证让HTML代码简洁。一般注释添加在页面的公共部分(页面头部、尾部、侧边栏等),在页面中经常变化的部分以及需要后端代码注入的部分添加注释,而且注释添加的位置应该单独占一行不要在代码的前后添加注释;

随机推荐

  1. js常用代码记录

    1.动态key得到某对象中相对应的value js中想根据动态key得到某对象中相对应的value的方法有二: var key = "name1";var value = obj[ ...

  2. dubbox源码分析(一)-服务的启动与初始化

    程序猿成长之路少不了要学习和分析源码的.最近难得能静得下心来,就针对dubbox为目标开始进行源码分析. [服务提供方] 步骤 调用顺序 备注 容器启动 com.alibaba.dubbo.conta ...

  3. July 15th 2017 Week 28th Saturday

    If I can't hear your heartbeat, you are too far away. 如果我听不见你的心跳,那是因为你离我太远了. Only when the two tight ...

  4. .NET控件命名规范

    一.基本数据类型前缀 数据类型    数据类型简写 Array    arr Boolean    bln Byte    byt Char    chr DateTime    dtm Decima ...

  5. Codeforces Round #239 (Div. 1)C, 407C

    题目链接:http://codeforces.com/contest/407/problem/C 题目大意:给一个长度为n的数列,m次操作,每次操作由(li, ri, ki)描述,表示在数列li到ri ...

  6. 019sys模块

    为了和python解释器交互,控制台执行脚本后面添加变量 import  sysprint(sys.argv) def  post():    print('upload')def  download ...

  7. Python函数(入门6)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407970.html 本文出自:[Edwin博客园] Python函数 1. Python之调用函数 pri ...

  8. hdu-3524 Perfect Squares---打表+找规律+循环节

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3524 题目大意: 求i^2 mod 2^n有多少可能 解题思路: 先打表,求出n较小的时候的数据 n ...

  9. 【[AHOI2009]中国象棋】

    计数类dp还是要多写啊 看上去并没有什么思路,加上被题解里状压的标签迷惑了,于是就去看了一眼题解里设计的状态 之后就很好做了 首先先搞明白这道题的本质,就是对于任何一行任何一列炮的个数都不能超过\(2 ...

  10. 【2^k进制数】

    发现自己推得组合数好像不太一样 先把这个复杂的柿子写一遍 \[\sum_{i=2}^{\left \lfloor\frac{n}{k}\right \rfloor}C_{2^k-1}^{i}+\sum ...