[HTML部分]
1.文档头
HTML是描述文档语义的语言,是英语HyperText Markup Language的缩写,超文本标记语言。
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 这是网页的声明头,即DocType fintion,简称DTD。网页的声明头可以告诉浏览器这是一个什么标准的页面,使用的是那种HTML或XHTML规范。
HTML4.01是从IE6开始兼容的,HTML5是从IE9开始兼容的。
HTML4.01规定了普通、XHTML这两大规范,每大种规范里面又各有3种小规范,所以总共6中规范(XHTML字母中的X表示“严格的”):
HTML4.01普通规范包括以下三种:
- Strict 严格的,体现在一些标签不能使用,比如u、b、i(标签)
- Transitional 普通的
Frameset 带有框架的页面
XHTML1.0规范严格 体现在标签、属性必须是小写字母,标签必须封闭、必须使用引号……,包括一下三种:
Strict 严格的,体现在一些标签不能使用,比如u
- Transitional 普通的(我们学习的版本)
- Frameset 带有框架的页面
HTML5中极大的简化了DTD,也就是说HTML5中就没有XHTML了。
Doctype作用?
告诉浏览器这是一个什么标准的文档应该以什么标准去执行及解析,如果Doctype不存在或者错误,浏览器将会以兼容模式去解析这个文档。
标准模式和兼容模式有什么区别?
标准模式的排版和js执行都是以该浏览器支持的最高标准去执行,兼容模式情况下为了向后兼容将会采用该浏览器老式版本去排版和执行。
HTML5 为什么只需要写 <!DOCTYPE html>?
HTMl5不基于SGML(标准通用标记语言),不需要对DTD进行引用,浏览器将会以对应格式进行排版和执行。
HTML4.01基于SGML,需要引用DTD,才能让浏览器知道文档所使用的文档类型。
2.字符集
|
|
中文能够使用的字符集 UTF-8(国际通用字库)、gb2312(国标字库)、gbk。 注意:UTF-8里面存储一个汉字需要三个字节、gb2312中存储一个汉字需要两个字节。meta中写的和保存的要一致,否则浏览器会出现乱码。
3.meta关键字和页面描述
meta除了可以设置字符集,还可以设置关键字和页面描述。
|
|
这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到你。
|
|
只要设置的Description页面描述,那么搜索结果,就能够显示这些语句,这个技术叫做SEO,search engine optimization,搜索引擎优化。
4.title标签
<title>网页的标题</title>
title也是有助于SEO搜索引擎优化的
5.favicon.ico图标
<link rel="shortcut" href="favicon.ico" />
链接站点的图标favicon.ico
5+.link标签
- link标签属于XHTML标签,除了加载css外,还可以加载less并且可以定义rel属性等作用。@import只能够加载css
- link在页面加载的时候同步被加载,@import会在html加载完毕之后才会加载对应的css文件
6.HTML基本语法特性
HTML对换行不敏感,对tab不敏感,换不换行、tab不tab,都不影响页面的结构。
空白折叠现象。HTML中所有的文字之间,如果有空格、换行、tab都将被折叠为一个空格显示。
标签要严格封闭。
HTML标签是分等级的,HTML将所有的标签分为两种:容器级、文本级。文本级的标签里面,只能放置文字、图片、表单元素(eg:
<p>xxx</p>
标签中只能放置文字、图片、表单元素。可以试着在p标签中放置h1标签,然后F2查看浏览器是如何处理的。)。<img src="./demo.png" alt="图片加载失败时候显示的文字"/>
<a href="./demo.html" title="鼠标悬停时候显示的文字" target="_blank">转到demo页面,并在新页面中打开</a>
a标签是一个文本类型标签,a标签的语义要小于p标签。如果一个段落中所有的文字都能够被点击应该是p包裹a:
123<p><a href="">落段落段落段落段落段落</a></p>而不是a包裹p:
123<a href=""><p>段落段落段落段落段落段落</p></a>a标签无所不能,虽然它是文本类型标签但是它可放置容器级元素。但是不能包含a自己,也不能放置input等。
锚点用name属性来设置,一个a标签如果name属性(或者id属性),那么就是页面的一个锚点。
<a name="demo">我的作品</a>或者:<a id="demo">我的作品</a>
.如果想跳转到某个锚点:
<a href="#demo">跳到“我的作品”锚点</a>
href是hypertext reference“超文本地址”, 没有href的a标签不会有a标签默认的样式。作为锚点的a就不要加上href属性了。
7.HTML标签
列表(无序列表、有序列表、定义列表)
1.无序列表 <ul>
:
|
|
li不能单独存在,必须包裹在ul或者ol里面,ul的直接子代元素不能是别的,只能是li,li是一个容器级标签里面什么都能放甚至可以再次嵌套ul,像下面这种是错误的:
|
|
2.有序列表 <ol>
:
|
|
浏览器会自动给ol中的li添加阿拉伯序号,ol里面只能是li,li必须被ol或者ul包裹。
3.定义列表 <dl>、<dt>、<dd>
:
定义列表也是一个标签组,出现三个标签:
- dl:表示definition list 定义列表
- dt:表示definition title 定义标题
- dd:表示definition description 定义描述词
dt、dd只能放在dl里面,dl里面只能有dt、dd; dt、dd都是容器级标签。
|
|
div和span
div是容器级标签,里面什么都能放置。
span是文本级标签,里面只能放置文字、图片、表单元素。
span里面不能放置h、ul、ol、div等这些容器级别标签,也不能放置p标签(文本级)
表单 form
表单就是收集用户信息的,就是让用户填写的、选择的一些标签。
所有的表单内容,都要写在form标签里面。
form标签里面有action属性和method属性。
- action:表示表单提交到哪里
- method:属性表示用什么HTTP方法提交,有get、post两种。
input
|
|
select、option
|
|
textarea 多行文本框(文本域)
- cols属性表示columns“列”,
- rows属性表示rows“行”。
- 这个标签对里不需要写任何文字,如果写的话就是展现时候默认的内容。
|
|
按钮 button
普通按钮
<input type="button" value="我是按钮上面显示的内容" />
提交按钮
<input type="submit" value="" />
点击之后表单就会被提交到form标签的action属性中的那个页面中去。重置按钮
<input type="reset" value="" />
就是重置表单内容
label标签
|
|
html5
语义化标签
用正确的标签做正确的事情
- 语义化标签让页面内容结构化
- 结构更清晰
- 便于浏览器、搜索引擎解析
- 便于屏幕阅读器读取,使页面更富文本化
- 有利于开发人员开发和维护人员维护
新特性
HTML5不再是SGML的子集, 主要增加了位置、图像、存储、多任务的等功能。
- 增加canvas
- 用于媒体的audio和video元素
- 本地离线存储localStorage可以长期保存
- sessionStorage的数据在浏览器关闭之后就自动消失
- 语义化标签header、footer、article、nav、section
- 表单控件calendar、date、time、email、url、search
- 新的技术webworker、websocket、Geolocation
处理H5标签的兼容性
- 使用document.createElement()方法产生新标签,但是需要为新标签增加默认样式
- 最好的就是引用成熟框架html5shim1234<!--[if lt IE 9]><script type="text/javascript" src="html5shim.js"></script><![endif]-->
其他
字符实体
<
表示<>
表示>©
表示版权符号©
表示空格,可以通过
来解决空白折叠现象。