HTML5

HTML5

一、HTML的基本概念

1网站的建站流程

 

(1)域名访问:打开一个网页

(2)网站建站流程

①注册域名;(域名:一个域名只能指向一个空间,而一个空间可以绑定多个域名,被人可以通过域名来访问网站)

②租用空间;(网站空间:网站空间就是放网站内容的地方其实就是服务器)

③网站建设;(网站程序:有了域名和空间,我们建站还需要很多程序)

④网站推广;

⑤网站维护。

2 web标准的概念及组成

结构就是xhtml/xml

表现就是css

行为就是DOM/ECMAScript

Web标准不是某一个标准,而是一系列标准的合集,网页是由三部分组成:结构/structure,样式/style,行为/bahaviour,对应的相应的语言就是我们的XHTML、CSS、JS/DOM。

3 W3C制定的标准

结构:XHTML

样式:CSS

行为:DOM、JAVASCRIPT

DOM也是W3C制定的

JS是ECMA制定的

 

二、HTML的结构

1 文档元素

文档元素确定了HTML文档的轮廓以及浏览器的初始环境。文档元素包含4个。

1.1 DOCTYPE元素

每个HTML文档都必须以DOCTYPE元素开头,浏览器通过它确定自己所处理的是HTML内容。

元素

DOCTYPE

元素类型

允许具有的父元素

局部属性

内容

标签用法

单个开始标签

是否为HTML5新增

在HTML5中的变化

HTML4中要求要有的DTD不再使用

习惯样式

1.1.1 <!DOCTYPE HTML>

(1)作用

①浏览器处理的是HTML文档;

②用来标记文档内容的HTML所属的版本。

(2)注意

<! DOCTYPE HTML> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。HTML5 不基于 SGML,所以不需要引用 DTD。

如果不写这个声明,浏览器在进行渲染时,它会采取怪异模式进行渲染,它就是用浏览器自己默认的方式进行渲染,这样浏览器显示出来的效果每个都不一样,写了这个声明,浏览器就会按照W3C的标准方式进行渲染。

1.2 html元素

html元素更恰当的名称是根元素,它表示文档中HTML部分的开始。

元素

html

元素类型

允许具有的父元素

局部属性

manifest(关联文档和清单文件)

xmlns(在文档中定义一个或多个可供选择的命名空间)

内容

head元素和body元素各一

标签用法

开始标签<html>和结束标签</html>,内含其他元素

是否为HTML5新增

在HTML5中的变化

manifest属性是HTML5中新增的,HTML4版本中的属性已不再使用

习惯样式

html{display:block;}

html:focus{outline:none;}

HTML5 中的新属性:

属性

描述

manifest

URL

定义一个 URL,在这个 URL 上描述了文档的缓存信息

xmlns

http://www.w3.org/1999/xhtml

定义 XML namespace 属性

(1)HTML 与 XHTML 之间的差异

xmlns 属性在 XHTML 中是必需的,但在 HTML 中不是。不过,即使 XHTML 文档中的 <html> 没有使用此属性,W3C 的验证器也不会报错。这是因为 "xmlns=http://www.w3.org/1999/xhtml" 是一个固定值,即使您没有包含它,此值也会被添加到 <html> 标签中。

(2)注意

即使 html 元素是文档的根元素,它也不包含 doctype 元素。doctype 元素必须位于 html 元素之前。

1.3 head元素

head元素包含着文档的元数据。在HTML中,元数据向浏览器提供了有关文档内容和标记的信息,此外还可以包含脚本和对外部资源(比如CSS样式表)的引用。它是html的第一个子元素。

元素

head

元素类型

允许具有的父元素

html

局部属性

profile(提供了与当前文档相关联的配置文件的 URL)

内容

必须有一个title元素,其他元数据元素可有可无

标签用法

开始标签<head>和结束标签</head>,内含其他元素

是否为HTML5新增

在HTML5中的变化

习惯样式

HTML5 中的新属性:

属性

描述

profile

URL

一个由空格分隔的 URL 列表,这些 URL 包含着有关页面的元数据信息。

profile 属性的更多信息:

文档的头部经常会包含一些 <meta> 标签,用来告诉浏览器关于文档的附加信息。在将来,创作者可能会利用预先定义好的标准文档的元数据配置文件(metadata profile),以便更好地描述它们的文档。profile 属性提供了与当前文档相关联的配置文件的 URL。配置文件的格式以及浏览器使用它们的方式都还没有进行定义,这个属性主要是为将来的开发而保留的占位符。

1.3.1 <head></head>

(1)作用

<head> 标签用于定义文档的头部,它是所有头部元素的容器。<head> 中的元素可以引用脚本、指示浏览器在哪里找到样式表、提供元信息等等。

文档的头部描述了文档的各种属性和信息,包括文档的标题、在 Web 中的位置以及和其他文档的关系等。绝大多数文档头部包含的数据都不会真正作为内容显示给读者。

下面这些标签可用在 head 部分:<base>, <link>, <meta>, <script>, <style>, 以及 <title>。

<title> 定义文档的标题,它是 head 部分中唯一必需的元素。

(2)注意

应该把 <head> 标签放在文档的开始处,紧跟在 <html> 后面,并处于 <body> 标签或 <frameset> 标签之前。

1.4 body元素

HTML文档的元数据和文档信息包装在head元素中,文档的内容则包装在body元素中。body元素总是紧跟在head元素之后,它是html的第二个子元素。

元素

body

元素类型

允许具有的父元素

html

局部属性

内容

所有短语元素和流元素

标签用法

开始标签<body>和结束标签</body>

是否为HTML5新增

在HTML5中的变化

alink、background、bgcolor、link、margintop、marginbottom、marginleft、marginright、marginwidth、text、vlink属性已不再使用,这些属性的效果可用CSS实现

习惯样式

body{display:block;margin:8px;}

body:focus{outline:none;}

可选属性

属性

描述

alink

rgb(x,x,x)

#xxxxxx

colorname

规定文档中活动链接(active link)的颜色

background

URL

规定文档的背景图像

bgcolor

rgb(x,x,x)

#xxxxxx

colorname

规定文档的背景颜色

link

rgb(x,x,x)

#xxxxxx

colorname

规定文档中未访问链接的默认颜色

text

rgb(x,x,x)

#xxxxxx

colorname

规定文档中所有文本的颜色

vlink

rgb(x,x,x)

#xxxxxx

colorname

规定文档中已被访问链接的颜色

这些可选属性不赞成使用,请使用样式取代它。

(1)作用

①body 元素定义文档的主体。

②body 元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等)。

(2)HTML 与 XHTML 之间的差异

①在 HTML 4.01 中,所有 body 元素的“呈现属性”均不被赞成使用。

②在 XHTML 1.0 Strict DTD 中,所有 body 元素的“呈现属性”均不被支持。

2 元数据元素

元数据元素可以用来提供关于HTML文档的信息。其本身并不是文档内容,但提供了关于后面的文档内容的信息。元数据元素应放在head元素中。

2.1 title元素

title元素是设置文档的标题或名称。浏览器通常将该元素的内容显示在其窗口顶部或标签页的标签上。

元素

title

元素类型

元数据

允许具有的父元素

head

局部属性

内容

文档标题或对文档内容言简意赅的说明

标签用法

开始标签<title>和结束标签</title>,内含文字

是否为HTML5新增

在HTML5中的变化

习惯样式

title{display:none;}

标准属性

属性

描述

dir

rtl;ltr

规定元素中内容的文本方向

lang

language_code

规定元素中内容的语言代码

xml:lang

language_code

规定 XHTML 文档中元素内容的语言代码

DTD:指示在哪种 XHTML 1.0 DTD 中允许该标签。S=Strict, T=Transitional, F=Frameset。

(1)注意

①浏览器会以特殊的方式来使用标题,并且通常把它放置在浏览器窗口的标题栏或状态栏上。同样,当把文档加入用户的链接列表或者收藏夹或书签列表时,标题将成为该文档链接的默认名称。

② <title> 标签是 <head> 标签中唯一要求包含的东西。

③每个HTML文档都应该有且只有一个title元素,其开始标签和结束标签之间的文字在用户眼里应具有实际意义。

2.2 base元素

base元素可用来设置一个基准URL,让HTML文档中的相对链接在此基础上进行解析。相对链接省略了URL中的协议、主机和端口部分,需要根据别的URL(要么是base元素中指定的URL,要么是用以加载当前文档的URL)得出其完整形式。base元素还能设定连接在用户点击时的打开方式,以及提交表单是浏览器如何反应。

元素

base

元素类型

元数据

允许具有的父元素

head

局部属性

href、target

内容

标签用法

虚元素形式

是否为HTML5新增

在HTML5中的变化

习惯样式

必需属性

属性

描述

href

URL

规定页面中所有相对链接的基准 URL

可选属性

属性

描述

target

_blank

_parent

_self

_top

framename

在何处打开页面中所有的链接

(1)作用

<base> 标签为页面上的所有链接规定默认地址或默认目标。通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。

使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。

(2)HTML 与 XHTML 之间的差异

在 HTML 中,<base> 标签没有结束标签;在 XHTML 中,<base> 标签必须被正确地关闭。

(3)注意

①<base> 标签必须位于 head 元素内部。

②<base href=”http://titan/listings/”/>,此例将基准URL设置为http://titan/listings/,其中titan是服务器的名称,listings是服务器上包含文件的目录;例如在有个文本元素a元素,它用于生成超链接,其中的href是相对URL,假设URL为page2.html,则用户再点击超链接时,浏览器会把基准URL和相对URL拼接成完整的URL:http://titan/listings/page2.html/

③如果不用base元素,或不用href属性设置一个基准URL,那么浏览器会将当前文档的URL认定为所有URL的解析基准。例如,假设浏览器从http://myserver.com/app/mypage.html/这个URL载入了一个文档,该文档中有一个超链接使用了myotherpage.html这个相对URL,那么点击这个超链接时浏览器将会尝试从http://myserver.com/app/myotherpage.html/这个绝对URL加载第二个文档。

2.3 meta元素

meta元素可以用来定义文档的各种元数据。它有多种不同用法,而且一个HTML文档中可以包含多个meta元素。

元素

meta

元素类型

元数据

允许具有的父元素

head

局部属性

name、content、charset和http-equiv

内容

标签用法

虚元素形式

是否为HTML5新增

在HTML5中的变化

charset属性是HTML5中新增的,在HTML4中,http-equiv属性可以有任意多个不同值,HTML5不同只有refresh、default-style、content-type三个值可用,HTML4中的scheme属性在HTML5中不再使用,此外现在已不再使用meta元素来指定网页所用的语言

习惯样式

必需属性

属性

描述

content

some_text

定义与 http-equiv 或 name 属性相关的元信息

可选属性

属性

描述

http-equiv

content-type

expires

refresh

set-cookie

把 content 属性关联到 HTTP 头部

name

author

description

keywords

generator

revised

others

把 content 属性关联到一个名称

scheme(HTML5中弃用)

some_text

定义用于翻译 content 属性值的格式

(1)作用

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

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

(2)HTML 与 XHTML 之间的差异

①在 HTML 中,<meta> 标签没有结束标签。

②在 XHTML 中,<meta> 标签必须被正确地关闭。

(3)注意

①<meta> 标签永远位于 head 元素内部。

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

③每个meta元素只能用于一种用途。如果想在这些特性中想要试用的不止一个,就应该在head元素中添加多个meta元素。

2.3.1 指定名/值元数据对

meta元素的第一个用途是用名/值对定义元数据,为此需要用到name和content属性。

1. name 属性

name 属性提供了名称/值对中的名称。HTML 和 XHTML 标签都没有指定任何预先定义的 <meta> 名称。通常情况下,您可以自由使用对自己和源文档的读者来说富有意义的名称。

2. content 属性

content 属性提供了名称/值对中的值。该值可以是任何有效的字符串。content 属性始终要和 name 属性或 http-equiv 属性一起使用。

供meta元素时用的预定义元数据类型

元数据名称

说明

application name

当前页所属Web应用系统的名称

author

当前页的作者名

description

当前页的说明

generator

用来生成HTML的软件名称(通常用于以Ruby on Rails、ASP.NET等服务器端框架生成HTML页的情况下)

keywords

一批以逗号分开的字符串,用来描述页面的内容

robots

用来告诉搜获引擎该如何对待该HTML文档

    元数据类型有三个大多数搜索引擎都认识的值:noindex(表示不要索引本页)、noarchive(表示不要将本页存档或缓存)和nofollow(表示不要顺着本页中的链接继续搜索下去)。

3. 注意

要告诉搜索引擎如何对内容分类和分等级,过去最主要的手段是使用keywords元数据。现在的搜索引擎对keywords元数据的重视程度远不如前,这是因为它可以被滥用来制造页面内容和相关性的假象。要想内容在搜索引擎里有所改观,最好的办法是采纳它们自己提供的建议。大多数搜索引擎都提供了优化网页或整个网站的指南。

2.3.2 声明字符编码

meta元素的第二个用途是声明HTML文档内容所用的字符编码。

1. charset属性

charset属性是生命HTML文档内容所用的字符编码。例如,<meat charset=”utf-8”>编码格式说明我们采用的是utf-8编码,utf-8编码包含了世界所有国家需要的文字的字符,而且,它以最少的字节数表示所有Unicode字符,我们称呼他为国际编码,通用性强。

2.3.3 模拟HTTP标头字段

meta元素的第三个用途是改写HTTP(超文本传输协议)标头字段的值。服务器和浏览器之间传输HTML数据时一般用的就是HTTP(服务器的每条响应都包含着一组向浏览器说明其内容的字段)。meta元素可以用来模拟或者替换其中三种标头字段。

1. http-equiv 属性

http-equiv 属性为名称/值对提供了名称。并指示服务器在发送实际的文档之前先在要传送给浏览器的 MIME 文档头部包含名称/值对。

当服务器向浏览器发送文档时,会先发送许多名称/值对。虽然有些服务器会发送许多这种名称/值对,但是所有服务器都至少要发送一个:content-type:text/html。这将告诉浏览器准备接受一个 HTML 文档。

使用带有 http-equiv 属性的 <meta> 标签时,服务器将把名称/值对添加到发送给浏览器的内容头部。例如,添加:

<meta http-equiv="charset" content="iso-8859-1">

<meta http-equiv="expires" content="31 Dec 2008">

这样发送到浏览器的头部就应该包含:

content-type: text/html

charset:iso-8859-1

expires:31 Dec 2008

当然,只有浏览器可以接受这些附加的头部字段,并能以适当的方式使用它们时,这些字段才有意义。

meta元素的http-equiv属性允许使用的值

属性值

说明

refresh

以秒为单位指定一个时间间隔,在此时间过去之后将从服务器重新载入当前页面。也可以另行指定一个URL让浏览器载入。如<meta http-equiv=”refresh” content=”5;http://www.apress.com” />

default-style

指定页面优先使用的样式表。对应的content属性值应与同一文档中某个style元素或者link元素的title属性值相同。

content-type

这是另一种声明HTML页面所用字符编码的方法。如<meta http-equiv=”content-type” content=”text/html charset=UTF-8”/>

2.3.4 HTML5中弃用的scheme属性

1. scheme 属性

scheme 属性用于指定要用来翻译属性值的方案。此方案应该在由 <head> 标签的 profile 属性指定的概况文件中进行了定义。

posted on 2016-05-24 19:11  bosamvs  阅读(308)  评论(0编辑  收藏  举报

导航