|
HTML初学者指南
这篇文将告欣你如何编辑HTML格式的文章,使你的作品成为多采多姿的多媒体文件,能够通过WWW的服务,让全世界分享您的心得。
名词解释
- WWW
- World Wide Web ,简称 web
- SGML
- Standard Generalized Markup Language -- 标准标注式语言
- DTD
- Document Type Definition -- 文档类型定义。
- HTML
- HyperText Markup Language -- 超文本标注语言
本文未覆盖的内容
本文假设你具备以下知识:
- 有使用过NCSA Mosaic 或其他 Web浏览器的经验
- 了解Web服务器和客户端浏览器的工作原理
- 能够对Web服务器进行存取
建立HTML文档
HTML文档是一种普通的ASCII格式文档,你可以使用任何 文字编辑器(例如Emacs或Vi)来编辑。一些Web浏览器同时具有通过即见即所得的方式编辑HTML的功能。市面上还有一 些其他的即见即所得的HTML编辑器(如 HotMetal等)。你可以 先用这样编辑器建立你的HTML文档,再用你惯用的编辑进行进一步修改。
你可以使用NCSA Mosaic (或其他 的Web 浏览器进行预览)。通过打开下拉File菜单的Open Local选项。
完成编辑HTML文档后,存盘,返回NCSA Mosaic 并选择 Reload 功能,重新读取文档。修改后的文档 会出现在显示屏上。
最小的HTML文档
以下是一个HTML文档的基本结构: <TITLE>最简单的HTML例子</TITLE>
<H1>标题一</H1>
欢迎来到HTML的世界.
这是第一段.<P>
这是第二段.<P>
按这里去看看格式化后的样子.
上面五行就是HTML原始的样子,那些大於(>)、小於(<)符号和 来於其中的英文字,就是所谓的「标注」(tags)。正因为有这些标注,这WWW的读者看到多采多姿的文章,我们的流览器(例如Mosaic 或Cello),会依照不同的标注,产生许多不同的效果。上述例子使用以下标注:
- <TITLE>标注;(和</TITLE>标注相对应;), 用于表示文档的主题
- <H1> 标题标注(和</H1>相对应)
- <P>是段落分隔符。
HTML标注是由一个左括号(<), (在数学上是“小于”符号), 接着是一个名字和一个右括号做关闭(在数学上是“大于”符号)(>). 标注通常是成对出现,例如<H1> 和 </H1>. 结束标志和开始标志相近,只是括号里的标注名前多了个(/)。在本例中,<H1> 告诉 Web浏览器这是第一层标题的开始,</H1>告诉这是第一层标题的结束。
标注配对原则的一个主要例外是<P> 标注。它是没有象</P>的标注配对的。
注意: HTML并非大小写敏感. <title> 和<TITLE>或者<TiTlE>是一样的.
并非所有的标注都被全部的World Wide Web浏览器支持,如果一个浏览器遇到它不支持的标注,就会跳过这个标注。
基本的HTML标注
主题
每篇HTML文档都应该有一个主题,主题通常和文档的内容 分开显示,主题是用于标识不同的文章内容,概括文档的目的。
如果是使用 X Window 系统 或者是Microsoft Windows 版本下 NCSA Mosaic,文档主题 会显示在显示区的上方,也就 是在下拉菜单之下。
标题
HTML有六层标题, 编号从1到6, 第一层最突出. 第一层标题显示 大号或加粗字体. 第一层标题用<H1>标注. 标题标注的语法如下:
<Hy>标题文字 </Hy >
y 表示数字1到6。
例如,上述的“Heading”这部分应写成: <H3>Headings</H3>
主题和第一层标题
许多文档的第一层标题和主题通常是一样的,对一个分多部分的文档, 第一层标题应该和读者已经浏览的相关信息内容向匹配(如章节名), 而主题有更广的含义(如标识书名和章节名,虽然两者意思有时是重叠的).
段落
和大多数的文字处理器的不同,在HTML文档里,硬回车是无效的. 源文件的任何地方都可以自动换行,多个空格会自动缩为一个空格。 (也有一些例外; 在<P>或<H y>以后的空格不会自动缩减。) 因此,上述HTML的例子中, 第一段应为: 欢迎来到HTML的世界.
这是第一段. <P>
在源文件里,句子间有换行,而浏览器中会忽略换行符,只有在碰到<P>标注时,才开始新的一段。
注意:只有<P>标注才能分段. 浏览器忽略HTML源文件里的缩格和空格,HTML几乎完全依靠标注来格式化文本,如果没有<P>标注, 整个文档就成为一大段。 (例外情况是由``preformatted,''标注的会按以下的方法来解释。) 例如,下面的标注将产生和上述HTML例子一样的结果: <TITLE>最简单的HTML例子</TITLE><H1>这是第一层标题
</H1>欢迎来到HTML的世界.这是第一段.<P>这是第一段.<P>
然而,为了保持HTML文档的易读性,标题之间应该分行,并且段落之间也 应该用空行分开(加上<P>标注).
NCSA Mosaic处理<P>时; 结束当前行并插入空行。
HTML+是正在开发的HTML的后续版本, <P> 成为的文字的“容器”(container), 如同第一层标题用标注<H1> ... </H1>一样: <P>
This is a paragraph in HTML+.
</P>
其区别是</P> 标注放在末尾. (当浏览器 遇到<P>标注时,它知道必须有一个</P>标注作为前段的结束) 另一方面,在HTML+里, <P> 标注作为段落开始的标记。
作这改变的优越性在于,用户可以对一段落指定段落的格式化选项。 例如:在HTML+,用户可以把某一段放在中间,写成: <P ALIGN=CENTER>
This is a centered paragraph. This is HTML+, so you can't do it yet.
这改变不会影响用户现在正在编写的文档。用HTML+浏览器浏览的结果和现在完全相同。
连接其他文档
HTML的主要功能在于它可以从文档的某一部分(包括图像),连接到另外一个文档。浏览器用高亮度显示这部分(通常用颜色或加下划线),表示这部分是超文本的连接。 (通常缩写为 hyperlinks或links).
HTML的单一超文本连接标注是<A>, 意思是anchor.其使用方法为:
- 用<A表示连接的开始 . (A 后要加一空格.)
- 然后用一个参数 HREF="文件名" 后跟右括号:>
- 接着输入一段文字,表示是当前文档的超文本连接。
- 最后是输入标注: </A>结束.
以下是一个超文本连接: <A HREF="MaineStats.html">Maine</A>
这标注把单词``Maine'' 连向文档 MaineStats.html, 它和前一个文档都在当前路径下。用户可以通过指明相对路径从当前文档连向其他文档。例如,一个文档存放在的子目录AtlanticStates下的文档NJStats.html 的连接应写为: <A HREF="AtlanticStates/NJStats.html">New Jersey</A>
这称为相对连接. 用户愿意的话也可以使用文档的绝对路径. 路径名使用标准的 UNIX 语法格式。
相对连接和绝对路径
通常,用户都应该使用相对连接,原因如下:
- 能够减少输入。
- 方便将文档移去其他目录,因为相对路径仍然有效。
然而,当要连接并非直接有关文档时使用绝对路径名。例如:一本用户手册有一组文档组成,组内的连接应该 使用相对连接。如果要连接其他文档(如可能要访问到的有关软件),则应该使用绝对路径进行连接。在这种 情况下,把用户手册移到其他目录时,也不必进行修改。
URL格式 -- Uniform Resource Locator
World Wide Web 使用URL格式 -- Uniform Resource Locators 来对服务器上的文件进行定位。一个URL的内容包括可访问的资源类型(如gopher,WAIS), 服务器的地址,文件的路径,语法如下:
scheme://host.domain[:port]/path/filename
其中 scheme 是以下类型之一
- file
- 表示文件在本地服务器,或在一个匿名FTP服务器上
- http
- 表示文件在 World Wide Web 服务器上
- gopher
- 表示文件在 Gopher 服务器
- WAIS
- 表示文件在 WAIS 服务器上
- news
- 新闻组
- telnet
- 一个到Telnet服务的连接
port的号码应放在最后。(除非别人告诉你号码,否则省略。)
例如:把本文英文原版连入用户自己的文档,可以用下列格式: <A HREF = "http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html">
NCSA's Beginner's Guide to HTML</A>
上述格式会把 ``NCSA's Beginner's Guide to HTML'' 作为超文本链连接本文。
如果想对URLs有更深的了解的话,可以参阅:
连接其他文档的指定章节
连接也能跳跃至文档的特定章节。 假设用户想建立从文档A到文档B的连接,(假设叫 documentB.html.) 首先你需要在文档B设置 章节名。例如:如果要设置章节名字为 ``Jabberwocky'' 到文档B , 按以下格式: 这是<A NAME = "Jabberwocky">示范章节</a>
现在用户可以建立到文档A的连接, 它不但可以包括文档名, 还包括章节名, 文档名和章节名之间用 (#) 分开。 这是从文档A到文档<A HREF = "documentB.html#Jabberwocky">连接</A>。
现在按``连接'' 会直接跳跃到文档B的 ``示范章节'' 部分。
连接到当前文档的指定章节
除了省略文档名外,实现方法与上述一样。
例如:在文档B中连向章节 Jabberwocky anchor ,使用格式如下: 这是文档B内<A HREF = "#Jabberwocky">Jabberwocky 的连接</A>。
其他标注
上述标注对制作简单的HTML文档是足够的,对于复杂的HTML文档, 还有列表(lists),预格式化文字,预设区块和其他选项等等。
列表
HTML支持有序的,无序的和陈述式列表。
无序列表
按以下格式建立一个无序列表:
- 用列表标注<UL>开始.
- 接着输入<LI>不同的列表项。 (无须</LI>标注来关闭。)
- 用</UL>作为结束标注。
以下是两个例子: <UL>
<LI> 苹果
<LI> 香蕉
</UL>
浏览器输出是:
<LI> 列表项可以包括多个段落。 段落之间可以用<P>标注来分开。
有序列表
有序列表(也称为排序列表)和无序列表除了用<OL> 代替<UL>外,和无序列表是一样的。各列表项都使用<LI> 标注。 以下是列表的HTML例子: <OL>
<LI> 橙子
<LI> 桃子
<LI> 葡萄
</OL>
浏览器输出是:
- 橙子
- 桃子
- 葡萄
陈述式列表
陈述式列表通常由DT和DD组成。 Web浏览器把陈述式列表另开新行来显示。
以下是陈述式列表的例子: <DL>
<DT> NCSA
<DD> NCSA, the National Center for Supercomputing Applications,
is located on the campus of the University of Illinois
at Urbana-Champaign. NCSA is one of the participants in the
National MetaCenter for Computational Science and Engineering.
<DT> Cornell Theory Center
<DD> CTC is located on the campus of Cornell University in Ithaca,
New York. CTC is another participant in the National MetaCenter
for Computational Science and Engineering.
</DL>
浏览器输出为:
- NCSA
- NCSA, the National Center for Supercomputing Applications, is located on the campus of the University of Illinois at Urbana-Champaign. NCSA is one of the participants in the National MetaCenter for Computational Science and Engineering.
- Cornell Theory Center
- CTC is located on the campus of Cornell University in Ithaca, New York. CTC is another participant in the National MetaCenter for Computational Science and Engineering.
<DT>和 <DD> 中的每一个项目都可以 包括多个段落(用<P>段落标注分开), 列表, 或其他陈述式列表信息。
嵌套列表
列表可以任意嵌套,但实际使用上应该限制嵌套层数。用户同样可以将内容分不同的段落,每个段落都包含各自的嵌套列表。
以下是嵌套列表的例子: <UL>
<LI> A few New England states:
<UL>
<LI> Vermont
<LI> New Hampshire
</UL>
<LI> One Midwestern state:
<UL>
<LI> Michigan
</UL>
</UL>
以下是浏览器的输出结果:
- A few New England states:
- One Midwestern state:
设置预格式化文字
通过使用 <PRE>预格式化标注,使被标注的文本按照 其预先排版的格式显示,即字体,空格,换行等都于源文本的排版相同,不从新排版。 以下是预格式化文字的例子: <PRE>
#!/bin/csh
cd $SCR
cfs get mysrc.f:mycfsdir/mysrc.f
cfs get myinfile:mycfsdir/myinfile
fc -02 -o mya.out mysrc.f
mya.out
cfs save myoutfile:mycfsdir/myoutfile
rm *
</PRE>
浏览器的输出是: #!/bin/csh
cd $SCR
cfs get mysrc.f:mycfsdir/mysrc.f
cfs get myinfile:mycfsdir/myinfile
fc -02 -o mya.out mysrc.f
mya.out
cfs save myoutfile:mycfsdir/myoutfile
rm *
超文本连接也可以和<PRE>一起使用,但在<PRE> 中应该尽量避免使用其他标注。
因为在HTML中<, >,和&有着特殊的意义, 用户必须使用escape字符序列(<, >, and &),如何输入这些字符,请参考 特殊字符。
设置扩展区块
用<BLOCKQUOTE>标注,使屏幕显示单独的一块。大多数的浏览器采用缩进编排的方式,使这一块和其他部分的文本区分开来。
以下是设置扩展区块的例子: <BLOCKQUOTE>
I still have a dream. It is a dream deeply rooted in the
American dream. <P>
I have a dream that one day this nation will rise up and
live out the true meaning of its creed. We hold these truths
to be self-evident that all men are created equal. <P>
</BLOCKQUOTE>
浏览器输出结果为:
I still have a dream. It is a dream deeply rooted in the American dream.
I have a dream that one day this nation will rise up and live out the true meaning of its creed. We hold these truths to be self-evident that all men are created equal.
设置地址
The <ADDRESS> 标注通常用于表示文档的作者和有关 作者的信息(如email地址等)。通常使用在文档的结尾。
例如:本文最后一行为: <ADDRESS>
A Beginner's Guide to HTML / NCSA / pubs@ncsa.uiuc.edu
</ADDRESS>
浏览器输出结果为:
A Beginner's Guide to HTML / NCSA / pubs@ncsa.uiuc.edu
注意: <ADDRESS>并不是 用于编排邮政地址。如需编排邮政地址请看第10页的``强制换行''部分。
格式化字符
用户可以对单个句子的每个字和词定义不同的风格。风格有两种类型:逻辑的和物理的。逻辑风格并不指定对文本显示风格,而物理风格 指定文本的显示风格。如上面的的句子中,``相对风格''被标注为``定义'' 通过使用其他标注也能达到同样效果(使被标注的字,词用斜体字体显示)。
物理风格和逻辑风格的对比:尽量使用逻辑风格
既然物理风格和逻辑风格在浏览器中能达到同样的显示效果,为什么还要有两种风格呢?我们不妨引用在SGML原理的的一句话:“请相信你的浏览器”。
对于理想的SGML来说,内容和显示结果是分开的。因此,SGML标记第一层标题时,并没有指明第一层标题是如何显示的。例如,现在假设是显示24点粗体对中Times字体。但如果想改为20点阵向左对齐的Helvetica字体时,只要修改第一层显示设备的定义即可。这就是逻辑风格的优越性。
逻辑标注的另一个优越性是能帮助用户加强文档的一致性。用<H1> 标记比要记住把第一层标题是24点阵粗体Times字体容易得多。对字符风格的定义也是如此。例如:对于<STRONG>标注。大多数浏览器用粗体显示。 然而有些读者喜欢用红颜色显示,逻辑风格的灵活性就能满足这样的要求。
逻辑风格
- <DFN>
- 用于定义词的风格。通常是按斜体字体显示。
- <EM>
- 表示强调。通常也是显示为斜体。如:(小心:.)
- <CITE>
- 用于显示书或电影等等的主题。通常也是显示为斜体。如: (HTML入门指南)
- <CODE>
- 用于显示摘录的程序代码,用固定大小的字体显示。如: (<stdio.h>头文件)
- <KBD>
- 用于显示用户的键盘输入。应该用粗体加亮字体显示,但许多浏览器直接用等宽字体显示。如: (Enter passwd to change your password.)
- <SAMP>
- 用于显示计算机状态信息。用等款字体显示。 (Segmentation fault: Core dumped.)
- <STRONG>
- 表示非常强调。通常用加粗字体显示。如:(重要事项)
- <VAR>
- 表示变量,即用户可用特定的句子代替该变量。通常用斜体显示。如: (用rm filename删除文件)
物理风格
- <B>
- 粗体文字
- <I>
- 斜体文字
- <TT>
- 打字机字体, 即等宽字体。
使用字符标注
以下是使用格式:
- 首先是<tag>, tag表示被标注文本的开始。
- 输入被标注文本。
- 用</tag>作结束。
特殊字符集
Escape字符序列
对于HTML,在ASCII字符集里有四个字符有特殊的意义。他们是左括号,(<), 右括号(>), (&)符号和双引号有(")。左右括号表示标注的开始和结束, &表示escape换码序列的开始。
在HTML中使用这些字符的方法是用以下的escape 字符序列代替:
- <
- 代表escape字符<
- >
- 代表escape字符>
- &
- 代表escape字符&
- "
- 代表escape字符"
其他的escape字符支持重音字符,例如:
- ö
- 表示小写的重音 o : ?
- ñ
- 表示小写的重音 n :?
- È
- 表示大写的重音 E:?
按这里. 可以查阅更多的特殊字符
注意: 和其他的HTML语法不同,escape 字符是大小写敏感的。例如你不能把<写成<。
强制换行
<BR>标注执行强迫换行,并且不加空行。(相反, 大部分的浏览器对<P>标注常执行换行并加一空行)
<BR>的一个应用是用于写邮政地址: National Center for Supercomputing Applications<BR>
605 East Springfield Avenue<BR>
Champaign, Illinois 61820-5518<BR>
水平标尺
<HR> 标注在浏览器窗口中画出水平线。
插入图像
大部分的Web浏览器都能显示图像,图像格式一般为X Bitmap (XBM)或 GIF 格式。每幅图像都需要花费许多处理时间,使文档的显示速度减慢,所以用户尽量减少过多的或过大的图像。
在文档中插入图像,用法如下: <IMG SRC=image_URL>
其中image_URL表示文件的URL。 IMG SRC URLs 和 HREF的语法相同。如果图像文件是GIF格式,那么URL路径部分 image_URL 必须由.gif来结束。 如果文件格式是X Bitmap 图像格式则必须.xbm来结束。
如果没有特殊说明,当前段落的文字紧连在图像底部显示。
如果要求浏览器调整文字在图像上方显示,可以加上ALIGN=TOP 选项: <IMG ALIGN=top SRC=image_URL>
ALIGN=MIDDLE 使文字和图像中间对齐。
用文本代替不能在浏览器上显示的图像
有一些Web浏览器不能显示图像,它们大部分运行在VT100的终端上,不能显示图像。 ALT标注选项允许用户用特定的文字代替要显示的图像: <IMG SRC = "UpArrow.gif" ALT = "Up">
例如UpArrow.gif 是一个向上的箭头的图像。在NCSA Mosaic和其他能显示图像的浏览器的显示窗口上,用户可以看见向上的箭头的图像。而在 VT100 上的浏览器上,如lynx,用户可以看见单词“Up”。
联接外部图象,声音和动画
如果用户想通过HTML文档的连接文字或小图像去打开单独的图像文件,采用外部连接是个好方法。这样可以避免因图像文件过大而减低文档关键内容的显示速度。
连接外部图像的格式如下: <A HREF = image_URL>link anchor</A>
用同样的格式可以连接动画和声音。只是文件的扩展名不同。例如:
<A HREF = "QuickTimeMovie.mov">link anchor</A>
是指明一个连向QuickTime电影文件的连接。一些通用的文件类型的扩展名如下:
- 文件类型
- 扩展名
- 普通文本
- .txt
- HTML文档
- .html
- GIF 图像
- .gif
- TIFF 图像
- .tiff
- XBM 图像
- .xbm
- JPEG 图像
- .jpg or .jpeg
- PostScript 文件
- .ps
- AIFF 声音
- .aiff
- AU 声音格式
- .au
- QuickTime movie
- .mov
- MPEG 电影格式
- .mpeg or .mpg
用户必须有相应的阅览器才能阅览相应的文件。例如:大部分的UNIX工作站不能浏览QuickTime电影文件。
困难排除
避免交叉标注
请看以下例子: <B>这是一个<DFN>交叉标注</B>的例子。</DFN>
其中句子的``交叉标注'' 部分被<B> 和<DFN>交叉标注了。这样浏览器会显示什么效果呢?如果不用浏览器去显示的话是想象不了的,而且不同的浏览器的显示结果会不同。所以,尽量避免交叉标注。
在其他标注中包含连接标注和字符标注标注
对于HTML文档来说,在其他标注中包含连接标注中是允许的: <H1><A HREF = "Destination.html">My heading</A></H1>
但不能在连接标注中包含其他的标注: <A HREF = "Destination.html">
<H1>My heading</H1>
</A>
大部分的浏览器都能处理上述例子,但这些用法是被标准的HTML 和 HTML+所禁止的,这些用法可能不会被以后的浏览器所支持。
字符标注能改变其他标注所作的显示效果: <UL><LI><B>A bold list item</B>
<UL>
<LI><I>An italic list item</I>
</UL>
但要避免包含其他的HTML标注。例如:要在表中嵌套一个标题,使标题以 大号字体显示。 <UL><LI><H1>A large heading</H1>
<UL>
<LI><H2>Something slightly smaller</H2>
</UL>
虽然有的浏览器,如在X Window系统下的 NCSA Mosaic,可以很好地显示这一结构,但其他浏览器如何显示,则很难预料。为了让所有的浏览器能正确显示,应避免使用这些结构。
检查连接
当一个<IMG>标注指向一个不存在的图像是,屏幕会出现一个图像模型,当这样的情况发生时,请检查连接的文件是否存在,或者连接是否正确和文件的存取权限是否允许被读取。
一个较完整的例子
以下是一个较完整的HTML文档: <HEAD>
<TITLE>A Longer Example</TITLE>
</HEAD>
<BODY>
<H1>A Longer Example</H1>
This is a simple HTML document. This is the first
paragraph. <P>
This is the second paragraph, which shows special effects. This is a
word in <I>italics</I>. This is a word in <B>bold</B>.
Here is an in-lined GIF image: <IMG SRC = "myimage.gif">.
<P>
This is the third paragraph, which demonstrates links. Here is
a hypertext link from the word <A HREF = "subdir/myfile.html">foo</A>
to a document called "subdir/myfile.html". (If you
try to follow this link, you will get an error screen.) <P>
<H2>A second-level header</H2>
Here is a section of text that should display as a
fixed-width font: <P>
<PRE>
On the stiff twig up there
Hunches a wet black rook
Arranging and rearranging its feathers in the rain ...
</PRE>
This is a unordered list with two items: <P>
<UL>
<LI> cranberries
<LI> blueberries
</UL>
This is the end of my example document. <P>
<ADDRESS>Me (me@mycomputer.univ.edu)</ADDRESS>
</BODY>
按这里去看例子的显示结果。
其他参考资料
本文仅仅是作为HTML的介绍,并非复杂的指引手册。用户如果需要对HTML有 更进一步的了解,请参考以下的信息。
填写表格
另一个要说明的重要特点是表格的填写,填写表格允许用户将信息返回给Web服务器。用户可参考 填写表格简介
风格指引
以下是编写优秀的HTML文档的建议
其他介绍文档
These cover similar information as this guide:
其他参考资料
|