您的位置:寻梦网首页编程乐园HTML园地HTML4.0参考文献

前页|后页| 目录|元素| 特性

链接

直到现在,这份说明书中已经处理了在HTML结构方面把一 个结构加到单一的文档.在本章中,我们介绍允许作者在 文档之间建立链接电脑方面的思路与结 构.

路径信息:?A NAME="edef-BASE">BASE元素

<!ELEMENTBASE - O EMPTY>
<!ATTLIST BASE
?href   ?%URL   #REQUIRED
?target  ?CDATA  ?#IMPLIED?-- where to render linked resource -- ?>
开始标记:需要,结束标记:禁止
特性定义
?
href=url
这个特性指定了一个完全的URL并作为基URL来解决相对 URL.
在它处定义的特性
在链接到另一个文档或包含一个物件是路径是一个重要 的问题.在HTML中,路径信息经常?通过URL 来指定.相对URL根据基URL来决定,它可能来自于不同的源 (参见关于基URL信息的相对 URL章节).BASE元素 可以让作者显式地来指定一个文档的基URL.

当陈述的时候,BASE元素必须出现于HTML的HEAD 部分.BASE元素的范围只限于当前文档.

例如,给定下列的BASE 声明:
<HTML> <HEAD> <BASE href="http://www.barre.fr/fou/intro.html"> </HEAD> ... </HTML>
相对URL"../gee/foo.html"将成为:
http://www.barre.fr/gee/foo.html

链接和锚点

HTML链接是一个Web 资源和另一个的连接.虽然是一个非常 简单的概含,链接却是一个当前Web 如此成功的关键原因

定义链接和锚点

HTML链接有两个端点和一个方向.链接开始于"源"端并指 向"目标"端.

每个链接定义都指定了链接的源和目标.一端经常在存 在的链接定中被定义.另一端则通过一个链接特性来指定.

一 个 链 接 端 指 Web 资 源, 如 一 个 HTML 文 档, 一个图像, 一个影像块, 一段声音, 一个程式, 当前文档等. 一个链接端也指一个锚点. 一个锚点是在HTML文档中已命名的区域. 这个区域可以包含文字或其它的物件.

使用链接

在这种方式下的定义,链接没有继承语意,它们只同源和 目标联系.然而,链接也包括形式信息(ype information) 允许用户代理器以有趣的方式来解译它们.

当然,链接最广泛的使用是取回其它的Web 资源(例 如:通过按鼠标键,通过一个语音命令来资源链接).

无论如何,Web-冲浪并不只是链接的唯一用处.例如,作者 可以在一系文档中指定"后页"和"前页"的链接.用户代理 器将把这些渲染成导航工具而不仅是文档的部分内容.

类似的,作者可以用链接来定义一系列文档的打印次序. 用户代理可以根据这些链接来生成一份手册或书本的边 贯的打印版本.

制作链接头和尾

在定义中,一个链接有两个端点(源和目的),其中一个在链 接出现的时候被指定.但是不它结束的链接的源或目的?

想象一下如果你是一个用HTML写书的作者,并且你希望 作者从头读到尾,一章一章接着读.如果每一章都?是一个 分开的HTML文档中,你能通过链接来组织次序信息:每个文 档包括两?个链接,一个指向前一章而另一个指向后一章. 这个前章链接指明当前文档是前章的目的地源则存在于 前面的章节中.后章链接指出源在当前文档而目的在下一 章.为了在链接中纪录这些结构信息,你允许用户代理器 以一些感兴趣的方法来表现它们,如导航按钮,菜单等等.

rel特性指明了链接 定义为它的源存在于当前文档.而rev 特性则指明链接定义为它的目的存在于当前文档.此外, 这些特性的值给予用户代理器一些关于资源位于链接另 一端的形式的信息.将在后面举例.

定义链接的元素

有两种HTML元素用来定义链接:LINKA.

LINK元素只能出现于 HTML文档的引导(HEAD)段. 它定义了当前文档和另一个资源之间的联系.即使LINK 没有内容,而它定义的联系依然会被某些用户代理器渲染.

A元素只能出现于文档 的主干(BODY)部分.它定 义了当前文档中某个区域与另一个资源之间的联系.其它. A中的内容(文本,图像等) 将被以后的文档内容渲染.用户代理器通常高亮?度显示这 个内容来指出链接存在.

这两个元素另外还有一个重要的区别,就是当链接是由? A来定义的时候通常被用 户代理器?作为"这个链接另一端取回的资源"来解译.取回 的资源可以被?用户代理器以多种方式对待:在同一个用户 代理器视窗中打开新的HTML文档,在不同的视窗打开新的 HTML文?档,开始一个新的程式来处理资源等等.

title特性可以设这 些元素设置以增加关于自然联接的信息.这些信息可以被 用户代理器读出,作为工具提供渲染或改变鼠标指针形状 等等.

定义锚点的元素

有两种途径可以指定HTML文档中的锚点:
  • A元素.
  • 任何元素的id特性.
?
链接和锚点.A 元素用来定义链接和锚点.可能和节约的方法是在同一个 A元素中定义链接和锚点 两者.

国际化和链接

因为链接可以?指向不同语言写作的文档(可能还有不同的 书写次序)并使用不同的字符编码方式, ALINK 元素提?供lang(语言), dir(书写方向)和charset (字符编码方式)特性.这些特性允许作者给用户代理器提 供链接另一端自然数据的建议.

通过这些附加的知识武装,用户代理器能够避免对用户 显示"垃圾".取而代之的是,它们既可以对必要位置的文档 作为正确的陈述也可以至于警告用户那个文?档可能无法 阅读并指出原因.

A元素

<!ELEMENTA - - (%inline)* -(A)>
<!ATTLIST A
?%attrs;            ?--%coreattrs,%i18n,%events --
?charset  CDATA  ?#IMPLIED?--char encoding of linked resource --
?name   ?CDATA  ?#IMPLIED?--named link end --
?href   ?%URL   #IMPLIED?--URLfor linked resource --
?target  ?CDATA  ?#IMPLIED?--where to render resource --
?rel    CDATA  ?#IMPLIED?--forward link types --
?rev    CDATA  ?#IMPLIED?--reverse link types --
?accesskey CDATA  ?#IMPLIED?--accessibility key character --
?shape   %Shape  rect  ?--for use with OBJECT SHAPES--
?coords  ?%Coords ?#IMPLIED?--for use with OBJECT SHAPES--
?tabindex ?NUMBER   #IMPLIED?-- position in tabbing order -- ?>
开始标记:需要,结束标记:需?要
特性定义
?
name=cdata
这个特性指此元素被用来定义一个锚点.这个特性值?是?一个 唯?一的锚点名称.它的范围是当前文档.注意,这个特性与 id特性共享同一个命名空间.
href=url
这个特定指此元素用来定义一个链接.这个特性值是链接 另一端?的位置(另一端?在此元素中通过位置定义).
rel=cdata
这个特性指当前位置是链接定义的源.在此情况下的href 指定了链接的目的.rel值指定了链接的形式. 这个特性可以是一个空格分列的链接形式表.
rev=cdata
这个特性指当前位置是被?定义链接的目的.在此情况下的 href值?指定的链接的源. rev值指定了链按的形式.这个特性 可以是一个空格分列的链接形式表.
charset=cdata
这个特定指定的通链接指定的字符编码方式.这个特?性的 值必须是在[RFC2045]? 中作为"charset"指定的名称(例?如"euc-jp").这个特性的缺?省 值是"ISO-8859-1".
在它处定义的特性
A元素可以定义一个锚点, 一个链接,或两者.
下面的例程举例说明了链接的定义.
关 于 W3C 的 更 多 的 信 息, 请 参 阅? <A href="http://www.w3.org/">W3C Web 节 点</A>
这个链接?指定了World Wide Web 协会的主页.当用户在用户代 理器中激活些链接的时候,用户代理器将取回资源,在此 是一个HTML文档.

用户代理器通常以使用户明了的方式来渲染链接(下旬 线,负像等).渲染取决于用户代理器.渲染可能根据用户是 否访问过此链接而有所不同,对于先前链接的渲染可能为 为:

关于W3C的更多的信息,请参阅W3C Web 节点.
                 ~~~~~~~~~~~~
为了显式地告诉用户代理器目的页的字符编码方式,设置 charset特性:
关 于 W3C 的 更 多 的 信 息, 请 参 阅? <A href="http://www.w3.org/" charset="ISO-8859-1">W3C Web 节 点</A>
下面的例程举例说明了锚点的定义,设想 我们在"one.html"中定一个名为"anchor-one"的锚点.
...text before the anchor...
<A name="anchor-one">This is the location of anchor one.</A>
...text after the anchor...
这个定义为包含文字"This is the location of anchor one"的整个 区域指派了一个锚点.通常,?当?A 只定义一个锚点时A中的 内容并不作为特殊的渲染.

已经定义了锚点,我们可以在同一或不同的文档中链接 它.指定锚点的URL以"#"结束后跟锚点名称.这里是一些这 种URL的例示:
?

  • 绝对URL:http://www.mycompany.com/one.html#anchor-one
  • 相对URL:../one.html#anchor-one
  • 当链接到同一文档时:#anchor-one
因此,一个在与"one.html"处于相同目录的"two.html"中的链 接可以如下指定锚点:
...text before the link...
For more information, please consult <A href="./one.html#anchor-one"> anchor one</A>.
...text after the link...
A元素在 下面的例?程中同时指定了一个锚点和一个链接:
I just returned from vacation! Here's a 
<A name="anchor-two" href="http://www.somecompany.com/People/Ian/vacation/family.png"> photo of my family at the lake.</A>.
这个例程包含一个不同Web 资源形式(一个PNG图像)的链接. 激活链接会引起图像资源从Web 被取得(可能被显示只要 系统被配置成这样做).
这个例?程举例说明了在?H2 元素中使用id特性来对 一个锚点的定位.这个锚点通过A 元素来链接.
You may read more about this in <A href="#section2">Section Two</A>.
...later in the document
<H2 id="section2">Section Two</H2>
...later in the document
Please refer to <A href="#section2">Section Two</A>above
for more details.
idname特性共 享相同的命名空间(参见[ISO10646]). 这意味着它们不能在同一个文档里定义为相同名称的锚 点.
非法例程:
下面的引用是一个非法的HTML因为这些特性在同一个 文档里声明了两次相同的名称.
<BODY> <A href="#a1">...</A> ... <H1 id="a1">
...pages and pages...
<A name="a1"></A> </BODY>
因为在HTML DTD的声明中,name特性可以包含字符条目. 因此,值D&#xfc;rst是合法的名称.另外id 特性则不可包含字符条目.

LINK元素

<!ELEMENTLINK - O EMPTY>
<!ATTLIST LINK
?%attrs;            ?--%coreattrs,%i18n,%events --
?href   ?%URL   #IMPLIED?--URLfor linked resource --
?rel    CDATA  ?#IMPLIED?--forward link types --
?rev    CDATA  ?#IMPLIED?--reverse link types --
?type ?%ContentType?#IMPLIED?--advisory Internet content type --
?media   CDATA  ?#IMPLIED?--for rendering on these media --
?target  ?CDATA  ?#IMPLIED?-- where to render linked resource -- ?>
开始标记:需要,结束标记:禁止
 
在它外定义的特性  
这个元素必须出现在文档的HEAD 部分(任意次数),它定义了一个独立媒体链接.尽管LINK 没有内容,它传送的联系信息可能被用户代理器以不同的 方式渲染(例如:有下拉链接菜单的工具条).
这个例程说明数个LINK 定义可以出现于文档的HEAD 段中.relrev 特性指明了每个链接的源和目的在哪里.这里的值"Index", "Next"和"Previous"在链接形式中被解释.
<HTML> 
<HEAD> 
<LINK rel="Index" href="../index.html"> 
<LINK rel="Next"  href="Chapter_3.html"> 
<LINK rev="Previous" href="Chapter_1.html"> 
</HEAD>
...the rest of the document...
我应该在什么时候使用relrev?并不时 需要经常来标识什么是链接的源端和目的端.对于一个 A元素,你必不需要指定 relrev 特性.对于LINK元素,你 必须选择一个.参见上文中关于relrev之间区别的描述.

链接形式

relrev 特 性 指 定 了 链 接 的 哪 端 是 源 而 哪 端 是 目 的. 在 这 两 种 情 况 下, 这 个 值 或 这 些 值 描 述 了 自 然 的 链 接. 两 个 特 性 都 可 以 在 元 素 的 开 始 标 记 中 定 义.?!-- printing, preloading, navigation, authoring -->

作者可以使用下列的可被认出的链接形式,它们的解译 协定亦列示于此.

用户代理器,搜索引擎等,可以通过多不同的方式解译 这些链接.例始,用户代理器可以通过一个导航条来处理 链接文档.或者,当链接形式为"Next"时,用户代理器预调入 下一个文档来节约处理时间.

Contents
这个链接指向文档作为表格的内容出现.
Index
这个链接指向文档中提供一个当前文档的索引.
Glossary
这个链接指向文档提供一份当前文?档的词汇表.
Copyright
这个链接指向当前文档的版权语句.
Next
这个链接指向文档系列中的下一个文档.这个值通常与rel 被使用.
Previous
这个链接指向文档系列中的上一个文档.这个值?通常与rev 一起使用
Start
这个链接指向一套文档组合中的第一个文档.这个链接告 诉搜索引擎哪个文档是作者决定的这套组合的开始点.
Help
这个链接指向一个文档提供帮助(更多信息,参见其它信 息等)
Bookmark
这个链接指向一个书签.一个书签是一个外部文档的关键 点.例如,在标签书签的时候title 特性将被用到.注意在每一个文档中都可以定义数个书签 .
Stylesheet
这个链接指向一个外部风格页.参见外部风格页 以获得更多细节.
Alternate
这个链接指向一份文档的不同的版本.当使用lang 特性时,暗示着一个相同文档的翻译版本.当纵向地与media 特性一起使用时,指另一种媒体版本.

链接和外部风格页

LINK元素把文档和外 部风格页链接起来的时候,type 特性指定了风格页的语言而media 特性指定了目标的媒体.用户代理器只有在这些风格页提 供当前设置?的情况下取得它们由此来节约时间.

媒体形式以后会在风 格页中讨论.

链接和搜索引擎

作者可以通过LINK元素 向搜索引擎提供不同的信息,包括:
  • 链接到用另一种语言版本的文档.
  • 链接到其它媒体版本的文档,如打印本.
  • 链接到?文档集合的封面.

下面的例程举例说明了语言信息,媒体形式和链接形式 是如何被搜索引擎组合起来提高文档句柄的.

在下面的例程中,我们告诉搜索引擎哪里 可以找到文档的荷兰语,葡萄牙语和阿接伯语版本.
<HEAD> 
<LINK lang="nl" title="The manual in Dutch"   
rel="alternate"   
href="http://someplace.com/manual/dutch.html"> 
<LINK lang="pt" title="The manual in Portuguese" rel="alternate" href="http://someplace.com/manual/portuguese.html"> 
<LINK lang="ar" title="The manual in Arabic" dir="rtl" rel="alternate" href="http://someplace.com/manual/arabic.html"> 
</HEAD>
在下例中,我们告诉搜索引擎到哪里寻找 手册的打印版本.
<HEAD> 
<LINK media="print" title="The manual in postscript"   
rel="alternate"   
href="http://someplace.com/manual/postscript.ps"> </HEAD>
在下列中,我们告诉搜索引擎到哪里寻找 文档集的封面.
<HEAD> <LINK rel="Start" title="The first page of the manual"   ?href="http://someplace.com/manual/postscript.ps"> </HEAD>

前页|后页| 目录|元素| 特性