﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-My C++-随笔分类-Web</title><link>http://www.cppblog.com/finehai/category/11235.html</link><description>当时只道是寻常~</description><language>zh-cn</language><lastBuildDate>Sun, 19 Jul 2009 02:46:32 GMT</lastBuildDate><pubDate>Sun, 19 Jul 2009 02:46:32 GMT</pubDate><ttl>60</ttl><item><title>HTML语法</title><link>http://www.cppblog.com/finehai/archive/2009/07/18/90451.html</link><dc:creator>Bluesea</dc:creator><author>Bluesea</author><pubDate>Sat, 18 Jul 2009 11:52:00 GMT</pubDate><guid>http://www.cppblog.com/finehai/archive/2009/07/18/90451.html</guid><wfw:comment>http://www.cppblog.com/finehai/comments/90451.html</wfw:comment><comments>http://www.cppblog.com/finehai/archive/2009/07/18/90451.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/finehai/comments/commentRss/90451.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/finehai/services/trackbacks/90451.html</trackback:ping><description><![CDATA[<p>1、详解HTML<br>标签和属性<br>在HTML中，通常标签都是由开始标签和结束标签组成的，开始标签用&#8220;&lt;标签名&gt;&#8221;表示，结束标签用&#8220;&lt;/标签名&gt;&#8221;表示。<br>元素指的是包含标签在内的整体，除去标签的部分叫做内容。<br>属性要在开始标签中指定，用来表示该标签的性质和特性。通常都是以&#8220;属性名=&#8221;值&#8221;&#8221;的形式来表示，用空格隔开后，还可以指定多个属性。指定多个属性时不用区分顺序<br>例子：<br>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"<br>"<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;meta. http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br>&lt;title&gt;Send测试&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;OBJECT ID="RTPSend" CLASSID="CLSID:49E277D7-AE95-4052-8945-3F2B950A6EB6"&gt;&lt;/OBJECT&gt;<br>&lt;body&gt;<br>&lt;input type='button' nclick='RTPSend.StartSend()' value='Start Send'&gt;<br>&lt;script. language='javascript' for='RTPSend' event='RecvData(Message)'&gt;<br>&nbsp;&nbsp;&nbsp; alert("响应ActiveX触发的事件成功:"+Message);<br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&lt;/script&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</p>
<p>颜色的指定方法<br>用HTML指定颜色有两种方法<br>1、用16进制数值来指定：在#号的后面，把RGB的各个选项用十六进制的数值来表示，数值保持两位数。<br>2、指定颜色的名称：可以对基本的16色用名称来指定其颜色<br>指定文件的位置<br>在对某部分设置链接的时候，需要指定链接端HTML文件的位置；同样，如果想在该处显示图像也需要指定图像的位置。在HTML中，这个位置用URL来表示，有以下两种表示方法：<br>1、绝对URL：绝对URL就是用Web浏览器查看网页时，地址栏中显示的以http://开头的路径<br>2、相对URL：相对URL是在同一站点内进行设置，类似于在同一磁盘上管理文件的形式。这种方法是以当前文件的位置为基准。使用相对URL时，如果要指定的文件在当前文件的下级，就从目录名开始一直写到要指定的文件名，中间用&#8220;/&#8221;符号隔开。如果在当前文件的上级，每上一级就加一个&#8220;../&#8221;符号<br>2、基本内容<br>显示HTML的版本<br>&lt;!DOCTYPE~&gt;<br>HTML的版本表明HTML文件是按照哪个版本进行编写的（标明该HTML文件遵循的DTD文件），不同的版本和种类都有固定的书写格式，要按照固定的格式输入文件开头，然后在文件开头处写明版本，按照这种版本的规定格式进行编写<br>必须使用的标签<br>&lt;html&gt;~&lt;/html&gt;<br>&lt;head&gt;~&lt;/head&gt;<br>&lt;title&gt;~&lt;/title&gt;<br>&lt;body&gt;~&lt;/body&gt;<br>HTML文件的开头写有&lt;!DOCTYPE~&gt;的部分，代表HTML的版本，其后是必须存在的四种标签<br>首先，&lt;!DOCTYPE~&gt;后面的整个都要用html标签(&lt;html&gt;~&lt;/html&gt;)括起来，其中要按照head标签(&lt;head&gt;~&lt;/head)和body标签的顺序(&lt;body&gt;~&lt;/body&gt;)的顺序进行排列。<br>在head标签中填写与该文件相关的信息，body标签中填写世纪要在浏览器上显示的内容。另外，在head标签中，只能有一个代表文件标题的title标签<br>设置页面的文字颜色<br>&lt;body text=&#8221;颜色指定&#8221;&gt;~&lt;/body&gt;<br>设置页面的背景颜色<br>&lt;body bgcolor=&#8221;颜色指定&#8221;&gt;~&lt;/body&gt;<br>设置页面的背景图像<br>&lt;body background=&#8221;图像的URL&#8221;&gt;~&lt;/body&gt;<br>按照目的设定范围<br>&lt;div&gt;~&lt;/div&gt;<br>&lt;span&gt;~&lt;/span&gt;<br>插入注释<br>&lt;!—注释语句--&gt;<br>3、设置文件信息<br>添加标题<br>&lt;title&gt;~&lt;/title&gt;<br>title标签用来给HTML文件添加标题<br>这个标签一定要位于&lt;head&gt;~&lt;/head&gt;圈定的范围内。在这里指定的标题除了可以在通常的浏览器窗口的标题栏中显示以外，还可以作为加入收藏夹时的标题<br>显示文件编码<br>&lt;meta. http-equiv="Content-Type" content="text/html; charset=文字编码" /&gt;<br>meta标签的charset属性表示该HTML文件是用什么文字编码编写的<br>注意，该标签一定要位于&lt;head&gt;~&lt;/head&gt;范围内<br>添加关键字、内容介绍及作者姓名<br>&lt;meta. name="keywords" content="关键字1，关键字2，&#8230;" /&gt;<br>&lt;meta. name="description" content="内容介绍" /&gt;<br>&lt;meta. name="author" content="作者姓名" /&gt;<br>这些信息都不会在画面上显示出来，但是搜索引擎在收集信息时要用到<br>注意，该标签一定要位于&lt;head&gt;~&lt;/head&gt;范围内<br>设置样式表和脚本语言的种类<br>&lt;meta. http-equiv="Content-Style-Type" content="样式表的种类" /&gt;<br>&lt;meta. http-equiv="Content-Script-Type" content="脚本的种类" /&gt;<br>在HTML文件内可以设置样式表和脚本的默认语言<br>注意，该标签一定要位于&lt;head&gt;~&lt;/head&gt;范围内<br>设置进入网页<br>&lt;link rel=&#8221;关系&#8221; href=&#8221;URL&#8221;&gt;<br>&lt;link rev=&#8221;关系&#8221; href=&#8221;URL&#8221;&gt;<br>rel：在本页看到的，与URL标明的网页之间的关系<br>rev：在URL标明的网页中看到的，与本页之间的关系<br>link标签表示的是该文件和与其相关的其他文件之间的关系<br>注意，该标签一定要位于&lt;head&gt;~&lt;/head&gt;范围内<br>设置标准URL<br>&lt;base href=&#8221;绝对URL&#8221;&gt;<br>&lt;base href=&#8221;绝对URL&#8221; target=&#8221;目标名&#8221;&gt;<br>base标签用来设置将该页中使用的相对URL的标准指向成绝对URL，指定了这个标签之后，在该页指定的相对URL就会全部认定为已在这里指定的绝对URL。如果不进行这项设置，就以当前页的位置为标准，如果指定了Target属性，就可以指定打开链接地址网页的默认框架和窗口<br>注意，该标签一定要位于&lt;head&gt;~&lt;/head&gt;范围内<br>设置自动倒入网页功能<br>&lt;meta. http-equiv="refresh" content="秒数" /&gt;<br>&lt;meta. http-equiv="refresh" content="秒数"；URL=要移动到的URL /&gt;<br>在经过数秒后，自动开始导入网页。如果指定了要移动到的URL，就会导入URL指定的网页。如果没有指定，就会再次导入相同的页<br>注意，该标签一定要位于&lt;head&gt;~&lt;/head&gt;范围内<br>4、设置文本类型<br>设置各级标题<br>&lt;h1&gt;~&lt;h1&gt;<br>&#8230;<br>设置段落<br>&lt;p&gt;~&lt;/p&gt;<br>p标签表示的是该部分为一个段落<br>设置联系地址<br>&lt;address&gt;~&lt;/address&gt;<br>address标签表示的内容是该网页制作者的联系地址和有关网页内容的咨询地址等信息<br>设置强调内容<br>&lt;em&gt;~&lt;/em&gt;<br>&lt;strong&gt;~&lt;/strong&gt;<br>这两个标签所圈内容表示该部分是强调的内容<br>设置较短的引用文字<br>&lt;q&gt;~&lt;/q&gt;<br>&lt;q cite=&#8221;引用页的URL&#8221;&gt;~&lt;/q&gt;<br>q标签代表的意思是该部分为较短的引用文，在引用段落的某一部分的时候使用，如果使用cite属性，还能够把引用页的URL显示出来<br>设置较长的引用文章<br>&lt;blockquote&gt;~&lt;/blockquote&gt;<br>&lt;blockquote cite=&#8221;引用页的URL&#8221;&gt;~&lt;/blockquote&gt;<br>设置文字内容的出处<br>&lt;cite&gt;~&lt;/cite&gt;<br>设置缩略语<br>&lt;abbr title=&#8221;字符串&#8221;&gt;~&lt;/abbr&gt;<br>&lt;acronym title=&#8221;字符串&#8221;&gt;~&lt;/acronym&gt;<br>title：不处于省略状态下的词汇（字符串）<br>设置添加的内容<br>&lt;ins cite=&#8221;URL&#8221; datetime=&#8221;添加日期时间&#8221;&gt;~&lt;/ins&gt;<br>设置需要删除的内容<br>&lt;de cite=&#8221;URL&#8221; datetime=&#8221;删除日期时间&#8221;&gt;~&lt;/del&gt;<br>突出显示段落中的术语<br>&lt;dfn&gt;~&lt;/dfn&gt;<br>表示与程序关联的文本<br>&lt;kbd&gt;~&lt;/kbd&gt;：输入文本<br>&lt;samp&gt;~&lt;/samp&gt;：输出样本<br>&lt;code&gt;~&lt;/code&gt;：源代码<br>&lt;var&gt;~&lt;/var&gt;：变量<br>显示特殊符号<br>&amp;lt：&lt;<br>&amp;gt：&gt;<br>&amp;quot：&#8221;<br>&amp;amp：&amp;<br>5、设置显示方式<br>设置文字的换行<br>&lt;br&gt;<br>添加了br标签之后，文本就会再该处换行。即使在HTML代码中已经换行了，在浏览器上显示的时候却反映不出来，因此如果想在浏览器上换行的话，就要使用br标签<br>添加不同横线效果<br>&lt;hr&gt;<br>&lt;hr size=&#8221;粗细&#8221; width=&#8221;长度&#8221; align=&#8221;对齐方式&#8221; noshade&gt;<br>加入了hr标签后，就可以在其标注的地方显示横线<br>设置文本格式<br>&lt;b&gt;~&lt;/b&gt;：黑体字<br>&lt;i&gt;~&lt;/i&gt;：斜体字<br>&lt;tt&gt;~&lt;/tt&gt;：等大字体<br>&lt;sup&gt;~&lt;/sup&gt;：上标<br>&lt;sub&gt;~&lt;/sub&gt;：下标<br>&lt;u&gt;~&lt;/u&gt;：下划线<br>&lt;s&gt;~&lt;/s&gt;：删除线<br>设置空格和换行<br>&nbsp;&nbsp;&nbsp; &lt;pre&gt;~&lt;/pre&gt;<br>&lt;pre&gt;标签可以保留文字在源代码中的格式，使得页面中显示的内容和源代中的格式完全一致<br>设置居中效果<br>&lt;center&gt;~&lt;/center&gt;<br>center标签用于将指定范围内的内容设置为居中<br>设置行对齐方式<br>&lt;h1 align=&#8221;行对齐方式&#8221;&gt;~&lt;h1&gt;<br>&lt;p align=&#8221;行对齐方式&#8221;&gt;~&lt;p&gt;<br>&lt;div align=&#8221;行对齐方式&#8221;&gt;~&lt;div&gt;<br>使用align属性可以设置标题、段落以及指定范围内的行对齐方式<br>设置文字颜色<br>&lt;font color=&#8221;设置颜色&#8221;&gt;~&lt;/font&gt;<br>设置字体类型<br>&lt;font&gt;字体名&#8221;&gt;~&lt;/font&gt; <br>设置字体字号<br>&lt;font size=&#8221;字号&#8221;&gt;~&lt;/font&gt;<br>相对改变字体大小<br>&lt;big&gt;~&lt;/big&gt;：增大<br>&lt;small&gt;~&lt;/small&gt;：减小<br>&lt;font size=&#8221;+n&#8221;&gt;：增大n号<br>&lt;font size=&#8221;-n&#8221;&gt;：减小n号<br>设置字号的基本大小<br>&lt;basefont size=&#8221;字号&#8221;&gt;<br>size：1~7<br>6、设置链接相关的属性<br>链接到其他页面<br>&lt;a href=&#8221;链接目标URL&#8221;&gt;~&lt;/a&gt;<br>a标签的href属性能把指定的范围链接到其他页面上，链接部分的词语要设置得让人看到这个部分就能联想到链接网页上的具体内容<br>另外，在链接图像的时候，一定要插入替代的文字（alt=&#8221;~&#8221;）使用户能够很明确的了解到链接的目标<br>链接到当前页的特定位置<br>&lt;a href=&#8221;#位置名&#8221;&gt;~&lt;/a&gt;：指定链接文件（从什么位置开始链接）<br>&lt;a name=&#8221;位置名&#8221;&gt;~&lt;/a&gt;：指定链接的地址（要链接的位置）<br>如果一页上的内容非常多，可以在一个网页中给特定的位置命名，然后再链接到该位置（跳转）。在给链接对象位置命名的时候要使用name属性。然后，在链接的时候，要用href属性在链接地址名称的前面加上#号<br>设置链接到其他页面的特定位置<br>&lt;a href=&#8221;URL#位置名&#8221;&gt;~&lt;/a&gt;：指定链接源（从什么位置开始链接）<br>&lt;a name=&#8221;位置名&#8221;&gt;~&lt;/a&gt;：指定链接的地址（要链接的位置）<br>&nbsp;&nbsp; 在链接到其他网页上的时候，可以先给那一页上特定的位置命名，然后链接到该位置。在给链接对象位置命名的时候要使用name属性。然后，在链接的时候，要用href属性设置成&#8221;URL+#+位置名&#8221;这样一种格式<br>设置链接文字的颜色<br>&nbsp;&nbsp;&nbsp; &lt;body link=&#8221;指定颜色&#8221; vlink=&#8221;指定颜色&#8221; alink=&#8221;指定颜色&#8221;&gt;~&lt;body&gt;<br>link：还没有看见的链接部分的文字颜色<br>vlink：已经看见的链接部分的文字颜色<br>alink：鼠标单击链接部分的文字颜色<br>body标签用于设置网页整体链接部分的文字颜色<br>在新窗口中打开链接网页<br>&lt;a href=&#8221; URL&#8221; target=&#8221;窗口名&#8221;&gt;~&lt;/a&gt;<br>利用target属性可以设置打开链接窗口的方式<br>通过设置链接来启动邮箱<br>&lt;a href=&#8221;mailto：邮箱地址&#8221;&gt;~&lt;/a&gt;<br>7、制作不同类型的列表<br>为列表添加不同类型的标记<br>&nbsp;&nbsp;&nbsp; &lt;ul&gt;&lt;li&gt;列表项目1&lt;/li&gt;&lt;&gt;&lt;li&gt;列表项目2&lt;/li&gt;&#8230;&lt;ul&gt;<br>ul标签的作用是将列表（条款形式）加上圆点或方括号的标记。列表的整体要在&lt;ul&gt;~&lt;/ul&gt;标签范围内，在这之间的各个项目要在&lt;li&gt;~&lt;/li&gt;标签之内<br>更改列表标记<br>&lt;ul type=&#8221;标记种类&#8221;&gt;~&lt;/ul&gt;<br>&lt;li type=&#8221;标记种类&#8221;&gt;~&lt;/li&gt;<br>标记的种类包括disc、cicle和square<br>制作带序号的列表<br>&lt;ol&gt;&lt;li&gt;列表项目1&lt;/li&gt;&lt;&gt;&lt;li&gt;列表项目2&lt;/li&gt;&#8230;&lt;ol&gt;<br>改变序号的样式<br>&lt;ol type=&#8221;序号样式&#8221;&gt;~&lt;/ol&gt;<br>&lt;li type=&#8221;序号样式&#8221;&gt;~&lt;/li&gt;<br>改变序号的顺序<br>&lt;ol start=&#8221;开始序号&#8221;&gt;~&lt;/ol&gt;<br>&lt;li value=&#8221;开始序号&#8221;&gt;~&lt;/li&gt;<br>制作包含专用语和解释的列表<br>&nbsp;&nbsp;&nbsp; &lt;dl&gt;&lt;dt&gt;专用语&lt;dt&gt;&lt;dd&gt;对其解释&lt;/dd&gt;&#8230;&lt;dl&gt;<br>8、设置表格<br>表格的基本形式<br>&lt;table border=&#8221;边框的粗度&#8221;&gt;~&lt;/table&gt;：整个表格<br>&lt;tr&gt;~&lt;/tr&gt;：单独一行<br>&lt;th&gt;~&lt;/th&gt;：单元格：标题用<br>&lt;td&gt;~&lt;/td&gt;：单元格：数据用<br>表格的整体要圈在&lt;table&gt;~&lt;/table&gt;之间显示，表格当中某一个单元格用&lt;th&gt;~&lt;/th&gt;表示或者&lt;td&gt;~&lt;/td&gt;表示。每个单元格都在表的单独以行，放置在&lt;tr&gt;~&lt;/tr&gt;中。也就是说，table标签的内容是由tr标签构成的。各个tr标签的内容是由表示单元格的th或者td标签构成的。th标签代表这个单元格的内容是标题。td标签代表这个单元格的内容是数据<br>为表格添加标题<br>&lt;caption&gt;~&lt;/caption&gt;<br>&lt;caption align=&#8221;对齐方式&#8221;&gt;~&lt;/caption&gt;<br>caption标签用来给表格添加标题<br>该标签一定要放在table标签的紧后面。标题的显示位置（即对齐方式）可以指定在表格的上部，或者表格的下部<br>指定表格的大小<br>&lt;table width=&#8221;宽度&#8221;&gt;~&lt;/table&gt;<br>宽度：针对像素或者窗口的百分比<br>指定单元格大小<br>&lt;th width=&#8221;宽度&#8221; height=&#8221;高度&#8221;&gt;~&lt;/th&gt;<br>&lt;td width=&#8221;宽度&#8221; height=&#8221;高度&#8221;&gt;~&lt;/td&gt;<br>合并单元格<br>&lt;th rowspan=&#8221;垂直方向的合并数&#8221;&gt;~&lt;/th&gt;<br>&lt;th colspan=&#8221;水平方向的合并数&#8221;&gt;~&lt;/th&gt;<br>&lt;td rowspan=&#8221;垂直方向的合并数&#8221;&gt;~&lt;/td&gt;<br>&lt;td colspan=&#8221;水平方向的合并数&#8221;&gt;~&lt;/td&gt;<br>垂直方向的合并数：从当前单元格开始向下合并的单元格数<br>水平方向的合并数：从当前单元格开始向右合并的单元格数<br>设置单元格之间的距离<br>&lt;table cellspacing=&#8221;单元格的距离&#8221;&gt;~&lt;/table&gt;<br>设置单元格边框与内容之间的距离<br>&lt;table cellpadding=&#8221;单元格边框与内容之间的距离&#8221;&gt;~&lt;/table&gt;<br>设置单元格中的行对齐方式和列对齐方式<br>align属性用于设置单元格内的行对齐方式，valign属性用来设置单元格内的列对齐方式<br>禁止在单元格内换行<br>&lt;th nowrap&gt;~&lt;/th&gt;<br>&lt;td nowrap&gt;~&lt;/td&gt;<br>设置表格和单元格的背景颜色<br>bgcolor属性用于指定表格和单元格中的背景颜色<br>设置表格和单元格的背景图像<br>background属性用于指定表格和单元格中的背景图像<br>设置表格外框的宽度<br>&lt;table border=&#8221;外框的宽度&#8221;&gt;~&lt;/table&gt;<br>设置表格外框的显示形式<br>&lt;table frame=&#8221;外框的显示形式&#8221;&gt;~&lt;/table&gt;<br>设置表格内补边框线的显示形式<br>&lt;table rules=&#8221;内部边框线的显示形式&#8221;&gt;~&lt;/table&gt;<br>定义表格中的横行<br>&lt;thead&gt;~&lt;/thead&gt;：表头部分<br>&lt;tbody&gt;~&lt;/tbody&gt;：表体部分<br>&lt;tfoot&gt;~&lt;/tfoot&gt;：表底部分<br>thead标签、tbody标签和tfoot标签都是用来定义表格的横行（tr标签）的<br>这样组合之后，就可以针对该组合的整体来应用属性和样式表。<br>使用这些标签的时候，一定要以thead标签、tfoot标签和tbody标签的顺序进行排列。在一个表格里，只能放置一个thead标签和一个tfoot标签，而tbody标签可以根据需要放置多个<br>利用纵列设置表格属性和样式表<br>&lt;col span=&#8221;纵列数&#8221;&gt;<br>&lt;col span=&#8221;纵列数&#8221; width=&#8221;宽度&#8221;&gt;<br>col标签不仅可以用来改变表格的纵列结构，还可以用来根据纵列，来综合指定宽和行对齐方式等属性以及样式表<br>该标签放置的位置要在caption标签的紧后面（如果没有caption标签，就放在table标签的开始标签的紧后面），以及thead标签和tr标签的前面<br>设置表格居中<br>&lt;table align=&#8221;center&#8221;&gt;~&lt;/table&gt;<br>将表格嵌入到文本中<br>&lt;table align=&#8221;对齐方式&#8221;&gt;~&lt;/table&gt;<br>位置：left,right<br>将table标签的align属性指定为left或者right后，就可以将表格以居左或居右的方式嵌入到文字中间<br>如果想要解除嵌入状态，可以使用&lt;br&gt;标签的clear属性<br>解除表格的嵌套<br>&lt;br clear=&#8221;解除表格那一侧的嵌套&#8221;&gt;<br>left：解除左侧表格的嵌套<br>right：解除右侧表格的嵌套<br>all：解除两侧表格的嵌套<br>设置表格与嵌套文字之间的距离<br>&lt;table vspace=&#8221;垂直距离&#8221; hspace=&#8221;水平距离&#8221;&gt;~&lt;/table&gt;<br>垂直距离：表格的上下框与文字间的距离<br>水平距离：表格的左右框与文字间的距离<br>9、设置图像与多媒体<br>插入图像<br>&lt;img src=&#8221;URL&#8221; width=&#8221;宽度&#8221; hignt=&#8221;高度&#8221; alt=&#8221;替代文字&#8221;&gt;<br>使用img标签，可以把图像插入到HTML文件中<br>图像的格式一般可以使用GIF格式、JPEG格式和PNG格式<br>不管图像实际的大小如何，都会按照在这里所指定的宽度和高度来显示<br>alt属性是在不能显示图像的情况下，指定替代图像所使用的文字<br>设置图像的边框<br>&lt;img src=&#8221;URL&#8221; alt=&#8221;替代文字&#8221; border=&#8221;边框的粗度&#8221;&gt;<br>设置图像与文字的垂直位置关系<br>&lt;img src=&#8221;URL&#8221; alt=&#8221;替代文字&#8221; align=&#8221;对齐方式&#8221;&gt;<br>在同一行中，如果有图像和文字，那么就可以用align属性来设置图像和文字的垂直位置关系<br>制作图像热区<br>&lt;img src=&#8221;URL&#8221; alt=&#8221;替代文字&#8221; usemap=&#8221;#map名&#8221;&gt;<br>&lt;map name=&#8221;map名&#8221;&gt;~&lt;/map&gt;<br>&lt;area shape=&#8221;形状&#8221; cords=&#8221;坐标&#8221; href=&#8221;URL&#8221; alt=&#8221;替代文字&#8221;&gt;<br>在map标签中，用来设置实际单击的区域和链接地址的是area标签<br>在area标签中，一定要指定表示链接地址的替代文字，之后要用image标签的usemap属性指定定义后的image map的名称（名称前面要加#），这样图像就可以作为image map产生相应的效果<br>将图像嵌套在文本中<br>&lt;img src=&#8221;URL&#8221; alt=&#8221;替代文字&#8221; align=&#8221;对齐方式&#8221;&gt;<br>位置：left,right<br>解除图像的嵌套<br>&lt;br clear=&#8221;解除哪一侧图像的嵌套&#8221;&gt;<br>设置图像与周围文字之间的距离<br>&lt;img src=&#8221;URL&#8221; alt=&#8221;替代文字&#8221; vspace=&#8221;垂直距离&#8221; hspace=&#8221;水平距离&#8221;&gt;<br>放置Java小程序<br>&lt;applet code=&#8221;类文件名&#8221; width=&#8221;宽度&#8221; height=&#8221;高度&#8221; &gt;~&lt;/applet&gt;<br>&lt;param name=&#8221;参数名&#8221; value=&#8221;参数值&#8221;&gt;<br>applet标签是嵌入Java小程序时要使用的标签<br>如果使用param标签，在执行java小程序时，需事先指定一些必要值。这时，param标签要位于&lt;applet&gt;~&lt;/applet&gt;范围的最开始部分<br>10、制作不同类型的表单<br>制作填写表单<br>&lt;form. action=&#8221;URL&#8221; method=&#8221;发送形式&#8221; enctype=&#8221;MIME类型&#8221; target=&#8221;窗口名称&#8221;&gt;~&lt;/form&gt;<br>URL：用来处理发送后表格的程序的URL<br>发送形式：get,post<br>MIME类型：以post方式发送内容时的MIME类型<br>窗口名称：先是发送结果的窗口或框架名<br>form标签表示在表单中填写的内容是可以发送的<br>制作发送按钮<br>&lt;input type=&#8221;submit&#8221; value=&#8221;标签&#8221; name=&#8221;名称&#8221;&gt;<br>标签：在按钮上显示的文字<br>名称：按钮的名称<br>将input标签的type属性设置为submit，再根据form标签的设置，可以制作发送填写在表单中数据的按钮<br>制作重置按钮<br>&lt;input type=&#8221;reset&#8221; value=&#8221;标签&#8221;&gt;<br>制作通用按钮<br>&lt;input type=&#8221;button&#8221; name=&#8221;名称&#8221; value=&#8221;标签&#8221;&gt;<br>通用按钮通常与JavaScript等脚本语言组合使用<br>利用图像来制作发送按钮<br>&lt;input type=&#8221;image&#8221; src=&#8221;URL&#8221; name=&#8221;名称&#8221; alt=&#8221;替代文字&#8221; align=&#8221;对齐方式&#8221;&gt;<br>通常，发送按钮都使用input type=&#8221;submit&#8221;代码，不过图像也可以作为发送按钮，具有发送功能。这时，图像被单击的位置将和表单的内容一起被发送<br>制作不同功能的发送按钮<br>&lt;button type=&#8221;类型&#8221; name=&#8221;名称&#8221; value=&#8221;发送值&#8221;&gt;~&lt;/button&gt;<br>类型：submit,reset,button<br>button标签是用来制作按钮专用的<br>通过指定type属性值，就可以产生具有不同功能的按钮，包括发送按钮、重置按钮和通用按钮。另外，在&lt;button&gt;~&lt;/button&gt;中放置相应的内容，可以作为按钮的标签显示出来。在需要进行其他处理并设置多个发送按钮的情况下，根据name属性和value属性所显示的值，接受方就可以分辨出单击的是哪一个发送按钮<br>制作单行文本框<br>&lt;input type=&#8221;text&#8221; name=&#8221;名称&#8221; value=&#8221;默认文字&#8221; size=&#8221;宽度&#8221; maxlength=&#8221;字符的最大输入数量&#8221;&gt;<br>制作多行文本框<br>&lt;textarea name=&#8221;名称&#8221; rows=&#8221;行数&#8221; cols=&#8221;宽度&#8221;&gt;~&lt;/textarea&gt;<br>制作输入密码的文本框<br>&lt;input type=&#8221;password&#8221; name=&#8221;名称&#8221; value=&#8221;默认文字&#8221; size=&#8221;宽度&#8221; maxlength=&#8221;字符的最大输入数量&#8221;&gt;<br>插入隐藏域<br>&lt;input type=&#8221;hidden&#8221; name=&#8221;名称&#8221; value=&#8221;发送值&#8221; &gt;<br>制作单选按钮<br>&lt;input type=&#8221;radio&#8221; name=&#8221;名称&#8221; value=&#8221;发送文字&#8221; &gt;<br>&lt;input type=&#8221;radio&#8221; name=&#8221;名称&#8221; value=&#8221;发送文字&#8221; checked&gt;<br>将input标签的type属性设置为radio，可以用来制作单选按钮。单选按钮是多个选项当中只能选择其一的按钮。作为公共项目的选项而使用的单选按钮，要把它们都指定为同一名称。另外，发送数据的时候，为了识别所选的是哪一项，要用value属性来指定相应的值<br>制作复选框<br>&lt;input type=&#8221;checkbox&#8221; name=&#8221;名称&#8221; value=&#8221;发送文字&#8221; &gt;<br>&lt;input type=&#8221; checkbox&#8221; name=&#8221;名称&#8221; value=&#8221;发送文字&#8221; checked&gt;<br>将input标签的type属性设置为checkbox，可以用来制作复选框。复选框可以在多个选项当中进行多项选择。作为公共项目的选项而使用的复选框，要把它们都指定为同一名称。另外，发送数据的时候，为了识别所选的是哪一项，要用value属性来指定相应的值<br>制作菜单<br>&lt;select name=&#8221;名称&#8221;&gt;~&lt;/select&gt;：菜单整体<br>&lt;option value=&#8221;发送值&#8221;&gt;~&lt;/option&gt;：菜单项<br>&lt;option selected&gt;~&lt;/option&gt;：菜单项<br>select标签用来制作菜单<br>菜单的整体要在&lt;select&gt;~&lt;/select&gt;范围之内显示，然后按需要的数量在其中放置表示选项的&lt;option&gt;~&lt;/option&gt;。&lt;option&gt;~&lt;/option&gt;范围之内要写上实际菜单要显示的选项的名称。另外，如果省略了value属性，在这里记录的文字本身就会作为所选值发送<br>组合菜单选项<br>&lt;optgroup lable=&#8221;组合名称&#8221;&gt;~&lt;/optgroup&gt;：制作组合菜单<br>&lt;option lable=&#8221;次选项&#8221;&gt;~&lt;/option&gt;：组合内的选项<br>组合名称：第一级显示的组合标题<br>次选项：对应组合名称下面的在第二级显示出来的选项<br>制作的菜单选项可以利用&lt;select&gt;~&lt;/select&gt;标签组合起来<br>制作下拉列表<br>&lt;select size=&#8221;行数&#8221; name=&#8221;名称&#8221; multiple&gt;~&lt;/select&gt;：下拉列表框<br>&lt;option value=&#8221;发送值&#8221;&gt;~&lt;/option&gt;：菜单项<br>&lt;option selected&gt;~&lt;/option&gt;：菜单项<br>在用于制作菜单的select标签中指定了size属性后，就可以显示下拉列表框<br>添加选择文件的功能<br>&lt;input type=&#8221;file&#8221; name=&#8221;名称&#8221;accept=&#8221;MIME&#8221;类型&gt;<br>将input标签的type属性设置为file，可以自动做成能够选择发送表单数据的文件按钮和文本框<br>综合利用菜单选项<br>&lt;fieldset&gt;~&lt;/fieldset&gt;：组合<br>&lt;legend align=&#8221;对齐方式&#8221;&gt;~&lt;/legend&gt;：组合的标题<br>field标签用来把填写在表单中需要包含的输入内容和选项组合起来<br>在&lt;fieldset&gt;~&lt;/fieldset&gt;的最开始部分放置legend标签，并且给该组合加上标题<br>将标签文字与项目一体化<br>&lt;label for=&#8221;参照ID&#8221;&gt;~&lt;/lable&gt;<br>参照ID：添加了标签的对象的id属性值<br>lable标签的作用是在输入项和选项及其标签文字之间建立起明确的关联，并使其一体化<br>11、利用框架布局网页<br>设置框架整体结构<br>&lt;frameset rows=&#8221;高度&#8221;&gt;~&lt;/frameset&gt;<br>&lt;frameset cols=&#8221;宽度&#8221;&gt;~&lt;/frameset&gt;<br>&lt;frame. src=&#8221;URL&#8221; name=&#8221;框架名称&#8221;&gt;<br>高度：在垂直方向上分布的多个框架的高度，按从上到下的顺序依次用逗号隔开来指定<br>宽度：在水平方向上分布的多个框架的宽度，按从左到右的顺序依次用逗号隔开来指定<br>URL：作为框架内容显示的HTML文件的URL<br>框架名称：在指定链接等显示目标的时候使用的名称<br>使用框架功能可以把窗口横竖切割开，然后在不同的块区域中显示其他的HTML文件。在指定了框架的文件中，原来body标签所在的位置，要放置frameset标签，这主要是由于在框架页面中不能使用body标签<br>在&lt;frameset&gt;~&lt;/frameset&gt;的范围中要按照顺序填入分割后框架内要填写的内容。如果不需要再分割，就用frame标签指定要导入的HTML文件，如果还要继续分割的话，就需要放置frameset标签（作为嵌套放置在里面，并且指定盖框架如何分割）<br>设置框架的显示方法<br>&lt;frame. scrolling=&#8221;滚动控制&#8221; noresize&gt;<br>&lt;frame. marginwidth=&#8221;左右缩进&#8221; marginheight=&#8221;上下缩进&#8221;&gt;<br>设置是否显示边框<br>&lt;frame. frameborder=&#8221;显示指定框架的边框&#8221;&gt;<br>frameborder属性用来设置分割开相邻框架的边框是否显示<br>去除分割框架的边框<br>&lt;frameset frameborder=&#8221;0&#8221; framespacing=&#8221;0&#8221; border=&#8221;0&#8221;&gt;<br>在不支持框架的环境中显示所需内容<br>&lt;noframes&gt;~&lt;/noframes&gt;<br>这个标签要在&lt;frameset&gt;~&lt;/frameset&gt;范围的最开始或者最后处放置一个。在&lt;noframes&gt;~&lt;/noframes&gt;范围内要首先放置body标签，并在其中填写所要显示的内容。<br>指定链接目标在哪一个框架内显示<br>&lt;a href=&#8221;URL&#8221; target=&#8221;框架名&#8221;&gt;~&lt;/a&gt;<br>如果对框架内的文件中指定的链接不进行设置的话，就会在原来的相同框架中显示链接目标，如果想使这个链接目标在其他框架中显示的话，就需要指定target属性值，用想要显示（frame标签）的那个框架的name属性来指定框架名称<br>插入内嵌框架<br>&lt;iframe. src=&#8221;内容的URL&#8221; name=&#8221;框架名&#8221;&gt;~&lt;/iframe&gt;<br>iframe标签不仅可以放置分割窗口形式的框架，还可以在窗口中放置独立显示的内嵌框架。在框架内还可以显示src属性所指定的内容<br>如果浏览器不支持这种框架，要在&lt;iframe&gt;~&lt;/iframe&gt;之间指定要显示的内容<br>12、关于脚本<br>在HTML中插入脚本<br>&nbsp;&nbsp;&nbsp; &lt;script. type=&#8221;MME类型&#8221;&gt;~&lt;/script&gt;<br>&lt;script. type=&#8221;MME类型&#8221; language=&#8221;语言名称&#8221; src=&#8221;URL&#8221;&gt;~&lt;/script&gt;<br>在HTML文件中编写脚本的时候要用到script标签，脚本语言要写在这个标签的范围内<br>这时，在不支持这个标签的浏览器上会在画面上显示出脚本的部分，为了避免这种现象，通常把脚本整体作为HTML的注释。这个标签可以放在&lt;head&gt;~&lt;/head&gt;和&lt;body&gt;~&lt;/body&gt;范围内的任意位置上<br>在不能执行脚本的环境中添加所需的内容<br>&lt;noscript&gt;~&lt;/noscript&gt;<br>在脚本不能运行的时候，可以使用noscript标签来指定替代显示的内容<br>这个标签要放置在&lt;body&gt;~&lt;/body&gt;的范围内</p>
<img src ="http://www.cppblog.com/finehai/aggbug/90451.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/finehai/" target="_blank">Bluesea</a> 2009-07-18 19:52 <a href="http://www.cppblog.com/finehai/archive/2009/07/18/90451.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[HTTP]HTTP协议</title><link>http://www.cppblog.com/finehai/archive/2009/07/18/90441.html</link><dc:creator>Bluesea</dc:creator><author>Bluesea</author><pubDate>Sat, 18 Jul 2009 09:52:00 GMT</pubDate><guid>http://www.cppblog.com/finehai/archive/2009/07/18/90441.html</guid><wfw:comment>http://www.cppblog.com/finehai/comments/90441.html</wfw:comment><comments>http://www.cppblog.com/finehai/archive/2009/07/18/90441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/finehai/comments/commentRss/90441.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/finehai/services/trackbacks/90441.html</trackback:ping><description><![CDATA[<p>要很好地领会Ajax技术的关键是了解超文本传输协议（HTTP），该协议用来传输网页、图像以及因特网上在浏览器与服务器间传输的其他类型文件。只要你在浏览器上输入一个URL，最前面的http://就表示使用HTTP来访问指定位置的信息。 （大部分浏览器还支持其他一些不同的协议，其中FTP就是一个典型例子。）</p>
<p>　　注意：本文中只涉及HTTP协议，这是Ajax开发人员关心的方面，它可作为HTTP的参考手册或指南。</p>
<p>　　HTTP由两部分组成：请求和响应。当你在Web浏览器中输入一个URL时，浏览器将根据你的要求创建并发送请求，该请求包含所输入的URL以及一些与浏览器本身相关的信息。当服务器收到这个请求时将返回一个响应，该响应包括与该请求相关的信息以及位于指定URL（如果有的话）的数据。直到浏览器解析该响应并显示出网页（或其他资源）为止。</p>
<p>　　HTTP请求</p>
<p>　　HTTP请求的格式如下所示：</p>
<p>＜request-line＞<br>＜headers＞<br>＜blank line＞<br>[＜request-body＞]<br>&nbsp;</p>
<p><br>　　在HTTP请求中，第一行必须是一个请求行（request line），用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部（header）小节，用来说明服务器要使用的附加信息。在首部之后是一个空行，再此之后可以添加任意的其他数据[称之为主体（body）]。</p>
<p>　　在HTTP中，定义了大量的请求类型，不过Ajax开发人员关心的只有GET请求和POST请求。只要在Web浏览器上输入一个URL，浏览器就将基于该URL向服务器发送一个GET请求，以告诉服务器获取并返回什么资源。对于<a href="http://www.wrox.com/">www.wrox.com</a>的GET请求如下所示：</p>
<p>GET / HTTP/1.1<br>Host: <a href="http://www.wrox.com/">www.wrox.com</a><br>User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)<br>Gecko/20050225 Firefox/1.0.1<br>Connection: Keep-Alive <br>&nbsp;</p>
<p><br>　　请求行的第一部分说明了该请求是GET请求。该行的第二部分是一个斜杠（/），用来说明请求的是该域名的根目录。该行的最后一部分说明使用的是HTTP 1.1版本（另一个可选项是1.0）。那么请求发到哪里去呢？这就是第二行的内容。</p>
<p>　　第2行是请求的第一个首部，HOST。首部HOST将指出请求的目的地。结合HOST和上一行中的斜杠（/），可以通知服务器请求的是<a href="http://www.wrox.com/">www.wrox.com/</a>（HTTP 1.1才需要使用首部HOST，而原来的1.0版本则不需要使用）。第三行中包含的是首部User-Agent，服务器端和客户端脚本都能够访问它，它是浏览器类型检测逻辑的重要基础。该信息由你使用的浏览器来定义（在本例中是Firefox 1.0.1），并且在每个请求中将自动发送。最后一行是首部Connection，通常将浏览器操作设置为Keep-Alive（当然也可以设置为其他值，但这已经超出了本书讨论的范围）。注意，在最后一个首部之后有一个空行。即使不存在请求主体，这个空行也是必需的。</p>
<p>　　如果要获取一个诸如<a href="http://www.wrox.com/books">http://www.wrox.com/books</a>的<a href="http://www.wrox.com/">www.wrox.com</a>域内的页面，那么该请求可能类似于：</p>
<p>GET /books/ HTTP/1.1<br>Host: <a href="http://www.wrox.com/">www.wrox.com</a><br>User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)<br>Gecko/20050225 Firefox/1.0.1<br>Connection: Keep-Alive<br>&nbsp;</p>
<p><br>　　注意只有第一行的内容发生了变化，它只包含URL中<a href="http://www.wrox.com/">www.wrox.com</a>后面的部分。</p>
<p>　　要发送GET请求的参数，则必须将这些额外的信息附在URL本身的后面。其格式类似于：</p>
<p>URL ? name1=value1&amp;name2=value2&amp;..&amp;nameN=valueN<br>&nbsp;</p>
<p><br>　　该信息称之为查询字符串（query string），它将会复制在HTTP请求的请求行中，如下所示：</p>
<p>GET /books/?name=Professional%20Ajax HTTP/1.1<br>Host: <a href="http://www.wrox.com/">www.wrox.com</a><br>User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)<br>Gecko/20050225 Firefox/1.0.1<br>Connection: Keep-Alive<br>&nbsp;</p>
<p><br>　　注意，为了将文本&#8220;Professional Ajax&#8221;作为URL的参数，需要编码处理其内容，将空格替换成%20，这称为URL编码（URL encoding），常用于HTTP的许多地方（JavaScript提供了内建的函数来处理URL编码和解码，这些将在本章中的后续部分中说明）。&#8220;名称—值&#8221;（name—value）对用 &amp; 隔开。绝大部分的服务器端技术能够自动对请求主体进行解码，并为这些值的访问提供一些逻辑方式。当然，如何使用这些数据还是由服务器决定的。</p>
<p>　　浏览器发送的首部，通常比本文中所讨论的要多得多。为了简单起见，这里的例子尽可能简短。</p>
<p><br>　　另一方面，POST请求在请求主体中为服务器提供了一些附加的信息。通常，当填写一个在线表单并提交它时，这些填入的数据将以POST请求的方式发送给服务器。</p>
<p>　　以下就是一个典型的POST请求：</p>
<p>POST / HTTP/1.1<br>Host: <a href="http://www.wrox.com/">www.wrox.com</a><br>User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)<br>Gecko/20050225 Firefox/1.0.1<br>Content-Type: application/x-www-form-urlencoded<br>Content-Length: 40<br>Connection: Keep-Alive<br>name=Professional%20Ajax&amp;publisher=Wiley<br>&nbsp;</p>
<p><br>　　从上面可以发现， POST请求和GET请求之间有一些区别。首先，请求行开始处的GET改为了POST，以表示不同的请求类型。你会发现首部Host和User-Agent仍然存在，在后面有两个新行。其中首部Content-Type说明了请求主体的内容是如何编码的。浏览器始终以application/ x-www-form- urlencoded的格式编码来传送数据，这是针对简单URL编码的MIME类型。首部Content-Length说明了请求主体的字节数。在首部Connection后是一个空行，再后面就是请求主体。与大多数浏览器的POST请求一样，这是以简单的&#8220;名称—值&#8221;对的形式给出的，其中name是Professional Ajax，publisher是Wiley。你可以以同样的格式来组织URL的查询字符串参数。</p>
<p>　　正如前面所提到的，还有其他的HTTP请求类型，它们遵从的基本格式与GET请求和POST请求相同。下一步我们来看看服务器将对HTTP请求发送什么响应。</p>
<p>　　HTTP响应</p>
<p>　　如下所示，HTTP响应的格式与请求的格式十分类似：</p>
<p>＜status-line＞<br>＜headers＞<br>＜blank line＞<br>[＜response-body＞]<br>&nbsp;</p>
<p><br>　　正如你所见，在响应中唯一真正的区别在于第一行中用状态信息代替了请求信息。状态行（status line）通过提供一个状态码来说明所请求的资源情况。以下就是一个HTTP响应的例子：</p>
<p>HTTP/1.1 200 OK<br>Date: Sat, 31 Dec 2005 23:59:59 GMT<br>Content-Type: text/html;charset=ISO-8859-1<br>Content-Length: 122</p>
<p>＜html＞<br>＜head＞<br>＜title＞Wrox Homepage＜/title＞<br>＜/head＞<br>＜body＞<br>＜!-- body goes here --＞<br>＜/body＞<br>＜/html＞<br>&nbsp;</p>
<p><br>　　在本例中，状态行给出的HTTP状态代码是200，以及消息OK。状态行始终包含的是状态码和相应的简短消息，以避免混乱。最常用的状态码有：</p>
<p>　　◆200 (OK): 找到了该资源，并且一切正常。</p>
<p>　　◆304 (NOT MODIFIED): 该资源在上次请求之后没有任何修改。这通常用于浏览器的缓存机制。</p>
<p>　　◆ 401 (UNAUTHORIZED): 客户端无权访问该资源。这通常会使得浏览器要求用户输入用户名和密码，以登录到服务器。</p>
<p>　　◆403 (FORBIDDEN): 客户端未能获得授权。这通常是在401之后输入了不正确的用户名或密码。</p>
<p>　　◆404 (NOT FOUND): 在指定的位置不存在所申请的资源。</p>
<p>　　在状态行之后是一些首部。通常，服务器会返回一个名为Data的首部，用来说明响应生成的日期和时间（服务器通常还会返回一些关于其自身的信息，尽管并非是必需的）。接下来的两个首部大家应该熟悉，就是与POST请求中一样的Content-Type和Content-Length。在本例中，首部Content-Type指定了MIME类型HTML（text/html），其编码类型是ISO-8859-1（这是针对美国英语资源的编码标准）。响应主体所包含的就是所请求资源的HTML源文件（尽管还可能包含纯文本或其他资源类型的二进制数据）。浏览器将把这些数据显示给用户。</p>
<p>　　注意，这里并没有指明针对该响应的请求类型，不过这对于服务器并不重要。客户端知道每种类型的请求将返回什么类型的数据，并决定如何使用这些数据。&nbsp; </p>
<p><br>本文来自CSDN博客，转载请标明出处：<a href="http://blog.csdn.net/yourdecision/archive/2008/05/30/2497325.aspx">http://blog.csdn.net/yourdecision/archive/2008/05/30/2497325.aspx</a></p>
<img src ="http://www.cppblog.com/finehai/aggbug/90441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/finehai/" target="_blank">Bluesea</a> 2009-07-18 17:52 <a href="http://www.cppblog.com/finehai/archive/2009/07/18/90441.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>