学习网考试学习资料

Gzu521.com

web设计与开发常见错误(1)

HTML教程   点击:次   发布时间:2006-12-14   【字体: 】   来源:Gzu521.com
贵 州 学 习 网

原文:http://www.456bereastreet.com/lab/web_development_mistakes/
翻译:junchen

本文是一份web设计与开发常见错误的汇总,总结了我的web设计与开发错误和web设计与开发错误。 IY&#}!h)9J-7-[tq [ 本 资 料 来 源 于 贵 州 学 习 网 网页设计HTML教程 http://Www.gzU521.com ] IY&#}!h)9J-7-[tq

本文包含了常见的设计开发错误以及我的一些解释,我也尝试着提供一些避免错误的方法,在某些问题上我也会给出错误信息的链接。

混淆文档类型(doctype)

完全不写、写的不正确、或放错地方。我曾见过html 4.0 transitional被用在xhtml网页和框架页中,还看到过在开头的<html>标签后写doctype声明和一些不完整的声明。
为什么?有两个原因。首先,文档声明是必须的,在w3c html 4.01 spec和w3c xhtml 1.0 spec里都有说明。第二,浏览器会根据指定的文档类型去显示和渲染网页。也就是“doctype切换(doctype switching)”。为了保持各个浏览器显示网页的一致性,特别是你用了CSS,你一定会希望浏览器使用它们“standards compliance mode”。关于doctype切换,可以看看使用正确的doctype!和正确的文档类型声明,正确的布局方式。

<span>癖

样式化的一个常见方法就是把一段东西用<span>标签围起来,并且带一个class用来设置样式。我敢保证你经常可以看到诸如<span class="heading">和<span class="bodytext">的代码。
为什么? 其实在很多情况下这完全没必要,这样做只会混乱标签并且没有什么语义。标题就用标题(h1~h6)标签,段落就用段落(p)标签,列表就用列表(ul, ol和dl)标签。然后再用css去样式化,如果需要的话,也可以加class和id属性。

太多可视化思考

以为web就是wysiwyg(所见即所得) – 一开始就想着这些东西该怎么表现的,而不是先去考虑逻辑结构上怎么样。
为什么? 虽然大部分网民都是视力正常的,但是还是有残疾人上网的。网民可能使用不同浏览器、不同系统、不同尺寸显示器和分辨率、不同的窗口大小、不同颜色标准和文字大小,所以你不应该把你的网页做成wysiwyg。网页不是印刷品或者电视节目。要让你的设计弹性化。

缺乏语义

没有使用具有语义的标签。想当然的按照图形浏览器渲染的html样式去写代码,而不是参照这些标签的意义。
为什么?和上文提到的"<span>癖”比较接近,没有好好的利用现有的html标签来表达它应该表达的语义。没有语义化的html,为那些非可视化用户代理(ua)造成了理解上的困难。而且语义化的html很容易进行css样式化。

编码不一致

服务器发送的默认编码是一种而文档里面又使用另外一种,这可能会造成浏览器乱码(不正常显示)。
为什么?因为你必须得保证所有你的访问者都能阅读你的内容。

不正确的alt属性

没写或者写了没意义。在网络上可以看到非常多没有alt属性的<img>标签。没意义的alt属性倒是不如前者常见,比如“spacer gif used to make the layout look good”,“带有阴影的蓝色原点”, 以及“jpeg图片,123 kb”。要记住,alt属性在<img>和<area>里是必须的。
为什么? 这是必须的,没有alt,任何图片中的信息就会被屏幕阅读器、文本浏览器、搜索引擎机器人忽略,或者用户关了图片显示就会显示为x。注意图片的alt的文字是要相关的,不要给装饰性的图片或者用来布局的图片加alt属性值,指定一个空值就可以了,如alt=""。

不合法的id和class属性

在同一页面里使用了多次同一id,以及在id、class和css选择器中使用了非法字符。

对于css来说 (css 2.1语法和基本数据类型):

在css 2.1里,标示符(包括元素名、class和id)只能由数字、字母、iso 10646通用字符集u+00a1及更高、连接线("-")、下划线("_")组成,并且不能以数字开始。

对于html (html基本数据类型):

id和name必须以大写或小写字母开始,随后可以接任意字母、数字、连接线("-")和下划线("_")、冒号(":")和分号(".")。gVLz;.ejX+ [h]^u9[ 此文转贴于我的学习网网页设计HTML教程 http://www.Gzu521.com]gVLz;.ejX+ [h]^u9

为什么?遵循以上标准的浏览器可能不会按照你预期的现实。如果一个页面中有多个重用的id值,那么任何使用了该值的js就可能会失效或者错误。

浏览器探测

使用服务器端或客户端的脚本测试访问者的浏览器,然后发送或者执行特定浏览器的代码。这对于最新的浏览器、更新过的浏览器或者具备欺骗功能的ua(比如opera默认伪装成ie)。
为什么?增加了不必要的麻烦,并且最终会失效。

css缺少单位

长度值(水平和垂直的)需要单位,除非当该值为零时。不像在html里面,可以输入width="10"。在css里, 必须写成width:10px;(或者其他单位)。
为什么?在遵循规范的浏览器中会被忽略。

浏览器特定的css

样式化滚动条、表达式和滤镜等,都只能在ie下工作。这也不合法。
为什么? 只在特定的浏览器里面正常。如果你真的必须使用ie特定的css,可以单独写一个css文件并且使用条件注释,或者保证只有ie能看到那些不合法的css。

Javascript依赖症

网站整个依靠JavaScript。很多人都愿意使用不支持js或者禁用js的浏览器。当前的情况(w3schools浏览器统计, thecounter.com)表明至少有8%-10%的用户浏览器不支持js。搜索引擎机器人对待js也不是非常友好,虽然有报告说google正在开发支持js的机器人。如果你的站点需要开启js才能导航,那别指望有一个很高的搜索引擎排名。
为什么?对搜索引擎不友好,难以提高排名。

下一页
本文共2页: 第 [1] [2]

责任编辑:gzu521

网页设计分类
HTML教程
CSS教程
Javascript教程
Dreamweaver教程
FrontPages教程
FireWorks教程
Flash教程
PhotoShop教程
建站知识
分类推荐信息
更多...
大类最新文章
更多...