您的位置: 首页 > 技术文档 > 网站建设 > 重构、标准、布局
行业网站设计心得 回到列表 FLASH,你要我怎么跟你说!
 重构、标准、布局

作者:鸡毛 时间: 2004-08-17 文档类型:原创 来自:蓝色理想

  近来大家总是在标准上争论不休,其实,这些问题一些相关文章已经说得很明白了。

  以下我就谈谈我的看法。本帖子有太多的“我认为”,说明了我只是想把我的想法拿出来跟大家商榷,或许有太多不对的地方,也请大家一一指出。

  1、我对web标准的理解
  所谓的web标准,在一些教程文章上已经得到结论:结构化标准(XHTML、XML)、表现标准(CSS、XSLT?)、行为标准(DOM、ECMAScript)。这些东西在网上一搜一大把,在这里我就不多说了。我只说我自己的想法:

  a.标准是相对的,有其一定的局限性
  作为标准本身,它也在不断地完善中。我们也可以加入其中完善它,而不是盲从它。没有最好,只有更好。(LeXRus前一阵子说要成立自己的web标准组织,不知道现在怎么样了。)

  b.标准只是被推荐使用,好的标准大家都会自觉去遵守
  我们之所以使用标准,就是因为标准对我们有利。正如现在倡导的ISO9000标准一样,它只是倡导,并不强迫。我认为它对我有用,所以我用它;同样,如果你认为它实在不怎么样,你也可以不用它,标准本身不应该带有任何强迫性。就跟打篮球一样,NBA是24秒进攻,我们是30秒进攻,我们要想加入NBA,就得用人家的规则。还有我们加入“世贸”也是,如果我们够拽,自己成立一个“世贸”,自己发布一套标准,也是可以的。

  c.标准没有明确提到用div还是table
  有些朋友很容易把标准简单地等同于“把table换成div”。我不这么认为,因为table也是符合xml规则的。含有table的页面照样可以通过XHTML1.0的验证。

  d.“div布局”不只是用div进行布局
  我们可以用一切可能的标签(包括table)对页面进行布局,目的就是要达到最优。它只是提出一个概念,一个全新的模式。坛子里也有人说过,“重要的是观念上的更新,而不是代码。”当然,我们的最终目的是代码的更新。

  e.XHTML验证是手段,不是目的
  有时,我们用javascript来生成flash movie代码,以欺骗validator,通过验证。用这种方法,那么没有通不过验证的页面。如果只是玩玩,那是可以的。但是我怕会有些初学者太把validator当回事,甚至认为通过验证是最终目的。我的看法是:validator不过是一个工具,它帮助我们检查我们的页面是否符合标准,仅此而已。最终我们还是得按客户的要求设计我们的页面。
  
  2、我为什么要用标准
  有人会以为使用标准的目的就是为了达到标准。其实,《网站重构》一语道破天机:为了网站能“活”得更长久,为了提高网站的可访性,更为了降低成本,我们必须采用Web标准!这里有三个“为了”,没有一个是为了标准。标准只是手段。
  接触“标准”后,我尝试去做一些符合“标准”的页面。当时,并不是很明确为什么要使用标准,只是出于一种好奇心理。中间也遇到了一些难题,有技术上的,也有观念上的。但是,现在我很乐意用div+css来给客户做网页。
  用了标准以后,给我的感觉就是:代码精简了,维护方便了。
  代码精简,可缩短页面装载时间。就算在当前宽带的条件下,我们也不应该放宽对自己的要求——精简代码(我想这也是每一个程序员对自己的要求),况且现在还有不少的拨号用户,以及手机上网/浏览的用户。这是一个分秒必争的社会。
  严格按照标准,可以获得更高的兼容性。一个合格的网页制作者,他总是试图让网页达到最高的兼容性。当然,他要在效果与兼容性之间取得某种平衡。就像我们现在挑老公:既要有钱,也要靓仔。
  维护方便,我甚至只要修改一下css就可以让整个页面呈现出完全不同的风格。这可以节省不少工作。
  当然,我认为用标准最重要的一点是:向后兼容。用一个专业的术语就是:可持续发展。网络总是在不断地发展中,一个好的网页制作者,总得对未来的发展有一定的预见。就现在我知道的,以后一段时间确实是xml的天下,直到有更好的东西出来取代它。
  每年都有太多的网站为了跟上时代,花不少钱在改版上。因为改版就意味着一切重来,包括代码,甚至程序。
  标准还要求我们把数据交给XHTML(或者html、xml),把表现交给css,两者各司其职,结合起来。

  3、为table平反
  《网站重构》一书出来以后,也许有很大的误读成分,一些朋友把标准跟重构混淆了,甚至等同起来。我没看过这本书,不好做评价。
  “在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构”,这就是重构。我认为“网站重构”兼有“div布局”跟“web标准”的意思。布局讲的是一种方法,标准讲的是一种规范,这是两码事。
  web标准并不是说不用table,我找遍了网上的文章,没有找到一篇文章说web标准反对使用甚至建议不使用table标签,我想它是这样说的:建议不要使用table“布局”,而改用div+cs“布局”。
  拿一个数据表来说,我认为用table来组织它是最好的解决方案。当然,你要用其他办法来实现也是可以的,但是我敢说都没有table来得简单、简洁。(也许有,只是我没找到?)当然,在学习阶段,强制自己不使用表格解决一切问题,还是蛮有用的。

  以上说了这么多,与其说是我的想法,不如说是汇总了大家的想法。但求不贻笑大方,如果能对初学者有所裨益,那就阿弥陀佛了。

出处:蓝色理想
责任编辑:moonjeep

相关文章 更多相关链接
第一届简历样式表设计圆满结束
使用外部CSS设置FlashMX组件外观
FLASH,你要我怎么跟你说!
DIV BLOG 0.6版
CSS布局入门
作者文章
重构、标准、布局
热门搜索:CSS Fireworks 设计比赛 网页制作 Dreamweaver Studio8 Flash
站点最新 站点最新列表
跟我去香港:The third Day
单件模式结合命令链模式
快乐狗原创动漫大赛
元素层叠级别及z-index剖析
CSS 浏览器的等宽空格
电影变形金刚概念画欣赏
疯狂的程序员 第三十五回
疯狂的程序员 第三十四回
疯狂的程序员 第三十三回
运用ASDoc工具
栏目最新 栏目最新列表
火星人的耳机
公司正式宣布创业失败
用corelDEAW 12打造唇膏
二行代码解决全部网页木马
一行代码解决iframe挂马
Photoshop制作星空爆炸效果
CorelDraw 12打造休闲裤
Firework如何画特殊的切角图形
Firework打造韩式风格的手提袋
flash实例:打造佛光效果
 

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

本文总共有 12 条评论,现在显示最新的 5 条。评分:- llllllllllllllllllll + 评分人数: 6 ,平均分: 4.67


diyism Publish at 2006-10-28 14:54:35
//table有显示效率的问题, div无法控制换行的问题, float有跳到下一行的问题, absolute又容易重叠,
//有办法兼容愚蠢的W3C(实际名称3WC)和愚蠢的微软而实现人类传统的从左到右从上到下的布局方法吗?这就是:
//传统SPAN大法终极解决方案(兼容firefox):
//不要用display:table-cell;取代display:-moz-inline-box;有水平对不齐的问题
//不要去掉vertical-align:middle;因默认的baseline被ie理解为底线却被firefox理解为顶线
//span下的overflow不能去掉(虽然span:inline-box下的overflow是无效的), 否则在firefox下访问含有该段代码的php页面时会出现无规律的盒子丢失现象
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<style>span{display:-moz-inline-box;display:inline-block;vertical-align:middle;overflow:hidden;cursor:default;}</style>
<span><div style="width:700px;border:blue 1px solid;">
<span><div style="width:200px;height:18px;border:red 1px solid;">aSame appearance in ie and firefox</div></span>
<span><div style="width:200px;height:28px;border:red 1px solid;">ie and firefox</div></span><br>
<span><div style="width:150px;height:18px;border:red 1px solid;">ie and firefox</div></span>
</div></span>
为了省事, 在firefox下插入div来crack以及调整firefox下span:inline-box的宽度的工作可以交由js来做:
<script>
if(document.addEventListener)
{document.addEventListener('DOMContentLoaded', ib_fix, false);
}
function ib_fix()
{var spans=document.getElementsByTagName('span');
for (i=0;i<spans.length;++i)
{var eleDiv = document.createElement('div');
eleDiv.innerHTML = spans[i].innerHTML;
eleDiv.style.width = spans[i].style.width;
spans[i].innerHTML = '';
spans[i].appendChild(eleDiv);
}
for (i=0;i<spans.length;++i)
{if (spans[i].style.overflow!='visible')
{spans[i].style.width=spans[i].offsetWidth+
Number(spans[i].style.borderLeftWidth.slice(0,-2))+
Number(spans[i].style.borderRightWidth.slice(0,-2))+
Number(spans[i].style.paddingLeft.slice(0,-2))+
Number(spans[i].style.paddingRight.slice(0,-2))+
'px';
spans[i].style.height=spans[i].offsetHeight+
Number(spans[i].style.borderTopWidth.slice(0,-2))+
Number(spans[i].style.borderBottomWidth.slice(0,-2))+
Number(spans[i].style.paddingTop.slice(0,-2))+
Number(spans[i].style.paddingBottom.slice(0,-2))+
'px';
}
}
}
</script>
dext Publish at 2006-8-12 8:50:16
说的不错,支持!
adam0eve Publish at 2005-12-13 15:51:37 评分5
good!
这才是WEB标准所在传送的
kisshand Publish at 2005-8-3 17:12:15 评分5
说的好,我听重构很久了,基本上我以前做的都符合html4.01标准.
同样,我觉的TABLE有的他的好处.

wskydmtd Publish at 2005-3-24 15:59:28 评分5
呵,说得不错啊~~~虽然我不是很懂~~

查看全部评论

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
大师之路--Photoshop 完全解析
《超越CSS》新书上市
Don't Make Me Think 第2版
HTML与CSS入门经典(第7版)
《FLASH MX2004网站开发精粹》
《CSS入门经典》
《设计师谈网页设计思维》
作品集 更多内容

作品展示1 Touran&nbsp;IPS&nbsp;Minisite [FENGYUAN] 中国四川汶川大地震及余震&nbsp;地点和频率模拟演示 蒙雀商贸 全球通联盟商户服务系统 以前做过的一个产品界面.. 绿色长城基金会