关于奇矩互动奇矩互动招贤纳士奇矩互动优质虚拟主机Discuz!商业用户享有本站VIP服务LAMP环境配置手册(CentOS5.1)
 15 12
发新话题
打印

PHP学习专题--第2期:网站基础建设篇HTML

本主题由 Edwin 于 2008-4-3 09:42 加入精华

PHP学习专题--第2期:网站基础建设篇HTML

HTML基本概念


什么是HTML文件?

·                  HTML的英文全称是Hypertext Marked 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。

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

HTML元素(HTML Elements)的属性

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

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

<body bgcolor="red">

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

<table border="0">



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

属性通常是附加给HTML的Opening Tag,而不是Closing Tag。

TOP

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

      学习HTML最好的方法,就是跟着示例学。为了各位学习的方便,我们准备了一个简单的HTML编辑器,你可以在左边写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。

TOP

HTML常用格式

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

常用文本格式Tag

Tag

Tag说明

<b>

粗体bold

<i>

斜体italic

<del>

文字当中划线表示删除

<ins>

文字下划线表示插入

<sub>

下标

<sup>

上标

<blockquote>

缩进表示引用

<pre>

保留空格和换行

<code>

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


如何看HTML的源代码

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

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

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

TOP

HTML特殊字符显示

HTML字符实体(Character Entities)

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

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

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

比如,要显示小于号,就可以写<或者<。

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

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

如何显示空格

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

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

显示结果


说明


Entity Name


Entity Number



显示一个空格




<


小于


<


<


>


大于


>


>


&


&符号


&


&


"


双引号


"


"






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

显示结果


说明


Entity Name


Entity Number


©


版权


©


©


®


注册商标


®


®


×


乘号


×


×


÷


除号


÷


÷




[ 本帖最后由 aming 于 2008-4-2 15:53 编辑 ]

TOP

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

a和href属性

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

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

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

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

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

<a href="http://www.admin5.com/html">站长网 站长学院blabla.cn首页</a>

target属性

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

<a href="http://www.admin5.com/html" target=_blank>站长网 站长学院blabla.cn首页</a>

title属性

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

<a href="http://www.admin5.com/html" title = "站长网 站长学院网页教程与代码的中文站点">站长网 站长学院网站</a>

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

<a href="http://www.admin5.com/html" 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>

TOP

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

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

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

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

HTML有2种路径的写法:相对路径和绝对路径。

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.admin5.com/html,并申请了虚拟 主 机,你的虚拟 主 机提供商会给你一个目录,比如www,这个www就是你网站的根目录。

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

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

TOP

如何创建HTML表格

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

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

      <p>

          表格所用到的Tag:整个表格开始要用table;每一行开始要用tr;每一单元格开始要用td。

      </p>

<h4>只有一行(Row)一列(Column)的表格</h4>

<table border="1">

      <tr>

                <td>100</td>

      </tr>

</table>

<h4>一行三列的表格</h4>

<table border="1">

       <tr>

                <td>100</td>

                <td>200</td>

                <td>300</td>

       </tr>

</table>

<h4>两行三列的表格</h4>

<table border="1">

        <tr>

               <td>100</td>

               <td>200</td>

               <td>300</td>

        </tr>

        <tr>

               <td>400</td>

               <td>500</td>

               <td>600</td>

        </tr>

</table>

border属性

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

不显示边界的表格

<h4>缺省情况下,表格没有边界。</h4>

<table>

       <tr>

               <td>100</td>

               <td>200</td>

               <td>300</td>

       </tr>

        <tr>

                <td>400</td>

                <td>500</td>

                <td>600</td>

        </tr>

</table>

<h4>表格Border设为0,也不显示边界:</h4>

<table border="0">

          <tr>

                  <td>100</td>

                  <td>200</td>

                  <td>300</td>

           </tr>

           <tr>

                   <td>400</td>

                   <td>500</td>

                   <td>600</td>

          </tr>

</table>

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

显示边界的表格

<h4>表格的边界值设为1:</h4>

<table border="1">

            <tr>

                      <td>第一</td>

                      <td>行</td>

            </tr>

             <tr>

                      <td>第二</td>

                      <td>行</td>

            </tr>

</table>

<h4>表格的边界值设为8,边界更粗:</h4>

<table border="8">

             <tr>

                       <td>第一</td>

                       <td>行</td>

            </tr>

             <tr>

                       <td>第二</td>

                       <td>行</td>

             </tr>

</table>

<h4>表格的边界值设为15,边界更粗:</h4>

<table border="15">

             <tr>

                       <td>第一</td>

                       <td>行</td>

             </tr>

             <tr>

                       <td>第二</td>

                       <td>行</td>

             </tr>

</table>

表格的表头

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

有表头的表格

<h4>有表头的表格:</h4>

<table border="1">

             <tr>

                        <th>姓名</th>

                        <th>电话</th>

                        <th>传真</th>

              </tr>

               <tr>

                         <td>Bill Gates</td>

                         <td>555 77 854</td>

                         <td>555 77 855</td>

                </tr>

</table>

<h4>竖直方向的表头:</h4>

<table border="1">

               <tr>

                        <th>姓名</th>

                       <td>Bill Gates</td>

               </tr>

               <tr>

                        <th>电话</th>

TOP

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

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

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>

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

TOP

HTML列表(Lists)

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

排序列表(Ordered List)

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

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

    <h4>一个排序列表(Ordered List):</h4>

    <ol>

    <li>站长网 站长学院之网页课程</li>

    <li>站长网 站长学院之网页代码</li>

    <li>站长网 站长学院之魔兽世界</li>

    </ol>

不排序列表(Unordered List)

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

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

    <h4>不排序列表(Unordered List):</h4>

    <ul>

        <li>站长网 站长学院之网页课程</li>

        <li>站长网 站长学院之网页代码</li>

        <li>站长网 站长学院之魔兽世界</li>

    </ul>

定义列表

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

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

<h4>定义列表(Definition List):</h4>

<dl>

    <dt>野生动物</dt>

    <dd>所有非经人工饲养而生活于自然环境下的各种动物。</dd>

    <dt>宠物</dt>

    <dd>指猫、狗以及其它供玩赏、陪伴、领养、饲养的动物,又称作同伴动物。</dd>

</dl>

TOP

HTML表单(Forms)

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

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

<form action="http://www.admin5.com/html/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.admin5.com/html/asdocs/html_tutorials/yourname.asp

     至于method,表示了发送表单信息的方式。method有两个值:get和post。get的方式是将表单控件的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的高度。

TOP

 15 12
发新话题