第二章 HTML基础
根据W3C网页规范,网页应遵循结构,表现和行为的分离。
结构(structure):html,xhtml,xml标签组成的网页代码。
表现(presentation):css 网页显示效果
行为(behavior):js语言和DOM语言
1969年美国建立了世界上第一个电脑网络--阿帕网;
HTML最吸引人的地方在于超文本链接技术;
HTML:Hypertext Markup Language
XHTML:The Extensible Hypertext Markup Language 可扩展标记语言,是html的升级版本。XHTML与HTML在语法和标签使用方面差别不是很大。
XHTML特点:
1.用户可以扩展元素,从而可以扩展功能
2.能够与HTML很好地沟通,可以兼容当前不同的网页浏览器,实现XHTML页面的正确浏览
HTML作用:
1.标识文本。eg:定义标题文本,段落文本,列表文本,预定义文本等
2.建立超链接
3.创建列表
4.在网页中显示图像,声音,视频,动画等多媒体信息
5.制作表格,方便显示大量数据
6.制作表单
HTML文档包含头部区域和主体区域。基本结构有html,head,body三个标签组成
HTML文档实际上就是一个文本文件,由标签和信息混合组成。实际上网页文档就是有标签和元素组成的容器
标签属性应该包含在引号内,虽然不加引号,浏览器也能解析,但建议加上引号。
不同的元素包含不同的属性。HTML也为所有元素定义了公共属性。eg:title,id,class,style等。
很多标签是成对出现的,也有不成对出现的独立标签叫空标签。空标签也有很多属性。
标签可以相互嵌套eg:<div><span></span></div> <span><div></div></span>
不能交错嵌套:eg:<div></span></div></span>
HTML文档所有信息必须包含在html标签内,所有文档元信息应包含在head子标签内。html传递的信息和网页显示的内容包含在body子标签内。
html文档的字符编码:一般使用meta标签在头部定义。中文简体:gb2312 中文繁体:big5 通用字符编码:utf-8 拉丁字符:latin
html文档的扩展名为html或htm.
<p><p>标签标识段落文本</p>
HTML常用标签(36个 共89个html标签):
1.文档结构标签:html,head,body
2.文本格式标签:title(标识网页标题),h1~h6(标识标题文本),p(标识段落文本),pre(标识预定义文本),blockquote(标识引用文本)
3.字符格式标签:b(标识强调文本,加粗) i(标识引用文本,斜体) big small sup(标识上标文本) sub(标识下标文本),cite(标识引用文本,表现为斜体)
blink(标识闪烁文本, 语义:定义在浏览器显示闪烁的文本。html5不再支持,此标签被废弃。) :下面示例模拟闪烁字体:
4.列表标签:ul无序列表(使用项目符号来标识列表) ol有序列表(使用编号来标识列表) li 列表项目
还有一种定义列表:
dl(标识定义列表) dt(标识词条) dd(标识解释)
5.超链接: a
超链接标签可以将多个网页联系在一起
a标签可以定义锚点(锚点是一类特殊的超链接):它可以定位到网页中某个具体的位置
点击转到底部实现的锚点效果
6.多媒体标签(主要用于引入外部多媒体文件):img(插入图像),embed(嵌入多媒体),object(嵌入多媒体)
7.表格标签(用来组织和管理数据):table(定义表格结构),caption(定义表格标题),th(定义表头),tr(定义表格行),td(定义表格单元格)
其中summary:其实这个是不显示在页面的,而是作为你这个table标签的内容的注释(摘要),方便你日常修改
8.表单标签(制作交互式表单):form(定义表单结构),input(定义文本域,按钮,复选框),textarea(多行文本框),select(下拉列表) option(下拉列表中的选择项目)
XHTML基础:
XHTML语言在HTML语言基础上发展而来的。他们没有太大区别,只是添加了XML语言的基本规范和要求。
XHTML是HTML向XML过度的标识语言,它需要符合XML规则;
XHTML代码不排除HTML规则,在结构上比较相似。但有两点不同:
1.定义文档类型:在XHTML第一行新增了<!DOCTYPE>元素,它设置了XHTML的版本,使用时注意元素名称和属性必须大写
DTD(eg:xhtml-transitional.dtd)表示文档类型定义,里面包含了文档的规则,网页浏览器会根据定义的DTD来解析页面元素,并把这些元素所组织的页面显示出来。除非XHTML确定了一个正确的DOCTYPE,否则页面内的元素和CSS不能正确生效;
2.生命命名空间:
XHTML文档的根元素中必须使用xmlns属性声明文档的命名空间。xmlns{XHTML NameSpace}简写。命名空间;是收集元素类型和属性名字的一个详细DTD.
书写XHTML的一些规范:
1.在文档开头必须定义文档类型
2.在根元素中必须有xmlns属性
3.所有标签都是闭合的
4.所有元素和属性必须小写
5.所有属性必须用引号引起来
6.所有标签都必须合理嵌套
7.所有的属性必须赋值,没有值的属性就用自身来赋值。eg:
错误写法:<td nowrap> 正确写法:<td nowrap="nowrap">
8.所有符号都得用编码表示:< -->< >-->>
9.不要在注释内容中使用--,只能出现在XHTML注释的开头和结尾,在内容中他们不再有效
eg:<!--注释-----------注释-->错误写法
正确写法<!--注释—— —— ——注释-->
XHTML文档类型:过渡型(Tranisitional),严格型(Strict),框架型(Frameset)
1.过渡型:对于标签和属性的语法要求不是很严格,允许再页面中使用HTML4.01的标签。
2.严格型:对文档内的代码要求比较严格,不允许使用任何表现层的标签和属性
3.框架型:针对框架页面所使用的DTD,当页面中包含框架元素时,就该采用这种DTD
DTD:文档类型解析,它是一套关于标签的语法规则。DTD文件是一个ASCII文件后缀为.dtd;
该文档包含元素的定义规则,元素间关系的定义规则。元素可以使用属性,实体或符号规则。这些规则用于标签Web文档的内容此外也包含了一些其他规则。他们规定了哪些标签能出现在其它标签中。文档类型不同,对于的DTD也不相同。
如果页面中没有显示声明DOCTYPE,浏览器会采用各自默认的DOCTYPE规则来解析文档中的各种标签和CSS样式因此,从浏览器兼容性上考虑,声明DOCTYPE是必须的。
名字空间:
在标准设计中,命名空间是必须设置的一个属性:用来定义该顶级元素以及其包含的各级子元素的唯一性。
第三章:设计符合语义的页面
3.1网页语义的概述
良好的HTML结构是一个规范网站的基础,良好的CSS只存在于良好的HTML结构基础上。
拥有了良好的语义结构,网页内容就容易被搜索引擎检索和搜录。
样式是HTML元素的表现效果,eg:p元素默认会显示双倍上下边距,区分不同的段落文本。th默认加粗和剧中。li默认缩进。
3.2元素分类
语义化要求了解每个html元素的语义特性和用法。共包含91个元素。可以把他们分为结构语义元素,内容语义元素和修饰语义元素。
3.2.1:结构语义元素(13个)。定义了元素在html文档中扮演的结构角色。多指块状元素,也有行内元素。
div(Division):在文档中定义一块区域,即包含框
span:在文本行中定义一块区域,即包含框
ol(Ordered List):排序列表
ul(Unordered List):不排序列表
li(List Item):列表项目
dl(Definition List):定义列表
dt(Definition Term):定义术语
dd(Definition Description):定义描述
del(Deleted Text):定义删除的文本
ins(Inserted Text):定义插入的文本
h1~h6(Header 1 to Header 6):定义不同级别的标题
p(Paragraph):定义段落结构
hr(Horizontal Rule):定义水平线
3.2.2:内容语义:定义了元素在文档中表示内容的语义。一般指文本格式化元素,多是行内元素。
a(Anchor):锚即定位的意思,超链接,在多页间定位
abbr(Abbreviation):定义缩写词,一般与title属性在一起连用
acronym(Acronym):定义取首字母缩写词,HTML5 中不支持 <acronym> 标签。请使用 <abbr> 标签代替。
address(Address):定义地址,表现为文本斜体。
如果 <address> 元素位于 <body> 元素内,则它表示文档联系信息。
如果 <address> 元素位于 <article> 元素内,则它表示文章的联系信息。
<address> 元素中的文本通常呈现为斜体。大多数浏览器会在 address 元素前后添加折行。
提示:<address> 标签不应该用于描述通讯地址,除非它是联系信息的一部分。
提示:<address> 元素通常连同其他信息被包含在 <footer> 元素中。
HTML 4.01 不支持 <article> 标签,因此在 HTML 4.01 中,<address> 标签始终定义文档作者/拥有者的联系信息。dfn:(Defines为Definition Term):定义条目
kbd(KeyBoard Text):定义键盘键
samp(Sample):定义样本
var(Variable):定义变量
tt(Teletype Text):定义打印机字体
code(Code Text):定义计算机源代码
pre(Preformatted Text):定义预定义格式文本,保留源代码格式
blockquote(Block Quotation):定义大块内容引用
cite(Citation):定义引文,斜体
q(Quotation):引用短语,双引号效果
strong(Strong Text):定义重要文本
em(Emphasized Text):定义文本为重要
3.2.3修饰语义:定义了元素在文档中修饰文本的显示效果
b(Blod Text):定义粗体
i(Italic Text):定义斜体
big(Big Text):定义文本增大
small(Small Text):定义文本缩小
sup(Superscripted Text):定义文本上标
sub(Subscripted Text):定义文本下标
bdo(Directio of Text Display):定义文本显示方向
br(Break):换行
已废除的元素如下:
center(Centered Text):定义文本居中
font(Font):定义文字的样式,大小和颜色
u(Underline Text):定义文本下划线
s(Strikethrough Text):定义删除线
strike(Strikethrough Text):定义删除线
3.3属性分类
核心属性,语言属性,键盘属性,内容属性,其它属性;
3.3.1核心属性:3个,class(定义类规则或样式规则),id(identify,定义元素的唯一标识)style(定义元素的样式声明)。
下面这些元素不拥有核心属性:html,head,title,style,script,base,param,meta;
3.3.2语言属性:lang(Language)定义元素的语言代码或编码;dir定义文本方向,包括ltr,rtl取值。分别表示从左往右,从右往左。
下面这些元素不拥有语言属性:frameset,frame,iframe,br,hr,base,param,script;
3.3.3键盘属性:accesskey(定义访问某元素的键盘快捷键),tabindex(定义元素的Tab键索引编号)
3.3.4内容属性:alt,title,longdesc,cite,datetime
alt:替换文本,只能用在,img,input,area元素中
title:提示文本,不能用在如下的元素上:html,head,title,base,meta,script,param;