前端开发规范

目    录

第一部分 文档需求、说明及参与人员
第二部分 静态页面规范
一 静态页面基本规范
二 XHTML标准
三 图片规范
第三部分 CSS样式书写规范
一 样式命名规范
二 id命名规范
三 字体样式的命名
四 样式文件结构(样式表构成管理)
五 样式书写技巧
七 过长的内容
第四部分 注释规范
一 HTML注释
二 CSS样式注释
第五部分 JavaScript脚本语言,Ajax等代码书写规范
一 命名规范.
二 关于变量
三 注意事项
第六部分 其他重要说明
一 前台页面开发本地测试
第七部分 静态页面源文件备份规范
一 项目开发源文件备份规范
二项目维护源文件备份规范
第八部分 附件


 

附件2:XHTML标准

第一部分 文档需求、说明及参与人员

文档目的:为规范前台页面开发,便于前台开发成员页面维护,产出高质量的页面。

文档说明:本规范文档一经确认,前台开发所有人员必须按本文档规范进行前台页面开发。本文档如有不对或者不合适的地方请及时提出,经前台开发人员讨论后决定可以更改此文档。

特别说明:如有不能或不合适按本文档开发的项目或页面,请向主管人员做出说明;

参与人员:

版本说明:2009年4月版


第二部分 静态页面规范

一 静态页面基本规范

1.静态页面命名应根据项目文档中程序页面文件命名;例如程序页面文件名为index.aspx则静态页面的文件名应为index.html或index.shtml;

2.静态页面XHTML代码应采用自动缩进的形式编写,这样代码层次结构清晰;
3.根据项目文档选择页面编码格式,一般为UTF-8;非项目页面着统一采用UTF-8,特殊项目或有特定需求的按需求确定编码格式;
4.非特殊情况下必须把CSS外部链接放到页面的顶部(<head>… </ head>标签之间);
5.非特殊情况下必须把JS代码或外部链接放到页面的底部(</ body>标签之前);
6.书写链接地址时,必须避免重定向,例如:href="http://www.5fad.com/" ,即须在URL地址后面加上“/”;

7.在页面中尽量避免使用XHTML标签的样式属性,即style="…";
8.尽量减少页面的HTTP请求:
8.1.合并压缩的多个JS到一个文件中;
8.2.合并压缩的多个CSS到一个文件中, 能写成样式背景的图片,必须写在样式中;

9.尽量减少DIV的嵌套层数;

10.统一域名下的项目页面链接使用相对路径(例如:../top100/songtop.aspx),而不是绝对路径(例如:http://www.5fad.com/top100/songtop.aspx);

11. 给区块代码和套程序的循环的第一条数据加上注释(详见“注释”章节);

                                    
二 XHTML标准

1. 每个页面必须宣告使用哪一种DTD,目前非特殊情况下我们采用XHTML 1.0 Transitional DTD (一般为:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">),即DreamWeaver 8和cs3版本默认的DTD;

2.所有XHTML代码必须全部小写;

3. XHTML标签的属性值必须用双引号(””)括起来,并且一定要有值,不能简写缩写;

4. 双标记签都要有开始和结束标签,单标记标签的后面一定要加“/”,例如:<br />等,并且有正确的层次;

5.非特殊情况下要求表现和内容分离,代码中不要涉及任何表现的元素,例如:style、font等;

6.id属性,同一页面不要重复使用同一id;

7.给重要图片加上alt属性;给重要的元素和截断的元素加上title;

8.所有标签必须进行合理的嵌套,体现文档的结构,并有利于搜索引擎的查询;

9.使用正确的注释方法(详见“注释”章节);

10. 原则上,我们禁止用 <img width=? height=?> 来人为干预图片显示的尺寸,而且建议 <img> 标签中不要带上width 和height 两个属性,这是因为制作过程中,图片往往需要反复的修改,这样可以避免人为干预图片显示的尺寸,尽可能的发挥浏览器自身的功能;但是这样的一个副作用是当 网页还未加载图片时,不会留出图片的站位大小,可能会造成网页在加载过程中抖动(如果图片是插在一个固定大小的表格里的,不会有这个现象),尤其是当图片 的尺寸较大时,这种现象会很明显,所以当预料到这种会明显导致网页抖动的情况会发生时,请大家务必在最后给 <img>附上 width 和 height 属性。、

11.行距建议用百分比来定义,常用的两个行距的值是line-height: 150%.

12.表格:在排布表格之前,认真思考一个最佳的方案,表格的嵌套尽量控制在三层以内,禁止使用 <colspan> <rowspan>标记,也就是横纵合并单元格,这两个标记会带来许多麻烦。

※ 表格嵌套必须条理清晰一目了然,各区块独立性强,便于修改。主要框架使用绝对像素,以免产生变形。一个网页要尽量避免用整个一张大表格,所有的内容都嵌套 在这个大表格之内,因为浏览器在解释页面的元素时,是以表格为单位逐一显示,如果一张网页是嵌套在一个大表格之内,那么很可能造成的后果就是,当浏览者敲 入网址,他要先面对一片空白很长时间,然后所有的网页内容同时出现。如果必须这样做,请分段加入<tbody>标记,以便能够使这个大表格分 块显示。

13. flash的嵌入方法错误。<embed>最早是Netscape的私有标签,即使后来为IE所支持,但始终没有被W3C承认,在 XHTML1.0没有<embed>这个标签。W3C主张的是采用<object>标签。为了解决不同浏览器的兼容,有一个变通 的解决方法是2个标签都采用。完整的示例代码如下(flash背景为透明): <object classid="clsid:27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="300" height="100"> <param name="quality" value="high"> <param name="wmode" value="transparent"> <param name="SRC" value="test.swf"> <embed src="test.swf" wmode="transparent" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="300" height="100"> </embed> </object>

关于flash是否符合标准,是一个存在争议的问题。更多说明:参考http://www.blueidea.com/tech/site/2004/1920.asp

14.在页面中碰到有单选框、复选框的时候要给单选框、复选框加上<lable></lable>标签;


15.XHTML标准标签和不赞成使用的标签,参见下表:

XHTML标准标签(如表):
标签类型    标签
结构    html,head,body,div,span
Meta信息    DOCTYPE,title,link,meta,style
文本    p,h1,h2,h3,h4,h5,h6,strong,em,abbr,acronym,address,bdo,blockquote,
cite,q,code,ins,del,dfn,kbd,pre,samp,var,br

链接    a,base

图片和对象    img,area,map,object,param

列表    ul,ol,li,dl,dt,dd

表格    table,tr,td,th,tbody,thead,tfoot,col,colgroup,caption

表单    form,input,textarea,select,option,optgroup,button,label,fieldset,legend

脚本    script,noscript

表现    b,i,tt,sub,sup,big,small,hr

其他    一般属性

… …    … …

◎    XHTML的语法规范可参考附件2:《XHTML标准》

 
三 图片规范

1.图片统一放在images文件夹下面;

2.图片格式:图片只允许采用gif(256 128 64 32...)jpg(小于80比)压缩格式,要平衡图片质量与文件大小,不过分损失质量情况下尽量减小页面下载数据量。

一般的规律颜色层次变化少的图用gif,反之jpg. 图片切割严格按照像素内容边缘动刀。

3. 图片命名规范

3.1.名称全部用小写英文字母、数字、下划线的组合,其中不得包含汉字、空格和特殊字符;目录名应以英文、拼音为主。尽量用一些大家都能看懂的词汇。使得你自己和工作组的每一个成员能够方便的理解每一个文件的意义。

3.2.名称分为头尾两部分,用下划线隔开。

3.3.样例说明见下表:

图片分类    命名

广告、装饰图案等长方形的图片    ad_

标志性的图片    log_

在页面上位置不固定并且带有链接的小图片(按钮)    btn_

导航图片    nav_

菜单图片    men_

装饰用的照片取名    pic_

不带链接表示标题的图片取名    tit_

小图标    ico_

背景图片    bg_

… …    … …

依照此原则类推,名字要让旁人搞得懂。

尾部分用来表示图片的具体含义。

样例,大家应该能够一眼看明白图片的意义:

ad_sohu.gif、 ad_sina.gif、men_aboutus.gif、men_job.gif、tit_news.gif、log_police.gif、 log_national.gif、pic_people.jpg、pic_hill.jpg、ico_arrow.gif

注:

1.在开发页面的时候我们通常会遇到一些数据图片,比如:MV的缩略图,个性化头像等,这些图片统一使用001.gif,002.jpg,003.gif…依次命名,这些图片在项目正式上线后,应在服务器上删除,备份文件中仍需保留;

2.目前尽量不使用带透明度的PNG格式的图片;

 
第三部分 CSS样式书写规范
一 样式命名规范

1.class 命名采用小写英文字母、数字、下划线的组合,其中不得包含汉字、空格和特殊字符;。例如:.tit(标题),.com_u(评论人),.l01(某一块的左边)等,

2.样式名称以数字开头无效

3.部分命名解释约定(后期不断更新,以“附件1. 命名解释约定”的形式):

解释含义    命名

左边(右边)    .l(.r)或.l... (.r...)

标题    .tit_...

按钮    .btn_...

文本框    .inp_...

下拉框    .sel_...

文本区域    .tex_...

数据图片    .pic_...

小图标    .ico_...

背景图片    .bg_...

… …    … …

注:书写样式并不一定遵循本约定。

 
二 id命名规范

1.id命名采用英文单词、组合命名,字母应全部小写,多个单词应采用下划线分割。例如:#title(标题),#comment_user(评论人)等,杜绝使用拼音命名样式;

要求命名:

1.1.直观命名:用位置的词汇来对其命名。这种方法使得类以及id的名称如下面所示:

#top-panel,#horizontal-nav,#left-side ,#center-column,#right-col

1.2.结构化命名(结构,功能,内容):用页面区块名称的词汇来对其命名。这种方法使得类以及id的名称如下面所示:

#branding ,#main-nav ,#subnav ,#main-content ,#sidebar

1.3. 惯例:最常用类/id名称的示例列表:

header ,content ,nav ,sidebar ,footer

2.尽量不缩写,除非一看就明白的单词;

3.注意id名称以数字开头无效;
三 字体样式的命名

1.静态文字命名格式:f_颜色数值_字号(字体状态)

例如:.f_f30_12 (#ff3300颜色的12号静态文字)

       .f_fd3360_12b (#fd3360颜色的12号粗体静态文字)

2.链接命名格式:l_颜色名称_字号(字体状态)_链接样式或者f_颜色数值_字号(字体状态)_链接样式

例如:.l_ff3300_12 (#ff3300颜色的12号无下划线链接文字)

.l_ff3300_12b(#ff3300颜色的12号粗体无下划线链接文字)

.l_ff3300_12b_u(#ff3300颜色的12号粗体有下划线链接文字)
四 样式文件结构(样式表构成管理)

1.首页一个样式(index.css)包括字体样式等;

2.头部底部样式(top.css);

3.内页样式

内页样式根据具体的项目、页面布局设计可以考虑一个或多个内页样式,一般考虑如下:

3.1.如果所有内页布局相近可考虑一个内页样式并且加上相应的注释(详见“注释”章节);

3.2.如果有几个内页布局相近可考虑这几个内页一个样式并且加上相应的注释(详见“注释”章节);

    4.详细页一个样式(detail.css);
五 样式书写技巧

样式书写技巧主要优点是提高书写效率,节省样式代码,提高网页浏览速度。

1.CSS的缩写

Web 网站可用性的关键指标是速度,更确切地说,是页面能以多快的速度出现在访问者的浏览器窗口里。影响速度的因素有很多种,包括Web服务器的速度、访问者的 Internet连接情况,以及浏览器必须下载的文件大小。尽管你无法控制服务器和连接的速度,但是你可以控制构成网站Web页面的文件大小。

 

为 了让网站能够更快,Web的建设者都会按常规地压缩和优化网站上的每一个图像文件,这常常使得为了将文件的大小减少几个百分点而牺牲了图像的质量。由于 CSS样式表是纯文本文件,和图像相比相对较小,所以Web建设者很少考虑采取措施减少其CSS样式表文件的大小。但是,通过使用CSS缩写以及其他的一 些简单技巧,你可以在很大程度上减少样式表的大小。在我对自己样式表的一次非正式的特别测试中,我把文件的大小降低了大约25-50%。

1.1.CSS属性值的缩写:是一些专用的性质名,用来代替多个相关性质的集合。

通常可以缩写的属性margin,padding,border,font,color,background等等…

CSS 的缩写性质(shorthand property)是一些专用的性质名,用来代替多个相关性质的集合。例如,间隙性质(padding property)是顶部间隙(padding-top)、右侧间隙(padding-right)、底部间隙(padding-bottom)和左侧间 隙(padding-left)的缩写。

 

使用速写性质让你能够把多个性质/属性对(property/attribute pair)压缩进CSS样式表的一行代码里。例如,想一想下面的代码:

.sample1 {margin-top: 15px;margin-right: 20px;margin-bottom: 12px;margin-left: 24px;padding-top: 5px;padding-right: 10px;padding-bottom: 4px;padding-left: 8px;border-top-width: thin;border-top-style: solid;border-top-color: #000000;}

将它用一些缩写性质来替代就能够把代码减少为下面这样,两者的实际效果是完全一样的:

.sample1 {margin: 15px 20px 12px 24px;padding: 5px 10px 4px 8px;border-top: thin solid #000000;}

要注意,缩写性质还有多个属性,每一个(属性)都对应一个被组合进入缩写性质的常规性质。属性由空白隔开。

当属性是类似的值的时候,例如用于边框空白性质(margin property)的线性测量的时候,接在缩写性质之后的属性的顺序很重要。属性的次序是从顶部(顶部的边框空白)开始,然后围绕格子(box)按顺时针次序继续。

如果缩写性质的所有属性都是相同的,那么你可以简单地列出单个属性,然后在前面将它复制四遍。因此,下面的两个性质是相等的:

margin: 5px 5px 5px 5px;

margin: 5px;

类似的,你可以使用接在边框空白或者间隔性质之后的两个属性来代表顶部/底部和右侧/左侧属性对。

margin: 5px 10px 5px 10px;

margin: 5px 10px;

属性的顺序在它们是不相似的值的时候是不重要的。因此,边框颜色、边框风格和边框宽度等属性可以以任何顺序接在大纲性质(outline property)之后。忽略某个属性等同于从样式规则里忽略掉对应的常规性质。

下面是CSS缩写性质的列表以及它们所表示的常规性质。

background(背景):背景附件、背景颜色、背景图像、背景位置、背景重复

border(边框):边框颜色、边框风格、边框宽度

border-bottom(底部边框):底部边框颜色、底部边框样式、底部边框宽度

border-left(左侧边框):左侧边框颜色、左侧边框样式、左侧边框宽度

border-right(右侧边框):右侧边框颜色、右侧边框样式、右侧边框宽度

border-top(顶部边框):顶部边框颜色、顶部边框样式、顶部边框宽度

cue(声音提示):前提示、后提示

font(字体):字体、字号、字体样式、字体粗细、字体变体、线高度、字体大小调整、字体拉伸

list-style(列表样式):列表样式图像、列表样式位置、列表样式类型

margin(空白):顶部空白、右侧空白、底部空白、左侧空白

outline(大纲):大纲颜色、大纲样式、大纲宽度

padding(间隙):顶部间隙、右侧间隙、底部间隙、左侧间隙

pause(暂停):后暂停、前暂停

 

2.减少空格:减少CSS样式表大小的另一种方法是从文档里删掉大多数无用的空白。换句话说,将每条规则打破放进一行代码里,即把原来插入到代码里用来把每个性质/属性分割到不同行的换行符和缩进符删掉。

例如,下面的代码示例在内容上相同,但是第二个要精炼得多:

h1 {font-size: x-large;

font-weight: bold;

color: #FF0000;}

               

h1 {font-size: x-large; font-weight: bold; color: #F00}

 

3.合并具有相同属性和属性值的样式:就是把具有相同属性和属性值的样式的样式名称(样式选择符)写在一起,用逗号隔开(英文状态);再在后面写样式属性。

例如,下面的代码示例在内容上相同,但是第二个要精炼得多:

.nav1 {font-size:14px; font-weight: 700; color: #F00}

.nav2 {font-size:14px; font-weight: 700; color: #F00}

.nav3 {font-size:14px; font-weight: 700; color: #F00}

等同于:

.nav1, .nav2, .nav3 {font-size:14px; font-weight: 700; color: #F00}

4. 同名样式继承(本部分内容不做强行要求):就是一个页面调用一个或多个样式表时,在这个或者这些样式表中出现两个(或两个以上)样式名一样的样式。这时这 个样式的属性等于两个(或两个以上)同名样式的属性加起来。如果两个(或两个以上)样式同名样式的属性有重叠,则页面将以就近原则解析样式属性。

例如:

.ls1 {font-size: 9pt;text-align: left;width: 300px;}

.ls1{border: 5px solid #ffcc00}

.ls1{line-height:20px}

等同于:

.ls1 {font-size: 9pt;text-align: left;width: 300px; border: 5px solid #ffcc00; line-height r: 20px }

 

5.样式重用(本部分内容不做强行要求):就是再页面中,一个div容器同时调用两个(或两个以上)不同样式,那么这个div容器的样式属性等于两个(或两个以上)样式的属性加起来

例如:

Css:

.ls0{font-size: 9px;text-align: left;width: 300px;}

.ls1{border: 1px solid #ffcc00}

.ls2{border: 1px solid #ff3300}

 

Div:

<div class=”ls0 ls1”></div>

<div class=”ls0 ls2”></div>

 

 

6.样式的解析

6.1.例如以下样式:主要解决样式重名,区分同名样式在不同属性,使样式层次结构更加分明;

写法:

样式名+空格+样式名{…}

例如:

Css:

.top .left { font-size: 12px;text-align: left;width: 300px;}

Div:

<div class=”top”>

        <div class=”left”>这里是left被解析为font-size: 9pt;text-align: left;width: 300px</div>

</div>

<div class=”bottom”>

        <div class=”left”>这里是left不被解析</div>

</div>

 

这里left样式表示在且仅在top样式容器下被解析。

 

7.为了保证不同浏览器上字号保持一致,字号建议用像素px来定义,

8.字体要求:宋体(汉字)或Arial(字母,数字)

六 样式书写格式统一

每条样式写成一行;


七 过长的内容

经常会碰到一些歌曲名,歌手名内容过长,字打不下的情况,这时我们要写样式来限定字符长度;

 
 
第四部分 注释规范

发布版本应删除所有的注释:
一 HTML注释

正确的注释规范:<!--这里是注释-->感叹号后面2个横线,结束时2个横线;

不要在注释内容中使“--”

“--”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。例如下面的代码是错误的:

<!--这里是注释-----------这里是注释-->

<!-----------这里是注释-----------这里是注释----------->

用等号或者空格替换内部的虚线,这样是正确的:

<!--这里是注释============这里是注释-->

 
二 CSS样式注释

 

由于CSS+DIV制作页面,样式代码多,布局比较复杂,更便于页面后期的维护,更改,所以有必要在样式上加上注释。注释规法如下:

1.注释规范

/*这里是注释*/

例如:. news {…}/* 这里是高度自动撑 */

 
 
第五部分 JavaScript脚本语言,Ajax等代码书写规范
一 命名规范

1.变量命名必须为 小写英文字母;

另外常用临时变量不用这么复杂。如下表

变量类型    变量命名    备注

数字        Number    i, j; l, m, n; p, q; x, y    主要用于循环变量和坐标,而且喜欢成对出现

字符串      String    s   

单个字符    Character    c    虽然本质上还是字符串

对象          Object     o   

错误          Error     e    常用于catch

 

2.类的命名使用骆驼命名规则,就是每个单词的第一个字母要大写,间隔字符为空,即没有间隔;

例如: Account, EventHandler;

3.简写单词不能使用大写名称作为变量名,例如:

getInnerHtml(),getXml(),XmlDocument;

4.方法的命令必须为动词或者是动词短语: obj.getSomeValue();

 
二 关于变量

1.变量必须在声明、初始化以后才能使用,即便是 NULL 类型;

2.变量不能产生歧义;

3.相关的变量集应该放在同一代码块中,非相关的变量集不应该放在同一代码块中;

4.变量应该尽量保持最小的生存周期(即可以用局部变量的地方不要用全局变量);

 
三 注意事项

1.每行代码结束必须叫分号(;);

    2.if…else…必须有完整的语法结构,即if(…){…}else{…};

 

注:其他JS的规范可参加《JavaScript脚本语言规范》
第六部分 其他重要说明
一 前台页面开发本地测试

在 前台页面开发过程中及开发结束需经过多浏览器测试;目前必须测试的浏览器为:Internet Explorer 6、Internet Explorer 7、Mozilla Firefox 2、Opera 9、Safari;建议测试的浏览器Internet Explorer 5.5。

1. 固定内容测试

测试在多浏览器下显示的页面是否一致,是否在多浏览器下和设计稿保持一致;要求精确到一个像素;

2.脚本测试

    测试在多浏览器下脚本代码功能的一致性;

3.不确定内容测试

比如网友留言,网友消息,主页日志等,就是版块内容由网友发布,没有固定的格式,宽高和元素等。这时我们就必须模拟各种网友发布的内容,并测试高度自动撑开,宽度扯开,等等。

4.宽屏或高分辨率显示器测试

最后一项测试是宽屏或高分辨率(目前认为横向1280px分辨率)显示器下测试,测试页面是否错位,位移,等等

 
第七部分 静态页面源文件备份规范

静态页面源文件中的JS和CSS分为开发版本和发布版本;
一 项目开发源文件备份规范

备份人员在项目上线,备份静态页面时,需对静态页面文件夹html重命名,格式为:html_备份时间(时间格式yy-mm-dd ),例如再2007年09月01日对静态页面文件夹html的备份应命名为:html_07-09-01;

其中HTML目录下JS和CSS文件夹中的文件分别为开发版本的JS和CSS文件;HTML目录下JS_Release和CSS_Release目录下分别为发布版本的JS和CSS压缩文件
二项目维护源文件备份规范

◎在项目修改维护期间,备份前台页面源文件的等存放文件夹命名为:html_项目修改日期;例如:前台页面源文件07年9月22日修改,则命名为:html_07_09_22;,以确保新设计稿源文件备份不会覆盖上一版本的设计稿源文件;

◎将vss上的上一版本的静态页面备份目录放入old文件夹;

◎ 前台页面源文件最新的备份文件应与线上的页面保持一致;

 

 

 
第八部分 附件
附件1:CSS命名规则

CSS文件命名

1.一律小写;

2.尽量用英文;

3.不加中杠和下划线;

4.尽量不缩写,除非一看就明白的单词.

主要的 master.css

模块 module.css

基本共用 base.css

布局,版面 layout.css

主题 themes.css

专栏 columns.css

文字 font.css

表单 forms.css

补丁 mend.css

打印 print.css

 

XHTML文件中class的命名

(1)颜色:使用颜色的名称或者16进制代码,如(不建议以表现来命名)

.red { color: red; }

.f60 { color: #f60; }

.ff8600 { color: #ff8600; }

 

(2)字体大小,直接使用"font+字体大小"作为名称,如

.font12px { font-size: 12px; }

.font9pt {font-size: 9pt; }

 

(3)对齐样式,使用对齐目标的英文名称,如

.left { float:left; }

.bottom { float:bottom; }

 

(4)标题栏样式,使用"类别+功能"的方式命名,如

.barnews { }

.barproduct { }

 
    

XHTML文件中id的命名

(1)页面结构

容器: container

页头:header

内容:content/container

页面主体:main

页尾:footer

导航:nav

侧栏:sidebar

栏目:column

页面外围控制整体布局宽度:wrapper

左右中:left right center

(2)导航

导航:nav

主导航:mainbav

子导航:subnav

顶导航:topnav

边导航:sidebar

左导航:leftsidebar

右导航:rightsidebar

菜单:menu

子菜单:submenu

标题: title

摘要: summary

(3)功能

标志:logo

广告:banner

登陆:login

登录条:loginbar

注册:regsiter

搜索:search

功能区:shop

标题:title

加入:joinus

状态:status

按钮:btn

滚动:scroll

标签页:tab

文章列表:list

提示信息:msg

当前的: current

小技巧:tips

图标: icon

注释:note

指南:guild

服务:service

热点:hot

新闻:news

下载:download

投票:vote

合作伙伴:partner

友情链接:link

版权:copyright

 

 

 

 
附件2:XHTML标准

--------------------------------------------------------------------------------------

你可以通过开始书写严格的HTML代码来为你的XHML之路做准备

 

How To Get Ready For XHTML

如何开始XHTML呢?

XHTML is the next generation of HTML, but it will of course take some time before browsers and other software products are ready for it.

XHTML是HTML的下一代语言,当然,在新的浏览器和其他的相关软件产品出现之前,它将延迟一段时间才能普及。

In the meantime there are some important things you can do to prepare yourself for it. As you will learn from this tutorial, XHTML is not very different from HTML 4.01, so bringing your code up to 4.01 standards is a very good start. Our complete HTML 4.01 reference can help you with that.

其间,有一些重要的事情你能够去做来为它的学习做准备。就像你可以从这篇指南学到的东西一样,XHTML不是与HTML4.01有很多不同的,所以把你的代码改写程4.01标准是一种非常好的开始,我们完整的HTML4.01参考可以帮助你解决这个问题。

In addition, you should start NOW to write your HTML code in lowercase letters, and NEVER make the bad habit of skipping end tags like the </p>.

另外,现在你应该开始用小写字母来书写你的HTML代码了,并且永远不要再像以前那样有跳过像</p>这样的结尾标记的坏习惯了。

Happy coding!

陶醉于编码之中吧!

 

The Most Important Differences:

两者最主要的不同:

XHTML elements must be properly nested

XHTML documents must be well-formed

Tag names must be in lowercase

All XHTML elements must be closed

XHTML元素必须正确的嵌套

XHTML文档必须有良好的格式

标记的名字必须用小写字母

左右的XHTML元素都必须有关闭符

 

Elements Must Be Properly Nested

元素(标记)必须被正确的嵌套

In HTML some elements can be improperly nested within each other like this:

在HTML中,有些标记能够非正确的相互嵌套,就像这样:

 

<b><i>This text is bold and italic</b></i>

 

In XHTML all elements must be properly nested within each other like this:

在XHTML中所有的标记必须被正确的嵌套,像这样:

<b><i>This text is bold and italic</i></b>

 

Note: A common mistake in nested lists, is to forget that the inside list must be within an li element, like this:

注意:在列表嵌套的时候大家经常会犯一个错误,那就是忘记了插入的新的列表必须在一个<li>标记中,像这样

<ul>

 <li>Coffee</li>

 <li>Tea

    <ul>

      <li>Black tea</li>

      <li>Green tea</li>

    </ul>

 <li>Milk</li>

</ul>

 

This is correct:

正确的写法

<ul>

 <li>Coffee</li>

 <li>Tea

    <ul>

      <li>Black tea</li>

      <li>Green tea</li>

    </ul>

 </li>

 <li>Milk</li>

</ul>

 

Notice that we have inserted a </li> tag after the </ul> tag in the "correct" code example.

在这段正确的代码示例中,注意到我们在</ul>之后加了一个</li>标记吗?

 

Documents Must Be Well-formed

文档必须格式良好

All XHTML elements must be nested within the <html> root element. All other elements can have sub (children) elements. Sub elements must be in pairs and correctly nested within their parent element. The basic document structure is:

所有的XHTML标记必须被嵌套使用在<html>根标记之中。所有其他的标记能有自己的子标记。位于父标记之内的子标记也必须成对的而且正确的嵌套使用。一个网页的基本结构是这样:

 

<html>

<head> ... </head>

<body> ... </body>

</html>

 

Tag Names Must Be In Lower Case

标记的名字必须用小写字母

This is because XHTML documents are XML applications. XML is case-sensitive. Tags like <br> and <BR> are interpreted as different tags.

这是因为XHTML文档是XML的应用程序,XML是大小写敏感的,像<br>和<BR>是会被认为为两种不共的标记的。

This is wrong:

错误的:

<BODY>

<P>This is a paragraph</P>

</BODY>

 

This is correct:

正确的

 

<body>

<p>This is a paragraph</p>

</body>

 

All XHTML Elements Must Be Closed

所有的XHTML标记都必须有关闭符

Non-empty elements must have an end tag.

非空的标记必须有一个关闭符。

This is wrong:

这是错误的:

 

<p>This is a paragraph

<p>This is another paragraph

 

This is correct:

这才是正确的

 

<p>This is a paragraph</p>

<p>This is another paragraph</p>

 

Empty Elements Must Also Be Closed

空标记也必须有关闭符

Empty elements must either have an end tag or the start tag must end with />.

空标记必须有关闭符或以开始符加上 />来结束

This is wrong:

错误的代码

This is a break<br>

Here comes a horizontal rule:<hr>

Here's an image <img src="happy.gif" alt="Happy face">

This is correct:

正确的:

This is a break<br />

Here comes a horizontal rule:<hr />

Here's an image <img src="happy.gif" alt="Happy face" />

 

IMPORTANT Compatibility Note:

关于兼容性的重要的注释:

To make your XHTML compatible with today's browsers, you should add an extra space before the "/" symbol like this: <br />, and this: <hr />.

为了使你的XHTML能够兼容现在的浏览器,你必须在/符号之前加一个特殊的空格,就像这样:<br /><hr />

 

转载于:https://www.cnblogs.com/javashi/archive/2010/01/21/1653652.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值