HTML概览
语法(本课只是对 规范文档 的解读)
- DOCTYPE
- 标签
- 属性
- 注释
- 空格空白
- 实体
一、DOCTYPE
目前最推荐的 HTML 5 文档类型声明
<!DOCTYPE html>
- DOCTYPE 之前,只能有注释和空白。
- 大小写不敏感 / 大小写无所谓,下面的写法也是对的(但是不推荐)<!dOcTyPe HtMl>
DOCTYPE 有什么用?
- 告诉浏览器你的语法
- 可能还会影响到 JS 的功能
二、标签
有内容的标签
如 <script>  / <body> / <span> / <button>

无内容的标签
如 <input> / <img> / <link> / <meta>

可省略的标签
- 如果你能看懂 HTML Specs,那么你知道 在某些条件下 <head>/<body>/</p>是可以省略的;
- 如果你看不懂,那你就都别省略吧……
三、属性
四种写法
1 <input disabled> 
2 <input value=yes>
3 <input type='checkbox'>
4 <input name="be evil">
属性名不区分大小写,属性值 居然 区分大小写。
全局属性
所有标签(包括 <html>) 都有的属性(请自行学习 此教程):
accesskey
class
contenteditable
data-*
draggable
hidden
id
spellcheck
style
tabindex
title
...
四、注释
- 普通注释 - <!-- 注释 -->
- 奇葩的 IE 注释 - 见 微软的文档.aspx#syntax) - <!-- [if IE 8]> <p>Welcome to Internet Explorer 8.</p> <![endif] -->
五、空格 空白
- "tab" (U+0009), "LF" (U+000A), "FF" (U+000C), and "CR" (U+000D) 都是空白。
- 所有空白都会缩成一个空格。
如何保留 HTML 代码中的空白:
- 使用 HTML 实体,如  
- 使用 <pre>标签包起来
- 在父元素使用 CSS white-space:pre
六、实体
问题:如果你想在页面上展示
<html>这六个字符,应该怎么写?
显然不能写 <html>,于是 HTML 想了一个「转义」方案,用 &xxxx; 表示一个特殊字符。
- 有名字的 HTML 实体,用 &名字;表示
- 没有名字的 HTML 实体,用 &#十进制;表示
- 没有名字的 HTML 实体,还可以用 &#x十六进制;表示
例如:
© 
 
&
你
你