HTML基本概念

HTML基本概念

什么是HTML文件?

·                  HTML的英文全称是Hyper Text MarkUp Language,中文叫做超文本标记语言

·                  和一般文本的不同的是,一个HTML文件不仅包含文本内容,还包含一些Tag,中文称标记

·                  一个HTML文件的后缀名是.htm或者是.html

·                  用文本编辑器就可以编写HTML文件。

这就试写一个HTML文件吧!

打开你的Notepad,新建一个文件,然后拷贝以下代码到这个新文件,然后将这个文件存成first.html

<html>

<head>

<title>Title of page</title>

</head>

<body>

This is my first homepage. <b>This text is bold</b>

</body>

</html>

要浏览这个first.html文件,双击它。或者打开浏览器,在File菜单选择Open,然后选择这个文件就行了。

示例解释

这个文件的第一个Tag<html>,这个Tag告诉你的浏览器这是HTML文件的头。文件的最后一个Tag</html>,表示HTML文件到此结束。

<head></head>之间的内容,是Head信息。Head信息是不显示出来的,你在浏览器里看不到。但是这并不表示这些信息没有用处。比如你可以在Head信息里加上一些关键词,有助于搜索引擎能够搜索到你的网页。

<title></title>之间的内容,是这个文件的标题。你可以在浏览器最顶端的标题栏看到这个标题。

<body></body>之间的信息,是正文。

<b></b>之间的文字,用粗体表示。<b>顾名思义,就是bold的意思。

HTML文件看上去和一般文本类似,但是它比一般文本多了Tag,比如<html><b>等,通过这些Tag,可以告诉浏览器如何显示这个文件。

HTML元素(HTML Elements)

·                  HTML元素(HTML Element)用来标记文本,表示文本的内容。比如body, p, title就是HTML元素。 

·                  HTML元素用Tag表示,Tag<开始,以>结束。

·                  Tag通常是成对出现的,比如<body></body>。起始的叫做Opening Tag,结尾的就叫做Closing Tag

·                  目前HTMLTag不区分大小写的。比如,<HTML><html>其实是相同的。

HTML元素(HTML Elements)的属性

HTML元素可以拥有属性。属性可以扩展HTML元素的能力。

比如你可以使用一个bgcolor属性,使得页面的背景色成为红色,就像这样:

<body bgcolor="red">

再比如,你可以使用border这个属性,将一个表格设成一个无边框的表格。如下:

<table border="0">

 

属性通常由属性名和值成对出现,就像这样:name="value"。上面例子中的bgcolor, border就是namered0就是value。属性值一般用双引号标记起来。

属性通常是附加给HTMLOpening Tag,而不是Closing Tag


一些基础的HTML Tag

HTML里,比较基础的Tag主要用于标题,段落和分行。

学习HTML最好的方法,就是跟着示例学。为了各位学习的方便,我们准备了一个简单的HTML编辑器,你可以在左边写HTML代码,然后点击上面的按钮,查看HTML的显示结果。

试试看吧!

示例:一个非常简单的HTML文件

这个示例算是一个最简单的HTML文件,只包含了最基本的能构成一个HTML文件的Tag。通过这个例子,你可以看到浏览器是如何显示这个文件的,以此对HTML文件有个最初的认识。

示例:简单的段落

这个示例显示在HTML文件里如何分段。

正文标题

这个示例告诉你如何在HTML文件里定义正文标题。

HTML<h1><h6>这几个Tag来定义正文标题,从大到小。每个正文标题自成一段。

<h1>This is a heading</h1>

<h2>This is a heading</h2>

<h3>This is a heading</h3>

<h4>This is a heading</h4>

<h5>This is a heading</h5>

<h6>This is a heading</h6>

段落划分

HTML里用<p></p>划分段落。

<p>This is a paragraph</p>

<p>This is another paragraph</p>

换行

通过使用<br>这个Tag,可以在不新建段落的情况下换行。<br>没有Closing Tag

<p>换行是个坏习惯,正确的是使用<br>

<p>This <br> is a para<br>graph with line breaks</p>

HTML注释

HTML文件里,你可以写代码注释,解释说明你的代码,这样有助于你和他人日后能够更好地理解你的代码。

注释可以写在<!---->之间。浏览器是忽略注释的,你不会在HTML正文中看到你的注释。

<!-- This is a comment -->

一些小建议

HTML文件会自动截去多余的空格。不管你加多少空格,都被看做一个空格。 一个空行也被看做一个空格。

有些Tag能够将文本自成一段,而不需要使用<p></p>来分段。比如<h1></h1>之类的标题Tag

 

更多示例

更多段落

这个示例显示了段落的特性。

换行

这个示例告诉你如何在HTML文件里换行。

正文标题

这个示例教会你如何在HTML文件里显示正文标题。

居中的正文标题

这个示例告诉你如何将正文标题居中显示。

加条横线

这个示例演示了如何在HTML文中加条横线。

代码注释

这个示例演示如何在HTML代码中加上代码注释,这些注释只显示在HTML源代码中,而源代码最终形成的网页里是看不到这些注释的。

背景颜色

这个示例演示如何改变HTML文件的背景色。


HTML常用格式

HTML定义了一些文本格式的Tag,比如利用Tag,可以将字体变成粗体或者斜体。从下面的示例,你可以了解各种文本格式Tag如何改变HTML文本的显示。

常用文本格式Tag

Tag

Tag说明

<b>

粗体bold

<i>

斜体italic

< del >

文字当中划线表示删除

<ins>

文字下划线表示插入

<sub>

下标

<sup>

上标

<blockquote>

缩进表示引用

<pre>

保留空格和换行

<code>

表示计算机代码,等宽字体

示例

HTML常用的格式Tag

这个示例用了上述Tag,你可以对比一下HTML的显示结果。


如何看HTML的源代码

在浏览器看到的HTML网页,是浏览器解释HTML源代码后产生的结果。

要查看这个HTML的源代码,有两种方法。一是点击鼠标右键,点击View Source(查看源文件)命令;二是选择浏览器菜单View(查看)中的Source(源文件)命令。

利用View Source得到网页的源代码,你可以由此借鉴一下别人写得好的地方。不过在你对HTML知识尚少的情况下,看别人复杂的HTML源代码,只会让你头晕。建议你还是再等等,先掌握一些基础再说。


HTML特殊字符显示

HTML字符实体(Character Entities)

有些字符在HTML里有特别的含义,比如小于号<就表示HTML Tag的开始,这个小于号是不显示在我们最终看到的网页里的。那如果我们希望在网页中显示一个小于号,该怎么办呢?

这就要说到HTML字符实体(HTML Character Entities)了。

一个字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。

比如,要显示小于号,就可以写&lt;或者&#60;

用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。

注意:Entity是区分大小写的。

如何显示空格

通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用&nbsp;表示空格。

最常用的字符实体(Character Entities)

显示结果

说明

Entity Name

Entity Number

 

显示一个空格

&nbsp;

&#160;

<  

小于

&lt;

&#60;

>  

大于

&gt;

&#62;

&

&符号

&amp;

&#38;

"

双引号

&quot;

&#34;

其他常用的字符实体(Character Entities)

显示结果

说明

Entity Name

Entity Number

©

版权

&copy;

&#169;

®

注册商标

&reg;

&#174;

×

乘号

&times;

&#215;

÷

除号

&divide;

&#247;

更多字符实体(Character Entities)

更多字符实体(Character Entities)请参见ISO Latin-1字符集


HTML利用超链接打开链接文件

先看两个示例

建立一个超链接

这个示例演示了如何在HTML文件里创建超链接。

将一个图片作为一个超链接

这个示例演示了如何将一个图片作为一个超链接,即点击一个图片,可以连接到其它文件。

ahref属性

HTML<a>来表示超链接,英文叫anchor

<a>可以指向任何一个文件源:一个HTML网页,一个图片,一个影视文件等。用法如下:

<a href="url">链接的显示文字</a>

点击<a></a>当中的内容,即可打开一个链接文件,href属性则表示这个链接文件的路径。

比如链接到blabla.cn站点首页,就可以这样表示:

<a href="http://www.blabla.cn/index.html">布啦布啦blabla.cn首页</a>

target属性

使用target属性,可以在一个新窗口里打开链接文件。

<a href="http://www.blabla.cn/index.html" target=_blank>布啦布啦blabla.cn首页</a>

示例

title属性

使用 title 属性,可以让鼠标悬停在超链接上的时候,显示该超链接的文字注释。

<a href="http://www.blabla.cn" title = "布啦布啦网页教程与代码的中文站点">布啦布啦网站</a>

如果希望注释多行显示,可以使用&#10;作为换行符。

<a href="http://www.blabla.cn" title = "布啦布啦&#10;网页教程与代码的中文站点">布啦布啦网站</a>

示例

name属性

使用name属性,可以跳转到一个文件的指定部位。

使用name属性,要设置一对。一是设定name的名称,二是设定一个href指向这个name

<a href="#C1">参见第一章</a>

<a name="C1">第一章</a>

示例

name属性通常用于创建一个大文件的章节目录(table of contents)。每个章节都建立一个链接,放在文件的开始处,每个章节的开头都设置Name属性。当用户点击某个章节的链接时,这个章节的内容就显示在最上面。

如果浏览器不能找到Name指定的部分,则显示文章开头,不报错。

链接到email地址

在网站中,你经常会看到联系我们的链接,一点击这个链接,就会触发你的邮件客户端,比如Outlook Express,然后显示一个新建mail的窗口。用<a>可以实现这样的功能。

<a href = "mailto:info@sina.com">联系新浪</a>

示例


HTML相对路径(Relative Path)和绝对路径(Absolute Path)

HTML初学者会经常遇到这样一个问题,如何正确引用一个文件。比如,怎样在一个HTML网页中引用另外一个HTML网页作为超链接(hyperlink)?怎样在一个网页中插入一张图片?......(相关教程:HTML超链接HTML图片)

如果你在引用文件时(如加入超链接,或者插入图片等),使用了错误的文件路径,就会导致引用失效(无法浏览链接文件,或无法显示插入的图片等)

为了避免这些错误,正确地引用文件,我们需要学习一下HTML路径。

HTML2种路径的写法:相对路径和绝对路径。

HTML相对路径(Relative Path)

同一个目录的文件引用

如果源文件和引用文件在同一个目录里,直接写引用文件名即可。

我们现在建一个源文件info.html,在info.html里要引用index.html文件作为超链接。

假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
假设index.html路径是:c:/Inetpub/wwwroot/sites/blabla/index.html
info.html加入index.html超链接的代码应该这样写:

<a href = "index.html">index.html</a>

 

如何表示上级目录

../表示源文件所在目录的上一级目录,../../表示源文件所在目录的上上级目录,以此类推。

假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
假设index.html路径是:c:/Inetpub/wwwroot/sites/index.html
info.html加入index.html超链接的代码应该这样写:

<a href = "../index.html">index.html</a>

假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
假设index.html路径是:c:/Inetpub/wwwroot/index.html
info.html加入index.html超链接的代码应该这样写:

<a href = "../../index.html">index.html</a>

假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
假设index.html路径是:c:/Inetpub/wwwroot/sites/wowstory/index.html
info.html加入index.html超链接的代码应该这样写:

<a href = "../wowstory/index.html">index.html</a>

 

如何表示下级目录

引用下级目录的文件,直接写下级目录文件的路径即可。

假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
假设index.html路径是:c:/Inetpub/wwwroot/sites/blabla/html/index.html
info.html加入index.html超链接的代码应该这样写:

<a href = "html/index.html">index.html</a>

假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
假设index.html路径是:c:/Inetpub/wwwroot/sites/blabla/html/tutorials/index.html
info.html加入index.html超链接的代码应该这样写:

<a href = "html/tutorials/index.html">index.html</a>

HTML绝对路径(Absolute Path)

HTML绝对路径(absolute path)指带域名的文件的完整路径。

假设你注册了域名www.blabla.cn,并申请了虚拟主机,你的虚拟主机提供商会给你一个目录,比如www,这个www就是你网站的根目录。

假设你在www根目录下放了一个文件index.html,这个文件的绝对路径就是: http://www.blabla.cn/index.html

假设你在www根目录下建了一个目录叫html_tutorials,然后在该目录下放了一个文件index.html,这个文件的绝对路径就是http://www.blabla.cn/html_tutorials/index.html


如何创建HTML表格

HTML表格用<table>表示。一个表格可以分成很多行(row),用<tr>表示;每行又可以分成很多单元格(cell),用<td>表示。

这三个Tag是创建表格最常用的Tag

示例

border属性

在缺省情况下,如果不设置表格的边界,表格是不显示边界的。

示例:不显示边界的表格

要显示表格的边界,可使用border这个属性。

示例:显示边界的表格

表格的表头

<th>来表示表格的表头,表头的字是粗体显示的。

示例: 有表头的表格

空的单元格

如果表格的单元格<td></td>之间没有内容,那么这个单元格的边界是不会被显示出来的,尽管整个表格已设置边界值。要显示这个单元格的边界,可以插入一个&nbsp;空格符。

示例

更多示例

有标题的表格

这个示例演示如何用<caption>在一个表格上加上标题。

包含多列或多行的单元格

这个示例演示如何用colspanrowspan设置多列或者多行的单元格。

单元格里的内容

这个例子演示单元格<td></td>里面的内容。单元格的内容可以是文字,图片,超链接,Form,表格等。

单元格内容与单元格边界之间的距离

这个示例教你如何用cellpadding这个属性设置单元格内容与单元格边界之间的距离。

单元格之间的距离

这个示例教你如何用cellspacing这个属性设置单元格之间的距离

设置表格的背景颜色和背景图片

这个示例演示如何用bgcolor属性设置表格的背景颜色,如何用background属性为表格添加背景图片。

设置单元格的背景颜色和背景图片

这个示例演示如何用bgcolor属性设置单元格的背景颜色,如何用background属性为单元格添加背景图片。

单元格内容的对齐方式

这个示例教你如何用align属性设置单元格的对齐方式。


HTML框架(Frames)

使用框架(Frame),你可以在浏览器窗口同时显示多个网页。每个Frame里设定一个网页,每个Frame里的网页相互独立。

Frameset

<frameset></frameset>决定如何划分Frame<frameset>cols属性和rows属性。使用cols属性,表示按列分布Frame;使用rows属性,表示按行分布Frame

Frame

<frame>这个Tag设定网页。<frame>里有src属性,src值就是网页的路径和文件名。

下面的代码的目的是:将Frameset分成2列,第一列25%,表示第一列的宽度是窗口宽度的25%;第二列75%,表示第一列的宽度是窗口宽度的75%。第一列中显示a.html,第二列中显示b.html

<frameset cols="25%,75%">

   <frame src="../asdocs/html_tutorials/Frame_a.html">

   <frame src="../asdocs/html_tutorials/Frame_b.html">

</frameset>

Iframe

IframeInline Frame的意思,用<iframe></iframe>可以将Frame置于一个HTML文件内。

示例

列分Frame

这个例子显示如何在浏览器里同时显示三个网页,三个网页是按列分布的。

行分Frame

这个例子显示如何在浏览器里同时显示三个网页,三个网页是按行分布的。

混合Frameset

这个例子既用到了cols属性,又用到了rows属性,将Frame进行灵活分布。

Frameset中的noresize属性

使用Noresize属性可以确保Frame的大小。如果不使用noresize属性,你可以用鼠标移动Frame的边界,来改变Frame的大小,如果设置了noresize属性,就不能移动边界了。

Frame用于导航

这个例子演示如何建立一个用于导航的Frame。这个导航Frame包含一个HTML,这个HTML(代码如下)包含了一个网页列表。点击网页列表中的任何一项,就会在第二个Frame中显示点击中的网页。

<HTML>

<HEAD>

<TITLE> humorlist.html </TITLE>

</HEAD>

<BODY>

<p><a href = "../asdocs/html_tutorials/Frame_a.html" target="showframe">笑话一<a></p>

<p><a href = "../asdocs/html_tutorials/Frame_b.html"  target="showframe">笑话二<a></p>

<p><a href = "../asdocs/html_tutorials/Frame_c.html"  target="showframe">笑话三<a></p>

</BODY>

</HTML>

Iframe的使用

这个例子显示如何在一个HTML文件里用iframe嵌入一个网页。


HTML列表(Lists)

HTML有三种列表形式:排序列表(Ordered List);不排序列表(Unordered List);定义列表(Definition List)

排序列表(Ordered List)

排序列表中,每个列表项前标有数字,表示顺序。

排序列表由<ol>开始,每个列表项由<li>开始。

排序列表示例

不排序列表(Unordered List)

不排序列表不用数字标记每个列表项,而采用一个符号标志每个列表项,比如圆黑点。

不排序列表由<ul>开始,每个列表项由<li>开始。

不排序列表示例

定义列表

定义列表通常用于术语的定义。

定义列表由<dl>开始。术语由<dt>开始,英文意为Definition Term。术语的解释说明,由<dd>开始,<dd></dd>里的文字缩进显示。

定义列表示例

更多示例

不同类型(Type)的排序列表

这个例子显示如何用Type属性设置排序列表项前的符号。

不同类型(Type)的不排序列表

这个例子显示如何用Type属性设置不排序列表项前的符号。

嵌套的列表

列表里可以含有子列表。通常用这种嵌套的列表,反映层次较多的内容。


HTML表单(Forms)

HTML表单(Form)HTML的一个重要部分,主要用于采集和提交用户输入的信息。

举个简单的例子,一个让用户输入姓名的HTML表单(Form)。示例代码如下:

<form action="http://www.blabla.cn/asdocs/html_tutorials/yourname.asp" method="get">

请输入你的姓名:

<input type="text" name="yourname">

<input type="submit" value="提交">

</form>

演示示例

学习HTML表单(Form)最关键要掌握的有三个要点:

·                  表单控件(Form Controls)

·                  Action

·                  Method

先说表单控件(Form Controls),通过HTML表单的各种控件,用户可以输入文字信息,或者从选项中选择,以及做提交的操作。比如上面的例句里,input type= "text"就是一个表单控件,表示一个单行输入框。

用户填入表单的信息总是需要程序来进行处理,表单里的action就指明了处理表单信息的文件。比如上面例句里的http://www.blabla.cn/asdocs/html_tutorials/yourname.asp

至于method,表示了发送表单信息的方式。method有两个值:getpostget的方式是将表单控件的name/value信息经过编码之后,通过URL发送(你可以在地址栏里看到)。而post则将表单的内容通过http发送,你在地址栏看不到表单的提交信息。那什么时候用get,什么时候用post呢?一般是这样来判断的,如果只是为取得和显示数据,用get;一旦涉及数据的保存和更新,那么建议用post

HTML表单(Form)常用控件(Controls)

HTML表单(Form)常用控件有:

表单控件(Form Contros)

说明

input type="text"

单行文本输入框

input type="submit"

将表单(Form)里的信息提交给表单里action所指向的文件

input type="checkbox"

复选框

input type="radio"

单选框

select

下拉框

textArea

多行文本输入框

input type="password"

密码输入框(输入的文字用*表示)

表单控件(Form Control):单行文本输入框(input type="text")

单行文本输入框允许用户输入一些简短的单行信息,比如用户姓名。例句如下:

<input type="text" name="yourname">

演示示例

表单控件(Form Control):复选框(input type="checkbox")

复选框允许用户在一组选项里,选择多个。示例代码:

<input type="checkbox" name="fruit" value ="apple">苹果<br>

<input type="checkbox" name="fruit" value ="orange">桔子<br>

<input type="checkbox" name="fruit" value ="mango">芒果<br>

演示示例

checked表示缺省已选的选项。

<input type="checkbox" name="fruit" value ="orange" checked>桔子<br>

演示示例

表单控件(Form Control):单选框(input type="radio")

使用单选框,让用户在一组选项里只能选择一个。示例代码:

<input type="radio" name="fruit" value = "Apple">苹果<br>

<input type="radio" name="fruit" value = "Orange">桔子<br>

<input type="radio" name="fruit" value = "Mango">芒果<br>

演示示例

checked表示缺省已选的选项。

<input type="radio" name="fruit" value = "Orange" checked>桔子<br>

演示示例

表单控件(Form Control):下拉框(select)

下拉框(Select)既可以用做单选,也可以用做复选。单选例句如下:

<select name="fruit" >

  <option value="apple">苹果

  <option value="orange">桔子

  <option value="mango">芒果

</select>

演示示例

如果要变成复选,加muiltiple即可。用户用Ctrl来实现多选。例句:

<select name="fruit" multiple>

演示示例

用户还可以用size属性来改变下拉框(Select)的大小。

演示示例

表单控件(Form Control):多行输入框(textarea)

多行输入框(textarea)主要用于输入较长的文本信息。例句如下:

<textarea name="yoursuggest" cols ="50" rows = "3"></textarea>

其中cols表示textarea的宽度,rows表示textarea的高度。

演示示例

表单控件(Form Control):密码输入框(input type="password")

密码输入框(input type="password")主要用于一些保密信息的输入,比如密码。因为用户输入的时候,显示的不是输入的内容,而是黑点符号。。例句如下:

<input type="password" name="yourpw">

演示示例

表单控件(Form Control):提交(input type="submit")

通过提交(input type=submit)可以将表单(Form)里的信息提交给表单里action所指向的文件。例句如下:

<input type="submit" value="提交">

演示示例

表单控件(Form Control):图片提交(input type="image")

input type=image 相当于 input type=submit,不同的是,input type=image 以一个图片作为表单的提交按钮,其中 src 属性表示图片的路径。

<input type="image" src ="http://www.blabla.cn/images/icons/go.gif"

alt = "提交" NAME="imgsubmit">

演示示例

 

如何编写 ASP 网页获取 HTML 表单的提交信息,请参见教程:ASPHTML表单


HTML图片(Images)

<img> 这个 Tag 可以在HTML里面插入图片。最基本的语法如下:

<img src="url">

url表示图片的路径和文件名。比如 url 可以是 http://www.blabla.cn/images/logo/blabla_logo01.gif,也可以是个相对路径 "../images/logo/blabla_logo01.gif"

示例

图片alt属性

<img>中有一个alt属性,英文叫alternate text。例句如下:

<img src = "../images/html_tutorials/smile.jpg" alt="smile face">

假使浏览器没有载入图片的功能,浏览器就会转而显示Alt属性的值。

其实,现在大多数浏览器都支持图片载入。在此介绍Alt属性,是因为它的另外一个重要功能。目前搜索引擎抓取工具无法识别图像中所含的文字,所以用ALT属性写上图片的说明,便于搜索引擎抓取你网页的内容。

示例

图片align属性

align属性,可以改变图片的垂直(居上、居中、居下)对齐方式和水平对齐方式(居左、居中、居右)

示例

图片的大小

在缺省状况下,图片显示原有的大小。你可以用heightwidth属性改变图片的大小。不过图片的大小一旦被改变,图片会相应放大或缩小,显示出来的结果可能会很难看。

示例

建议

图片相对文字,所占的字节数较多,比如一个全屏的图片,即使经过压缩,也要占去大约50k字节,这相当于25000字的文本。因此浏览器载入图片比较费时,建议一个HTML文件里不要包含过多的图片,否则会影响你的网页显示速度。

更多示例

背景图片

这个示例演示如何将一个图片作为HTML网页的背景图片。

将一个图片作为一个超链接

这个示例演示了如何将一个图片作为一个超链接,即点击一个图片,可以连接到其它文件。


HTML字体(Fonts)

HTML里,可以用font这个元素及其属性来设定字体的大小,颜色和字体风格。

字体大小

用字体大小属性(size)来设定字体的大小。示例代码如下:

<p><font size="2">这一段的字体大小的值是2</font></p>

演示示例

字体风格

face属性来设定字体风格。示例代码如下:

<p><font fac="arial">这一段的字体风格是arial</font></p>

演示示例

字体颜色

用颜色属性(color)来设定字体颜色。

字体颜色代码请参见HTML颜色参考(HTML Color Reference)

<p><font color="#FF0000">这一段的字体颜色是红色</font></p>

演示示例

注意

HTML4的标准中,已经不建议使用font及其属性来设定字体,而是建议用CSS来设定字体的大小,颜色,字体风格等。有关CSS中和文字的相关属性,请参见我们教程中的:

CSS常用文本属性

CSS常用字体属性


HTML背景颜色和背景图片

HTML <body> 有两个关于背景的属性,一个是 bgcolor,是设置背景颜色的;另一个是 background,是设置背景图片的。

bgcolor属性

bgcolor属性用来设置HTML网页的背景颜色。

示例

background属性

background属性用来设置HTML网页的背景图片。background属性值就是背景图片的路径和文件名,如:

<body background="../images/html_tutorials/blabla_logo.gif">

<body background="http://www.blabla.cn/gifs/blabla_logo01.gif">

如果背景图片小于网页显示窗口,那么这个背景图片会自动重复。

示例

建议

bgcolorbackground这两个<body>的属性,在新的HTML标准(HTML 4 and XHTML)里已不建议使用,而建议用CSS设置背景颜色和图片。

为保证浏览器载入网页的速度,建议尽量不要使用字节过大的图片作为背景图片。


HTML头部信息(Head)

HTML头部信息(head)里包含关于所在网页的信息。头部信息(head)里的内容,主要是被浏览器所用,不会显示在网页的正文内容里。

另外,搜索引擎如google,yahoo,baidu等也会查找你网页中的head信息。为了让搜索引擎能够收录你的网页,你也要填写适当的head信息。(网站被搜索引擎收录,还有其它的方法,比如被其它网站链接,这里不赘述,请浏览搜索引擎网站。)

下面说几个常用的head信息里的html元素,如标题(title),链接(link),样式(style)以及关于信息(meta)

标题(title)

标题(title)是最常用的head信息。它不显示在HTML网页正文里,显示在浏览器窗口的标题栏里。见图:

头部信息(head)中的标题(title)

示例代码如下:

<head><title>HTML中文教程头部信息(head)之标题(title)说明</title></head>

链接(link)

用链接(link)可以建立和外部文件的链接。常用的是对CSS外部样式表(external style sheet)的链接。示例代码如下:

<link rel="stylesheet" href="mainstyles.css" type="text/css">

有关CSS外部样式表和示例,详见CSS简介

样式(style)

用样式(style)可以设值网页的内部样式表(internal style sheet)。示例代码如下:

<head>

<style>

   body {background-color:white; color:black;}

   h1 {font: 18pt arial bold;}

</style>

</head>

有关CSS内部样式表和示例,详见CSS简介

 关于网页信息(meta)

在计算机语言里,你经常可以看到一个前缀 -- metameta就是关于”(about)的意思。

meta解释起来比较拗口,比如metadata,意为描述datadata,英文即data about data。还有一个词叫metalanguage,表示一种描述其它语言的语言。再举一个例子,metafile,表示描述其它文件的文件。

HTML里,meta标记(meta tags)表示用来描述网页的有关信息。示例代码如下:

<meta name="description" content="HTML中文教程之头部信息">

<meta name="keywords" content="HTML,tutorials,source codes">

<meta name="author" content="布啦布啦">

 

利用meta中的Refresh你还可以实现自动跳转页面的功能。示例代码:

<meta http-equiv="Refresh" content="5;url=http://www.blabla.cn/html_tutorials/index.html">

演示示例


HTML元素参考手册 HTML Elements Reference

a

表示超链接的起始或目的位置。

acronym

表示取首字母的缩写词。

address

表示特定信息,如地址、签名、作者、文档信息。

applet

在页面上放置可执行内容。

area

定义一个客户端图像映射中一个超级链接区域的形状、坐标和关联 URL

b

指定文本应以粗体显示。

base

指定一个显式 URL 用于解析对于外部源的链接和引用,如图像和样式表。

basefont

设置显示文本时作为默认字体的基础字体值。

bdo

允许作者为选定文本片断禁用双向法则。

bgsound

使页面能够带有背景声音或配音。

big

指定所含文本要以比当前字体稍大的字体显示。

blockquote

表示文本中的一段引用语。

body

指明文档主体的开始和结束。

br

插入一个换行符。

button

指定一个容器,其中所含的 HTML 会被显示为一个按钮。

caption

表格的标题,对表格的简单描述。

center

将指定文本和图像居中显示。

cite

用斜体显示标明引文。

code

表示代码范例。

col

说明基于列的表格缺省属性。

colgroup

说明表格中一列或一组列的缺省属性。

comment

表示不可见的注释。防止所包含的文本或者HTML源代码被浏览器解析和显示。

dd

在定义列表中表示定义。定义通常在定义列表中缩进显示。

del

表示文本已经从文档中删除。

dfn

表示术语的定义。

dir

表示目录列表。

div

表示一块可显示 HTML 的区域

dl

表示定义列表。

dt

在定义列表中表示定义术语。

em

强调文本,通常以斜体显示。

embed

允许嵌入任何类型的文档。

fieldset

在字段集包含的文本和其它元素外面画一个方框。

font

用于说明所包含文本的新字体、大小和颜色。

form

说明所包含的控件是某个表单的组成部分。

frame

FRAMESET 元素内表示单个框架。

frameset

表示一个框架集,用于组织多个框架和嵌套框架集。

head

提供了关于文档的无序信息集合。

hn

以标题样式显示文本。

hr

画一条横线。

html

表明文档包含 HTML 元素。

i

指定文本应以斜体显示。

iframe

创建内嵌漂浮框架。

img

在文档中嵌入图像或视频片断。

input

创建各种表单输入控件。

input type=button

创建按钮控件。

input type=checkbox

创建复选框控件。

input type=file

创建文件上载控件,该控件带有一个文本框和一个浏览按钮。

input type=hidden

传输关于客户/服务器交互的状态信息。

input type=image

创建一个图像控件,该控件被点击后将导致表单立即被提交。

input type=password

创建与 INPUT type=text 控件类似的单行文本输入控件,不过并不显示用户输入的内容。

input type=radio

创建单选钮控件。

input type=reset

创建一个按钮,点击该按钮后,将重置表单控件回其初始值。

input type=submit

创建一个按钮,点击该按钮后,即提交表单。

input type=text

创建一个单行的文本输入控件。

ins

表示插入到文档中的文本。

isindex

使浏览器显示一个对话框,提示用户输入单行文本。

kbd

以定宽字体显示文本。

label

为页面上的其它元素指定标签。

legend

fieldSet 对象绘制的方框内插入一个标题。

li

表示列表中的一个项目。

link

允许当前文档和外部文档建立连接。

listing

以固定宽度的字体显示文本。

map

包含客户端图像映射的坐标数据。

marqueee

创建一个滚动的文本字幕。

menu

创建一个无序列表。

meta

向服务器和客户端传达关于文档的隐藏信息。

nobr

不换行显示文本。

noframes

包含对于那些不支持 FRAMESET 元素的浏览器使用的 HTML

noscript

指定在不支持脚本的浏览器中显示的 HTML

object

HTML 页面中插入对象。

ol

编制排序列表。

optgroup

允许作者对 select 元素中的选项进行逻辑分组。

option

表示 SELECT 元素中的一个选项。

p

表示一段。

param

设置 APPLETEMBED OBJECT 元素的属性初始值。

pre

以固定宽度字体显示文本。

q

分离文本中的引语。

s

带删除线方式显示文本。

samp

表示代码范例。

script

指定由脚本引擎解释的页面中的脚本。

select

表示一个列表框或者一个下拉框。

small

指定内含文本要以比当前字体稍小的字体显示。

span

指定内嵌文本容器。

strike

带删除线显示文本。

strong

以粗体显示文本。

style

指定页面的样式表。

sub

说明内含文本要以下标的形式显示,比当前字体稍小。

sup

说明内含文本要以上标的形式显示,比当前字体稍小。

table

说明所含内容组织成含有行和列的表格形式。

tbody

指明哪些行作为表格的主体。

td

指定表格中的单元格。

textarea

多行文本输入控件。

tfoot

指明哪些行作为表尾。

th

指定标题列。标题列将在单元格中居中并以粗体显示。

thead

指定哪些行作为表头。

title

文档的标题。

tr

指定表格中的一行。

tt

以固定宽度字体显示文本。

u

带下划线显示文本。

ul

表示不排序的项目列表。

var

定义程序变量,通常以斜体显示。

wbr

向一块 NOBR 文本中插入软换行。


HTML颜色参考

HTML里,颜色有两种表示方式。一种是用颜色名称表示,比如blue表示蓝色。另外一种是用16进制的数值表示RGB的颜色值。RGBRedGreenBlue意思,RGB每个原色的最小值是0,最大值是255,如果换算成16进制表示,就是(#00)(#FF)。比如白色的RGB(255,255,255),就用#FFFFFF表示;还有黑色的RGB(0,0,0),就用#000000表示。

注:在W3C制定的HTML 4.0标准中,只有16种颜色可以用颜色名称表示(aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow),其它的颜色都要用16进制RGB颜色值表示。

当然,现在的浏览器支持更多的颜色名称。不过为保险起见,建议你还是采用16进制RGB颜色值来表示颜色。并且在值前加上#这个符号。

为了方便大家找到合适的颜色,我们在这里列了一些颜色说明,以供大家参考,不妨作为一种速查工具。

Web安全颜色

以前,很多电脑显示器最多支持256色,因此出现了216Web安全颜色,以保证网页的颜色能够正确显示。

那为什么不是256Web安全颜色呢?因为MicrosoftMac操作系统有40种不同的系统保留颜色。

以下就是216Web安全颜色:

#000000

#000033

#000066

#000099

#0000CC

#0000FF

#003300

#003333

#003366

#003399

#0033CC

#0033FF

#006600

#006633

#006666

#006699

#0066CC

#0066FF

#009900

#009933

#009966

#009999

#0099CC

#0099FF

#00CC00

#00CC33

#00CC66

#00CC99

#00CCCC

#00CCFF

#00FF00

#00FF33

#00FF66

#00FF99

#00FFCC

#00FFFF

#330000

#330033

#330066

#330099

#3300CC

#3300FF

#333300

#333333

#333366

#333399

#3333CC

#3333FF

#336600

#336633

#336666

#336699

#3366CC

#3366FF

#339900

#339933

#339966

#339999

#3399CC

#3399FF

#33CC00

#33CC33

#33CC66

#33CC99

#33CCCC

#33CCFF

#33FF00

#33FF33

#33FF66

#33FF99

#33FFCC

#33FFFF

#660000

#660033

#660066

#660099

#6600CC

#6600FF

#663300

#663333

#663366

#663399

#6633CC

#6633FF

#666600

#666633

#666666

#666699

#6666CC

#6666FF

#669900

#669933

#669966

#669999

#6699CC

#6699FF

#66CC00

#66CC33

#66CC66

#66CC99

#66CCCC

#66CCFF

#66FF00

#66FF33

#66FF66

#66FF99

#66FFCC

#66FFFF

#990000

#990033

#990066

#990099

#9900CC

#9900FF

#993300

#993333

#993366

#993399

#9933CC

#9933FF

#996600

#996633

#996666

#996699

#9966CC

#9966FF

#999900

#999933

#999966

#999999

#9999CC

#9999FF

#99CC00

#99CC33

#99CC66

#99CC99

#99CCCC

#99CCFF

#99FF00

#99FF33

#99FF66

#99FF99

#99FFCC

#99FFFF

#CC0000

#CC0033

#CC0066

#CC0099

#CC00CC

#CC00FF

#CC3300

#CC3333

#CC3366

#CC3399

#CC33CC

#CC33FF

#CC6600

#CC6633

#CC6666

#CC6699

#CC66CC

#CC66FF

#CC9900

#CC9933

#CC9966

#CC9999

#CC99CC

#CC99FF

#CCCC00

#CCCC33

#CCCC66

#CCCC99

#CCCCCC

#CCCCFF

#CCFF00

#CCFF33

#CCFF66

#CCFF99

#CCFFCC

#CCFFFF

#FF0000

#FF0033

#FF0066

#FF0099

#FF00CC

#FF00FF

#FF3300

#FF3333

#FF3366

#FF3399

#FF33CC

#FF33FF

#FF6600

#FF6633

#FF6666

#FF6699

#FF66CC

#FF66FF

#FF9900

#FF9933

#FF9966

#FF9999

#FF99CC

#FF99FF

#FFCC00

#FFCC33

#FFCC66

#FFCC99

#FFCCCC

#FFCCFF

#FFFF00

#FFFF33

#FFFF66

#FFFF99

#FFFFCC

#FFFFFF

微软支持的颜色名称

下面是微软IE4.0以上都支持的颜色名称:

aliceblue
(#F 0F 8FF)

antiquewhite
(#FAEBD7)

aqua
(#00FFFF)

aquamarine
(#7FFFD4)

azure
(#F0FFFF)

beige
(#F 5F 5DC)

bisque
(#FFE 4C 4)

black
(#000000)

blanchedalmond
(#FFEBCD)

blue
(#0000FF)

blueviolet
(# 8A 2BE2)

brown
(#A 52A 2A )

burlywood
(#DEB887)

cadetblue
(# 5F 9EA0)

chartreuse
(#7FFF00)

chocolate
(#D2691E)

coral
(#FF 7F 50)

cornflowerblue
(#6495ED)

cornsilk
(#FFF8DC)

crimson
(#DC 143C )

cyan
(#00FFFF)

darkblue
(#00008B)

darkcyan
(#008B8B)

darkgoldenrod
(#B8860B)

darkgray
(#A 9A 9A 9)

darkgreen
(#006400)

darkkhaki
(#BDB76B)

darkmagenta
(#8B008B)

darkolivegreen
(#556B 2F )

darkorange
(#FF 8C 00)

darkorchid
(#9932CC)

darkred
(#8B0000)

darksalmon
(#E 9967A )

darkseagreen
(#8FBC8B)

darkslateblue
(#483D8B)

darkslategray
(# 2F 4F 4F )

darkturquoise
(#00CED1)

darkviolet
(#9400D3)

deeppink
(#FF1493)

deepskyblue
(#00BFFF)

dimgray
(#696969)

dodgerblue
(#1E90FF)

firebrick
(#B22222)

floralwhite
(#FFFAF0)

forestgreen
(#228B22)

fuchsia
(#FF00FF)

gainsboro
(#DCDCDC)

ghostwhite
(#F 8F 8FF)

gold
(#FFD700)

goldenrod
(#DAA520)

gray
(#808080)

green
(#008000)

greenyellow
(#ADFF 2F )

honeydew
(#F0FFF0)

hotpink
(#FF69B4)

indianred
(#CD 5C 5C )

indigo
(#4B0082)

ivory
(#FFFFF0)

khaki
(#F0E 68C )

lavender
(#E6E6FA)

lavenderblush
(#FFF 0F 5)

lawngreen
(#7CFC00)

lemonchiffon
(#FFFACD)

lightblue
(#ADD8E6)

lightcoral
(#F08080)

lightcyan
(#E0FFFF)

lightgoldenrodyellow
(#FAFAD2)

lightgreen
(#90EE90)

lightgrey
(#D3D3D3)

lightpink
(#FFB 6C 1)

lightsalmon
(#FFA 07A )

lightseagreen
(#20B2AA)

lightskyblue
(#87CEFA)

lightslategray
(#778899)

lightsteelblue
(#B 0C 4DE)

lightyellow
(#FFFFE0)

lime
(#00FF00)

limegreen
(#32CD32)

linen
(#FAF0E6)

magenta
(#FF00FF)

maroon
(#800000)

mediumaquamarine
(#66CDAA)

mediumblue
(#0000CD)

mediumorchid
(#BA55D3)

mediumpurple
(#9370DB)

mediumseagreen
(#3CB371)

mediumslateblue
(#7B68EE)

mediumspringgreen
(#00FA 9A )

mediumturquoise
(#48D1CC)

mediumvioletred
(#C71585)

midnightblue
(#191970)

mintcream
(#F5FFFA)

mistyrose
(#FFE4E1)

moccasin
(#FFE4B5)

navajowhite
(#FFDEAD)

navy
(#000080)

oldlace
(#FDF5E6)

olive
(#808000)

olivedrab
(#6B8E23)

orange
(#FFA500)

orangered
(#FF4500)

orchid
(#DA70D6)

palegoldenrod
(#EEE8AA)

palegreen
(#98FB98)

paleturquoise
(#AFEEEE)

palevioletred
(#DB7093)

papayawhip
(#FFEFD5)

peachpuff
(#FFDAB9)

peru
(#CD 853F )

pink
(#FFC0CB)

plum
(#DDA0DD)

powderblue
(#B0E0E6)

purple
(#800080)

red
(#FF0000)

rosybrown
(#BC 8F 8F )

royalblue
(#4169E1)

saddlebrown
(#8B4513)

salmon
(#FA8072)

sandybrown
(#F 4A 460)

seagreen
(#2E8B57)

seashell
(#FFF5EE)

sienna
(#A0522D)

silver
(#C 0C 0C 0)

skyblue
(#87CEEB)

slateblue
(# 6A 5ACD)

slategray
(#708090)

snow
(#FFFAFA)

springgreen
(#00FF 7F )

steelblue
(#4682B4)

tan
(#D2B 48C )

teal
(#008080)

thistle
(#D8BFD8)

tomato
(#FF6347)

turquoise
(#40E0D0)

violet
(#EE82EE)

wheat
(#F5DEB3)

white
(#FFFFFF)

whitesmoke
(#F 5F 5F 5)

yellow
(#FFFF00)

yellowgreen
(#9ACD32)

 


IE6/IE7FirefoxDiv处理的差异

基本HTML代码

<!DOCTYPE html PUBLIC "-//W 3C //DTD XHTML 1.0 Transitional//EN"

    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head>

<title>Div Float Sample</title>

<style type="text/css">

div { margin:3px; }

.d1 { width:250px; min-height:20px; border:1px solid #00cc00; }

.d2 { width:130px; min-height:40px; border:1px solid #0000cc; }

.d3 { width:100px; min-height:40px; border:1px solid #cc0000; }

</style>

</head>

<body>

<div class="d1">

    <div class="d2">&nbsp;</div>

    <div class="d3">&nbsp;</div>

</div>

</body>

</html>

以上代码显示的结果如下,很正常,结果相同。

下面会在这个基础上进行修改,修改的内容都在style中,其他代码就不再重复写了。

请注意,这里的Style中用到了min-height,这个和height是不同的,min-height指定了对象的一个最小高度,当对象的子内容高度超过这个最小高度是,这个对象会自动撑大。这是一个非常牛的style,可惜的是,在这个stylefloat这个同样牛的style一起使用的时候,就会出现各种问题。

内部一个Div修改成为float:left

.d1 { width:250px; min-height:20px; border:1px solid #00cc00; }

.d2 { width:130px; min-height:40px; border:1px solid #0000cc; float: left; }

.d3 { width:100px; min-height:40px; border:1px solid #cc0000; }

显示结果如下。

这个结果中,Firefox有点离谱了,两个框叠在一起也就罢了,为什么那个红框会变大捏?而且变的大小也很诡异,不知道是按照什么公式计算出来的。IE在这里的显示应当是附和标准的。

内部两个Div都修改成为float:left

.d1 { width:250px; min-height:20px; border:1px solid #00cc00; }

.d2 { width:130px; min-height:40px; border:1px solid #0000cc; float: left; }

.d3 { width:100px; min-height:40px; border:1px solid #cc0000; float: left; }

显示结果如下。

在这种情况下,Firefox的结果尚能解释,可能是float把外层的Div也作为内层float影响的范围,这样内层的就不会将外层的Div撑大了。IE在这里出现了Margin失效的情况,可以解释为内层第二个float造成了影响。

干脆把外层的Div也修改成为float:left

.d1 { width:250px; min-height:20px; border:1px solid #00cc00; float: left; }

.d2 { width:130px; min-height:40px; border:1px solid #0000cc; float: left; }

.d3 { width:100px; min-height:40px; border:1px solid #cc0000; float: left; }

显示结果如下,

这种情况下,Firefox正常了,而IE延续了前面的不正常情况。

外层是float:left,内层最后一个不再float:left

.d1 { width:250px; min-height:20px; border:1px solid #00cc00; float: left; }

.d2 { width:130px; min-height:40px; border:1px solid #0000cc; float: left; }

.d3 { width:100px; min-height:40px; border:1px solid #cc0000; }

显示结果如下,

这和前面第一种加float:left的情况相同。

结论

再重申一次,本文讨论的是一个比较高级的话题。如果在style中用height而不是min-height来设定高度,是不会出现以上这些问题的。不过,不用min-height就失去了div自动撑大这一个很有必要的特性。

min-heightfloat:left的情况下,没有一种完美的写法让FirefoxIE结果相同。不过仍然可以发现绕开的方法。

进一步试验可以发现,margin遭到的影响在padding上比较好,所以最好是paddingmargin都不用,或者只用padding

两者相同的代码如下,

div { padding:3px; }

.d1 { width:250px; min-height:20px; border:1px solid #00cc00; float: left; }

.d2 { width:130px; min-height:40px; border:1px solid #0000cc; float: left; }

.d3 { width:100px; min-height:40px; border:1px solid #cc0000; float: left; }

显示结果如下,

呵呵,总算是一样了,虽然是凑合着一样了。幸好一样了,否则只好用table了。

当然所有这些情况也许是有合理解释的,说不定增加某一个style的设置,这些问题都迎刃而解了,不过目前我还没有找到这个设置。

关于Doctype

以上代码在下面这些Doctype下试验过,结果相同。

<!DOCTYPE html PUBLIC "-//W 3C //DTD HTML 4.01//EN"

   "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE html PUBLIC "-//W 3C //DTD HTML 4.01 Transitional//EN"

   "http://www.w3.org/TR/html4/loose.dtd">

<!DOCTYPE html PUBLIC "-//W 3C //DTD XHTML 1.0 Strict//EN"

   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!DOCTYPE html PUBLIC "-//W 3C //DTD XHTML 1.0 Transitional//EN"

   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

 

 
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值