输入banner图图片脚本导航/分类

html+ CSS_html/css_WEB-ITnose

Html

1 html的基本标签

1.1 html文件结构

无标题文档

1.1.1 DOCTYPE

定义和用法

声明必须是 HTML 文档的第一行,位于 标签之前。

声明不是 HTML标签;它是指示web浏览器关于页面使用哪个 HTML版本进行编写的指令。

在 HTML 4.01 中, 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

(Standard Generalized Markup Language(SGML即标准通用置标语言))

提示:请始终向HTML文档添加 声明,这样浏览器才能获知文档类型。

HTML 元素和文档类型(Doctype)

Strict 严格型

Transitional过渡类型

Frameset 框架

HTML 4.01

该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

"http://www.w3.org/TR/html4/loose.dtd">

该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。

"http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0

该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

"http://www.w3.org/TR/html4/loose.dtd">

该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

HTML 5

请参阅这个 HTML 元素表,其中列出了每种元素会出现在哪个文档类型中。

提示和注释

注释: 声明没有结束标签。

提示: 声明对大小写不敏感。

提示:请使用 W3C 的验证器来检查您是否编写了有效的 HTML / XHTML 文档!

XHTML 1.1

该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。

XHTML1.0是HTML4.0的重新组织,算是HTML4.01的修正版,发行命名为XHTML1.0。

1.所有卷标元素名称都使用小写

2.所有没有成对的空标签必须以 />结尾,


3.不允许使用target="_blank"(但XHTML1.0是不被允许的,你可以改写为 target="new)

4.所有属性都必须有值 XHTML1.0规定所有属性都必须有值,若没有就必须重复属性作为值

5.把所有<和&特殊符号用编码表示

6.同一个id选择器不可重复使用

7.绝对不可省略双引号或单引号

8.标签必须是一对

9.图片卷标加上文字说明alt="说明"

10.正确的卷标顺序

11. XHTML 1.0文件类别宣告的正确写法 (不可小写)

W3C标准测试网址 http://validator.w3.org/

网页自动测试网址 http://validator.w3.org/check?uri=referer

测试时一定要有「16.文件类别宣告」还有指定文件编码

1.1.2 meta

元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。

标签位于文档的头部,不包含任何内容。 标签的属性定义了与文档相关联的名称/值对。

提示和注释:

注释: 标签永远位于 head 元素内部。

注释:元数据总是以名称/值的形式被成对传递的。


属性

值

描述

http-equiv

content-type

expires

refresh

set-cookie

把 content 属性关联到 HTTP 头部。 content 属性关联到一个名称。

name

author

description

keywords

generator

revised

others

content 属性关联到一个名称。

1.1.3 xmlns

xmlns是xml namespace的缩写,也就是XML命名空间,xmlns属性可以在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中。该属性的值类似于URL,它定义了一个命名空间,浏览器会将此命名空间用于该属性所在元素内的所有内容。

为什么需要这个xmlns呢,可能是这样的,比如在xhtml中,允许你使用各个不同的DTD文件,有可能不同的DTD文件中包含了相同的标识,那么这样的话就会出现标志冲突的问题,如果使用xmlns的话就可以区别开在不同文件中的相同的标志,例如在a.dtd中和b.dtd中都包含了table,但是如果一个xhtml文件同时包含了这两个dtd文件,而且使用了标志table,这样就会出现标志冲突问题,为了解决标志冲突问题,就可以使用xmlns如下:

这样就可以区分开了使用的是哪个dtd文件中的标志。

还有个问题,根据定义:用来标识命名空间的网络地址并不被XML解析器调用,XML解析器不需要从这个网络地址中查找信息,该网络地址的作用仅仅是给命名空间一个唯一的名字,因此这个网络地址也可以是虚拟的。那么对于浏览器来说,如何知道a:table...应该是哪个dtd文件中的标志呢?应该是在每个xml的dtd文件中都会规定xmlns这个值,如果dtd文件中的xmlns的值与xhtml中的值相等,则认为是匹配的。

1.1.4 html

根节点

1.1.5 head

头节点

1.1.6 body

网页的主题部分

1.2 块级标签

: 指能够独立存在, 一般的块级元素之间以换行(如一个段落结束后另起一行)分隔.

1.2.1 h1~~h6

1.2.2 p

1.2.3 hr


1.2.4 ol li

1.2.5 ul li

1.2.6 dl dt dd

1.2.7 table

1.2.8 from


属性

值

描述

action

url

规定当提交表单时向何处发送表单数据。

enctype

(EncodeType )

?application/x-www-form-urlencoded

?multipart/form-data

?text/plain

规定在发送表单数据之前如何对其进行编码

method

get/post

提交方式

name

表单名称

target

_blank

_self

_parent

规定在何处打开 action URL。


值

描述

application/x-www-form-urlencoded

在发送前编码所有字符(默认)

multipart/form-data

不对字符编码。

在使用包含文件上传控件的表单时,必须使用该值。

text/plain

不对特殊字符编码。


属性

GET方法

POST方法

历史:

通常使用GET方法发送的数据作为URL的一部分将会被浏览器保存起来

使用POST方法提交的数据则不会作为URL的一部分,当然不会浏览器保存。

书签:

GET方法可能被浏览器当作书签(bookmark)保存

POST方法则不会

回退与重新提交:

使用GET方法的页面可以被回退并重新执行而不通知用户

POST方法会通知用户再次提交

Form编码类型:

GET提交数据只支持

POST支持application/x-www-form-urlencoded与multipart/form-data

application/x-www-form-urlencoded

参数:

由于GET的参数一般都跟在URL后面,支持的数据大小一般在2K,有些服务器可以支持到64K。这个就是很多网页超过64K就挂掉的真实原因。因为服务器限制了。

发送参数,还可以是文件,大小在理论上没有限制。

被攻击:

GET方法提交数据很容易被黑客攻击,实施脚本绑架。

POST方法相对GET方法不是那么容易被黑客攻击

数据类型限制:

GET方法提交数据只能是文本数据

POST方法则不受限制,二进制文件也可以。

安全性:

GET方法的安全性比POST方法要低一些,原因是数据做为URL的一部分是可见的。而且被浏览器存在历史访问记录中。

POST方法的安全性相对GET要高一些。因为参数数据不能被浏览器作为URL的一部分而存入历史访问记录中。

表单数据长度:

由于表单数据做为URL的一部分而URL长度通常是有限制的。

POST方法没有限制。

可用性:

GET方法通常不被用来发送密码与敏感信息。但是我发现还是有不少网站用GET来实现login。比如XXXX社区,它把login方法放在一个jquery完成JavaScript脚本中,用GET请求完成。

POST方法可以用来发送密码与其他敏感信息。

可见性:

GET方法对所有人可见

POST方法的变量是不可见的在URL中

缓存:

GET方法默认被缓存,这个就是很多时候用GET方法获取数据后面要跟个时间戳的原因

POST方法默认不被缓存。

除非Response头设置了Cache-Control或者Expires属性值。

最大的变量值:

GET支持最大为7607个字符

POST方法支持最大值为8MB

应用场合:

GET最常用的场合是获取数据,浏览器获取网页时候绝大多数通过GET方法实现,大多数浏览器下载也是使用GET方法获取文件

POST主要用来向服务器提交数

1.2.9 div

1.3 行级标签

指依附其他块级元素存在, 紧接于被联元素之间显示, 而不换行.

1.3.1 img

两个属性

height px %

width

1.3.2 span

sometext.some other text.

1.3.3 br

1.3.4 a

超链接

_blank

_new

_parent

_self

_top

framename

规定在何处

锚链接

邮件

邮件

1.3.5 input

type

功能

例子

text

单行文本输入

password

密码

radio

单选

男

女

checkbox

多选

书

画

reset

重置表单数据

file

文件上传

submit

提交表单数据

image

图形提交按钮

button

普通按钮

1.3.6 textarea

1.3.7 select

1.4 w3c标准

1.4.1 内容和表现分离

1.4.2 内容结构要求语义化

1.4.3 遵循xhtml1.0的规范

1.5 a标签

参阅: a

1.6 注释特殊符号

空格:

大于(>):>

小于(<): <

引号(”):"

版权号() :©

1.7 表单

参阅: from

2 表格

2.1 表格基础

参阅: table

2.2 跨行

跨行使用的是rowspan

2.3 夸列

跨行使用的是colspan

2.4 表格布局

表格布局一般用于数据展示页

和表单页面

3 框架

什么是框架?

通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。

框架用途?

在同一个浏览器窗口显示多个页面

可以实现复用

实现典型的目录结构

框架分为哪两种类型

3.1 frameset

特点

结构清晰

两种

列

<body>您的浏览器无法处理框架!</body>

行

<body>您的浏览器无法处理框架!</body>

属性

属性

值

描述

frameborder

0,1

规定是否显示框架周围的边框。

name

name

规定框架的名称。

noresize

noresize

规定无法调整框架的大小。

scrolling

yes

no

auto

规定是否在框架中显示滚动条。

3.2 IFrame