if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="/m/view.php?aid=16";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}
织梦CMS - 轻松建站从此开始!

金冠娱乐_金冠娱乐场 上海精控光纤设备有限公司

当前位置: 主页 > 网页基础 > HTML >

使用XHTML按标准重构网站

时间:2010-04-07 09:29来源: 作者: 点击:
我们曾经为本节撰写的标题是:“XHTML:简单的规则,容易的方针。”原因之一是,本节讨论的规则和方针是简单和容易的。原因之二是,一本简单和容易的WEB设计图书,就像超级市场的新式的免费商品一样,虽然常见却可以有效地吸引人的眼球,这样的东西可以刺激人
var _mda_place_id ="58bcc82381892";

我们曾经为本节撰写的标题是:“XHTML:简单的规则,容易的方针。”原因之一是,本节讨论的规则和方针是简单和容易的。原因之二是,一本简单和容易的WEB设计图书,就像超级市场的新式的免费商品一样,虽然常见却可以有效地吸引人的眼球,这样的东西可以刺激人的兴趣,并且鼓励人们尝试。

我确实希望本节的内容可以激发你的兴趣,并鼓励你去尝试。为什么这么说呢?因为一旦你掌握了本章包含的简单容易的理念,你就会重新思考网页运作的方式,并开始改变建造它们的方法。然而我并不希望你只是将代码重新改写一边。我希望你可以实实在在地以另一种方式思考和工作。

另一方面,重构才是XHTML真正的意义。

在本章,我们将研究结构化标记的机制和涵义。如果你正在将网站标准融入你的开发项目,你或许会觉得本章的内容有些熟悉。不过即便是这方面的老手,也会从本章发现意外的收获。

XHTML规则概要
将传统的HTML转换为XHTML 1.0是快捷且无痛的,只要你遵守一些简单的规则和容易的方针。不管是否使用过HTML,都不会妨碍你使用XHTML。

使用恰当的文档类型声明和命名空间。
使用meta元素声明你的内容类型。
使用小写字母书写所有的元素和属性。
为所有的属性值加引号。
为所有的属性分配值。
关闭所有的标签。
使用空格和斜线关闭空标签。
不要在注释中写双下划线。
确保小于号及和号为<和&
Unicode和其他字符集
XML、XHTML、和HTML 4.0文档的默认字符集是Unicode,一个由Unicode联盟定义的标准。Unicode是一套全面的字符集,它为每个字符提供了一个特定的唯一的数字,不论平台、程序和语言。Unicode也是我们拥有的最接近通用字母表的事物,尽管它并不是一个字母表,而是一套数字映射方案。

尽管Unicode是web文档默认的字符集,开发人员依然可以自由地选择更适合他们的其他字符集。比方说,美国和西欧的网站常常使用ISO-8859-1 (Latin-1)编码,而中华人民共和国的国家标准是gb2312。

为表达语义而标记文档,而不是为了样式
记住:请最大限度地使用CSS来进行布局。在web标准的世界里,XHTML标记与表现无关,它只与文档结构有关。

结构良好的文档可以向浏览器传达尽可能多的语义,不论是浏览器位于掌上电脑还是时髦的桌面图形浏览器。结构良好的文档都能向用户传达可视化的语义,即使是在老的浏览器,或是在被用户关闭了CSS的现代浏览器中。

不是每个站点都能立即抛弃HTML表格布局。CSS的发明者,W3C,直到2002年11月才将官方网站转换为CSS布局。然而,即使是顽固的唯标准主义者也不总是将表现从结构中完全分离处理,至少在XHTML 1中是做不到的。但是现在,我们可以向这个理想迈出重大的一步,通过将表现从结构中分离(或者说将数据从设计中),即使是混合的传统的布局也可从中受益。

下面有一些提示,可以帮助你通过更结构化的方式进行思维:

提纲内的色彩
在语法学校,我们中的大部分人都被迫使用标准的提纲格式来写文章。现在,我们成为了设计师,可以多么自由地摆脱提纲的限制,然后大胆地投身于独特的个人表达的自由领域(也许我们的宣传册和商业站点还不是那么独特和个人化)。但是至少我们不会再受到提纲的困扰了。

实际上,依照HTML,我们应该将内容结构化为有组织的层级。在浏览器不支持CSS的时期,我们无法在交付可供销售的布局的同时做到这一点。但是今天,在将我们的设计不折不扣地实现的同时,我们有能力交付内在结构良好的文档。

当你将供网络使用的文本进行标记,或者当你将已有的文本文档转换为网页时,请使用传统提纲的这些条目进行思考。

我的主题


介绍性文字


补充性的观点


相关文字

(责任编辑:admin)
织梦二维码生成器 var __dedeqrcode_id=16; var __dedeqrcode_aid=16; var __dedeqrcode_type='arc'; var __dedeqrcode_dir='/plus';
顶一下
(0)
0%
踩一下
(0)
0%
getDigg(16);
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
function LoadCommets(page) { var taget_obj = document.getElementById('commetcontent'); var waithtml = "
评论加载中...
"; var myajax = new DedeAjax(taget_obj, true, true, '', 'x', waithtml); myajax.SendGet2("/plus/feedback_ajax.php?dopost=getlist&aid=16&page="+page); DedeXHTTP = null; } function PostComment() { var f = document.feedback; var nface = '6'; var nfeedbacktype = 'feedback'; var nvalidate = ''; var nnotuser = ''; var nusername = ''; var npwd = ''; var taget_obj = $DE('commetcontentNew'); var waithtml = "
正在发送中...
"; if(f.msg.value=='') { alert("评论内容不能为空!"); return; } if(f.validate) { if(f.validate.value=='') { alert("请填写验证码!"); return; } else { nvalidate = f.validate.value; } } if(f.msg.value.length > 500) { alert("你的评论是不是太长了?请填写500字以内的评论。"); return; } if(f.feedbacktype) { for(var i=0; i < f.feedbacktype.length; i++) if(f.feedbacktype[i].checked) nfeedbacktype = f.feedbacktype[i].value; } if(f.face) { for(var j=0; j < f.face.length; j++) if(f.face[j].checked) nface = f.face[j].value; } if(f.notuser.checked) nnotuser = '1'; if(f.username) nusername = f.username.value; if(f.pwd) npwd = f.pwd.value; var myajax = new DedeAjax(taget_obj, false, true, '', '', waithtml); myajax.sendlang = 'utf-8'; myajax.AddKeyN('dopost', 'send'); myajax.AddKeyN('aid', '16'); myajax.AddKeyN('fid', f.fid.value); myajax.AddKeyN('face', nface); myajax.AddKeyN('feedbacktype', nfeedbacktype); myajax.AddKeyN('validate', nvalidate); myajax.AddKeyN('notuser', nnotuser); myajax.AddKeyN('username', nusername); myajax.AddKeyN('pwd', npwd); myajax.AddKeyN('msg', f.msg.value); myajax.SendPost2('/plus/feedback_ajax.php'); f.msg.value = ''; f.fid.value = 0; if(f.validate) { if($DE('validateimg')) $DE('validateimg').src = "/include/vdimgck.php?"+f.validate.value; f.validate.value = ''; } } function quoteCommet(fid) { document.feedback.fid.value = fid; } LoadCommets(1);
栏目列表
var _mda_place_id ="58bcc92e8b472";
推荐内容
var _mda_place_id ="58bcc82381892";
var _mda_place_id ="58bce8309bc21";
var contentRtPicAD2 = document.getElementById("contentRtPicAD2"); var stop = contentRtPicAD2.offsetTop - 60, docBody = document.documentElement || document.body.parentNode || document.body, hasOffset = window.pageYOffset !== undefined, scrollTop; window.onscroll = function (e) { // cross-browser compatible scrollTop. scrollTop = hasOffset ? window.pageYOffset : docBody.scrollTop; if (scrollTop >= stop) { contentRtPicAD2.className = 'stick'; } else { contentRtPicAD2.className = ''; } }