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

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

文字

下面的一面讨论围绕文字的结构.格式文字的元素(对齐 元素,字体元素,字形元素等等)将在这份说明书的以后讨 论.如果有字符语法的问 题请参阅SGML部分.

空白区域

SGML说明书严格区分开始符(line feeds)?和结束符(carriage returns). 在国际互联网上,有些平台使用carriage return line feed 对来 作为换行,有些只用line feeds,而有些只用carriage returns.因 此,用户代理器应当判定单个的line feed 和carriage return 字 符作为换行符,而carriage return line feed 对也应当作为单个 的换行符.(译注:这就是我们常说的ASCII码0A与OD的关系).

紧跟着开始标记后出现的换行符应当被忽略,在结束标 记前的出现换行符也如此.这个应用对所有的HTML没有异 常.额外的,对所有除PRE 以外的元素,邻近空白区域的序列如空格,水平TAB,表单结 束和换行符均被替换成单个的空格字符.

众多的脚本(文字书写语言)与脚本间的对空白区域?的 看法是不同的,用户代理器应当用脚本敏感的方式来解除 空白区域.例如,对于拉丁语脚本,一个词的空格就是一个 空格(ASCII10进制码32),然而在泰语中是一个0-宽度的一个 字的单词分隔符,.在日语和汉语中,一个词的空格完全被 忽略.

这些规则允许作来使用空白区域来显示它们希望的标 注,HTML源中的空白区域不会被?任何用户代理器渲染.

例如,下面的HTML源码:

<P> ?This example shows a paragraph and a list. </P> 
<UL> ?
lt;LI>  ?This is the <EM>first</EM> item ?
</LI> ?<LI>  ?This is the <EM>second</EM> item ?</LI> 
</UL>
也可以写作(通过忽略结束符)并且看去大不相象(通过减 少空白区域):
<P>This example shows a paragraph and a list. 
<UL> ?
<LI>This is the <EM>first</EM> item ?
<LI>This is the <EM>second</EM> item 
</UL>
?应当可以被用户代理器相等地渲染.
PRE被用作预置文本, 而这里的空白区域则是重要的.PRE 元素在下描述
单词空格处理能够并用应该在即使缺少? lang特性指定语言信 息的情况下也能完成.attribute.这是个脚本问题,而非语言 问题.

结构化文本

短语元素:EM,STRONG,DFN,CODE,SAMP,KBD,VAR,CITE, 和ACRONYM

<!ENTITY%phrase "EM|STRONG|DFN|CODE|
         SAMP|KBD|
         VAR|CITE|
         ACRONYM"> 
         <!ELEMENT (%font|%phrase) - - (%inline)*> 
         <!ATTLIST (%font|%phrase) ?%attrs;            ?-- %coreattrs, %i18n, %events -- ?>
开始标记:需要,结束标记:需要 文字片断的短语可以加上结构化的信息.主要的短语元素 的涵义如下:
EM:
犚?指强调.
STRONG:
犚?指强烈的强调.
CITE:
犚?用参考或其它资源.
DFN:
意味着这是一个包含内容的引证.
CODE:
犞?出是计算机代码段.
SAMP:
犞?出是程序脚本的例程输出,等等.
KBD:
指文字由用户输入.
VAR:
指变理或程式参数的例证.
ACRONYM:
犞?一个缩略语(例如WWW,HTTP,URL等等).
EMSTRONG 通常用于强调语气.对于其它的短语元素在技术文档中也 有其自身的重要意义.这此例程说明了一些文字标志元素 的渲染.:
"More information can be found in 
<CITE>[ISO-0000]</CITE>." "Please refer to the following reference number in future correspondence: 
<STRONG>1-234-55</STRONG>"
ACRONYM元素允许作 者清清楚地标识一个组成缩略语的字符序列(如:"WWW","FNAC", "IRS",等等).标识缩略语的能力对于拼写检查,语音系统, 其它的用户代理器而工具来说是有用的.

ACRONYM元素注解 中的内容指定了缩略语的本身.title 特性可以用来提供哪个缩略语被使用.这里是一些缩略语 定义例程:

<ACRONYM title="World Wide Web">WWW</ACRONYM> 
<ACRONYM?   lang="fr"?   title="Soci&eacute;t&eacute; Nationale de Chemins de Fer">   SNCF 
</ACRONYM>
短语元素的表现取决于用户代理器.通常,可视化用户代 理器以斜体字表现?EM文 本并以黑体来表现STRONG 文字.语音系统用户代理器则调整综合参数,如音量,音高 和相应的频率.缩略语则通过个别的字母分开发音.
注意:这个版本的HTML并没有包含用于缩 写的特殊的标注.我们建议语音系统使用客户端字典来展 开任何在文档中的缩写.对于专业化的词汇,文档中LINK 元素头可以来指定合适的字典.

引用 :BLOCKQUOTEQ 元素

<!ELEMENTBLOCKQUOTE - - %block>
<!ATTLIST BLOCKQUOTE
?%attrs;            ?--%coreattrs,%i18n,%events --
?cite   ?%URL    #IMPLIED?-- URL for source document or msg -- ?>
<!ELEMENTQ - - (%inline)*>
<!ATTLIST Q
?%attrs;            ?--%coreattrs,%i18n,%events --
?cite   ?%URL    #IMPLIED?-- URL for source document or msg -- ?>
开始标记:需要,结束标记:需要
特性定义
?
cite=url
这个特性的值是一个统一资源定位器(URL)用来指定源文 档或消息.这个特性有意地把取得引用语的源信息提供出 来.
这里有两个元素来指定引用文字.BLOCKQUOTE 用来对长引用而Q有意用 来作为没用分段的引用.
这个例程格式选自"The Two Towers",作者J.R.R. Tolkien,作为一个封闭引用.
<BLOCKQUOTE cite="http://www.mycom.com/tolkien/twotowers.html"> 
They went in single file, running like hounds on a strong scent, 
and an eager light was in their eyes. Nearly due west the broad swath of the marching 
Orcs tramped its ugly slot; the sweet grass of Rohan had been bruised and blackened as they passed. 
</BLOCKQUOTE>
可视化用户代理器通常把BLOCKQUOTE 作为交错的封闭单元来渲染.
引号uotation marksI我们建议使用风格 页来决定插入由QBLOCKQUOTE 元素限定的引用部分的前后引号,?对于当前语言上下文关 系(see the langattribute) 以及嵌套的引用层次是一种适当的方法.

不过,一些作者曾经只把BLOCKQUOTE 仅仅用于划定文字,为了保持目前作者的用法,建议用户 代理器不要把引号插入缺省风格.

此外,如果作者在QBLOCKQUOTE元素中包 含了引号,用户代理器不应当插入额外的引号.

使用BLOCKQUOTE 来划定文字是好的风格页所反对的.

下标和上标:SUBSUP 元素

<!-- subscripts and superscripts -->
<!ELEMENT(SUB|SUP) - - (%inline)*> <!ATTLIST (SUB|SUP) ?%attrs;            ?-- %coreattrs, %i18n, %events -- ?>
开始标记:需要,结束标记:需要 许多脚本(如法语)需要下标或上标来作适当的渲染.SUBSUPel元素可以在这些 情况下来标注.
这里,我们使用SUP 来提高法语单词中的"MlleDupont"的"lle".
  ?M<sup>lle</sup>Dupont

行和段落

作者典型地把他们们的思想和论点分成有序的段落.对于 把信息组织成段落并不受段落内容影响:左对齐的段落和 双面对齐的段落表达了相同的论点.

HTML标注对于定义一个段落是直爽的:用P 元素来定义一个段落.

然后段落的视觉表现却不是这么简单.一系列的事项, 风格的和技术上的,都必须被注意:

  • 空白区域的对待
  • 换行和单词折行
  • 对齐
  • 连字符
  • 书写语言约定和文字方向
  • 与周围内容相关的段落格式
我们增加了下面的问题.段落对齐方式和浮动物件 将在本文档的以后进行讨论.

段落:P元素

<!ELEMENTP - O (%inline)*>
<!ATTLIST P
?%attrs;            ?--%coreattrs,%i18n,%events --
?%align;            ?--align, text alignment -- ?>
开始标记:需要,结束标记:?可选 P元素表示一个段落.但不 能包含一个封闭级的元素(包含P 自身).你可以省略结束标记,然后开始第二个封闭级的开 始标记.当然,也结束于附着的P .
例如,下面的两个例程:
<P>This is the first paragraph.</P> <P>This is the second paragraph.</P>
...a block element...
也可以重写为没有结束标记:
<P>This is the first paragraph. <P>This is the second paragraph.
...a block element...
既然两种都可以在跟着的封闭元素之前隐式的结束.?相同 的,如果一个段落被包含于一个封闭元素中,象这样:
<DIV> <P>This is the paragraph. </DIV>
包含封闭元素的结束标记(这里是DIV) 也隐式地作为P元素的结 束标记.
空的P元素是坏的表单并 在渲染时被忽略.

段落的视觉渲染

段落是如何进行视觉渲染的取决于用户代理器.段落经常 被渲染成左边齐平而右边页缘粗糙.从右到左的脚本有其 相适宜的缺省方式.

HTML用户代理器典型地在渲染时为段落的前后加上空 白区域,例如:

?At the same time,there began to take form a system of numbering,
?the calendar,hieroglyphic writing,and a technically advanced
?art,all of which later influenced other peoples.
?Within the framework of this gradual evolution or cultural
?progress the Preclassic horizon has been divided into Lower,
?Middle and Upper periods,to which can be added a transitional
?or Protoclassic period with several features that would later
?distinguish the emerging civilizations of Mesoamerica.
相反的,在小说中段落的首行缩进并且段落之间的距离等 同于上下的行距,例如:
  At the same time,there began to take form a system of
?numbering,the calendar,hieroglyphic writing,and a technically
?advanced art,all of which later influenced other peoples.
  Within the framework of this gradual evolution or cultural
?progress the Preclassic horizon has been divided into Lower,
?Middle and Upper periods,to which can be added a transitional
?or Protoclassic period with several features that would later
?distinguish the emerging civilizations of Mesoamerica.
前例中的第2个由NCSA Mosaic 浏览器在1993年推出,用户代 理器通常不对双边页缘进行调整,因为没有复杂的连字惯 例难以有效地完成.由于风格页和不等宽字体(antialiase font) 的出现,给HTML作者提供了比以前更多的选择.

风格页在尺寸,风格,页缘,段前段后空间,首行缩进,对 齐方式及其它细节上指供了丰富的控制.用户代理器的缺 省风格页对在近似的表单中渲染?P 元素,就如同前例.你原则上可以超越这些常规的段落之 间空开的规则来渲染段落,但这可能使用户迷惑并且是一 个坏的尝?试.

根据约定, 可视化 HTML 用户代理器对文字折行来符合合法的页缘. 折行运算法则取决于脚本格式.?!-- See email from Martin about Kanji, Kani, and Thai! -->

例如,在西文中文字只能在空白处转折.老式的用户代理 器不正确地在元素的开始(或结束)时折行,结果造成了孤 立的标点.如:

?A statue of the <a href="cih78">Cihuateteus</a>,who are patron ...
在锚点结束标记后的折行引起了逗号被组和到了文字的 行首:
?Astatue of the Cihuateteus
?,who are patron goddesses ...
这是一个错误,即使在那个标注点上并没有空白区域.

控制换行

对于于HTML来说,可以强制换行也可以禁止换行.

强制换行:BR元素

<!ELEMENTBR - O EMPTY    ?-- forced line break -->
<!ATTLIST BR
?%coreattrs;          ?--id,class,style,title--
?clear (left|all|right|none) none -- control of text flow -- ?>
开始标记:需要,结束标记:禁止
在它处定义的特性
BR元素强制当前文本行 的分行(结束).

对于可视用户代理器,clear 特性可用来判断标注是否跟随于BR 元素element flows around images and other objects floated to the left or right margin,或者还是在这个物件的底部开始.r whether it starts after the bottom of such objects.进一步的细节在对齐方式和物件的浮动 被给出.作者被建议使用风格页来控制图像和其它物件的 浮动.clear特 性,?根据其它的HTML陈述和标记,只有在你认为用户代理器 不提供风格页的时候起适当人用.

在双向格式方面,BR元 素应当被作为与Unicode LINE SEPARATOR字符相同的方式来对 待.

禁止换行

有时,?你可能希望对对两个单词禁止换行.&nbsp;字符条 目(&#160;,&#xA0;)可以被用作用户代理器不会换行的 空格符.

连字符

在HTML中,有两种连字符:简单连字符和软连字符.简单连 字符可以被用户代理器理解为简单的字符.?而软连字符则 可以告诉用户代理器在这里可以换行.

那些解释软连字符的浏览器必须遵守下列语意学的原 则:如果一行中以连字符分开,连字符必须显示于第一行 的结尾.如果一行并不在连字符处换行,用户代理器则不 显示连字符.对于如搜寻和排序的操作,软连字符应当被 忽略.

在HTML中,简单连字符是"-"字符(&#45;,&#x2D;).而软 连字符则是命名字符条目&shy;(&#173;,&#xAD;)

预置文本:PRE 元素

<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT">
<!ELEMENTPRE - - (%inline)* -(%pre.exclusion)>
<!ATTLIST PRE
?%attrs;            ?--%coreattrs,%i18n,%events --
?width    NUMBER   #IMPLIED ?>
开始标记:需要,结束标记:需要
特性定义
width=integer
这个特性给用户代理器一个关于封闭格式宽度的暗示.用 户代理器可以使用这个信息来选择相宜的字体尺寸和缩 进格式.希望的宽度用字符数表示.这个特性目前还没有 被广泛支持.
PRE?元素告诉可视用户代 理器那些被包含于"预处理"的文本.用户代理器必须如下 对待预处理文本:
  • 原封不动地保留?空白区域
  • 可以用组合字体来渲染文字.
  • 它们禁止自动的单词折行.
  • 它们必须禁止双向处理.
注意SGML标准需要语法分析器取消在紧跟在开始标记后 或结束标记前的空行.

上面的DTD片断表示哪些元素不出现于PRE 声明.这与HTML3.2相同,并且在用组合字体对文字的渲染 时有意地保护行空间及列对齐方式.作者通过风格页而改 变些行为是被?阻止的.

下面的例程显示了一个预处理的雪莱(译 注:Shelly,我想应该翻作雪莱而不是雪梨或雪莉)的诗:给 云雀:
<PRE>
Higher still and higher
From the earth thou springest
Like a cloud of fire; 
The blue deep thou wingest, 
And singing still dost soar, 
and soaring ever singest. </PRE>
这里是这段诗文被用户代理器渲染的效果:
   Higher still and higher
    From the earth thou springest
   Like a cloud of fire;
    The blue deep thou wingest,
And singing still dost soar,and soaring ever singest.
水平制表符
水平制表符(在[UNICODE], US ASCII和[ISO88591] 解码均为10进制的9)是通常被用户代理器解译为最小的 必须的至制表符结束非-0宽空间为8个字符.我们强烈阻 止在预置文本中使用水平制表符,因为它还在常规测试中, 在编辑中,把制表空间设置为其它的值,会引起文档元法 对齐.

标注文档改变:INS 和DEL元素

<!-- INS/DEL are handled by inclusion on BODY -->
<!ELEMENT(INS|DEL) - - (%inline)* -- inserted/deleted text -->
<!ATTLIST(INS|DEL)
?%attrs             --%coreattrs,%i18n,%events --
?cite   ?%URL  ?#IMPLIED --info on reason for change --
?datetime ?CDATA   #IMPLIED  -- when changed: ISO date format -- ?>
开始标记:需要,结束标记:需要
特性定义
cite=url
这个特性的值是一个指定文档或消息源的统一资源定位 器(URL).这个特性相宜地指出了为什么文档改变的信息.
datetime=cdata
这个特性值指定了改变完成的日期和时间.这个值可以是 [ISO8601]指 定的值也可以是在描述文件中日期和时间 部分定义的格式.
INSDEL 被用来标注文档中的哪部份相对于原先版本是插入还是 删除了.(例如:法律制定者需要查看草案中的修改部分).

这两个元素通常在HTML中既不是封闭级元素也不是行内 元素.它们在一段中可以包含一个或更多的单词或包入一 个或更多的封闭级元素如段落,列表和表格.

用户代理器会明显地来渲染插入和删除的文字.例如, 插入的文字可能以一种特殊字体出现,而删除文字可能根 本不出现或打点或以特殊标记出现,等等.

用户代理器如果无法识别DEL 元素则还是依然如常地渲染元素中的内容.

日期和时间格式

[ISO8601]在 表达时间和日期时.这份说明书指定了一种[ISO8601] 允许的格式.

格式为:

?YYYY-MM-DDThh:mm:ssTZD
在此:
  YYYY=4位数字年份
  MM =双数字月份(01=1月,等等)
  DD =双数字日期(从01至31)
  hh =双数字小时(从00至23)(am/pm 不被接受)
  mm =双数字分钟(从00至59)
  ss =双数字秒数(从00至59)
  TZD?=时区指示符
时区指示符是以下的一个:
Z
指世界协调时UTC(Coordinated Universal Time).
+hh:mm
指相对于UTC之前多少小时分钟的本地时间.
-hh:mm
指相对于UTC之后多少小时分钟的本地时间.
严格来说,上面的部分必须存在,并且严格使用上列标点. 注意"T"确然地出现于字符串中来指定时间元素的 开始,如同在[ISO8601] 中指定的.

如果一种通常的应用并不知道至秒的时间,这个值可能 以是"00"(而分钟数和小时数是必需的).

所有下列的例程对应于美国西部时间1994 年11月5日上午8点15分50秒.
  1994-11-05T13:15:30Z
  1994-11-05T08:15:30-05:00
通过使用INS,这将给出:
<INS datetime="1994-11-05T08:15:30-05:00"> I added this on November 5th </INS>

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