NEWS
“重建”的东风吹遍全国,互联网近期摇摇欲坠。“div CSS”已经成为一种时尚,无数网站开始了自己的“重建”。但是,打开各类网站的源代码,往往会让人发笑。
我们可以看到有6、7层的div布局,有表无表,有纯div a组成的页面,有上百层的class…….现在关于规模的书越来越多。除了少数标榜为“高级技能”的书籍,很少有人在自己作品的前几章里不夸张的说出这样一句话——“分散的布局与体现”。然而,这些书的读者有几个认真读过前几章的呢?还是只是更直接的跳过枯燥的版面讲解,一头扎进看似巧妙的版面技巧中去黑?
“div CSS”这个表达从一开始就误导了太多人,急功近利的心态是造成这种现象的罪魁祸首。制作一个表格布局自定义的网页,第一步不应该是一味的寻求CSS技巧来实现各种布局,而是要乐于改变自己的心法。
1、“节流码”是一种营销技巧,而不是目的。
“div布局比表格布局更能节省代码”,这个我在很多书和网站上都看到过。这句话本身是对的,“代码节流”简直就是网页缩放的好处之一。但是要记住,只是“兴趣之一”,不是“唯一兴趣”,更不是目的。“节流代码”更多的是我们用来说服那些死忠老板的营销技巧。网页缩放的唯一目的是“分散布局和体现”,并不是为了节流代码而节流代码。我曾经因为网站侧边栏甚至主要内容的相似性而接受同一个类(其他一些书至今都是这么教的),这简直比单独命名id更划算。但是,这样做的代价是代码失去了优秀的布局。失去优秀布局的结果是:第一,源代码不可读;第二,网站增加未知的维护成本。想象一下,当某一段内容因必要性而改变以反映情况时,比如链接的颜色等。我们要修改页面源文件,增加额外的类,这比仅仅中介id分组要大得多。而且长此以往,布局会越来越差,形成不可逆的恶性循环。
还有一个环境,出现在id的命名上,也是我犯过的一个错误。当时主菜单命名为mm,二级菜单命名为m2,三级菜单命名为m3,是为了“删减代码”。结果网页的可读性被严重拉低,让其他同事很难处理,却又不厌其烦的想办法省事。同样,文档和文件夹的命名也不应该过于简单。比如《网站重构》发起了所有图片都要存放在“我”目录里,但是我觉得不太能接受。除非你能为这种高度缩略的目录布局写一份详细的说明,并确保所有相关工作人员,包括其他制作人员、开发人员甚至知识渊博的老板都能理解并执行。否则只会给自己增加不必要的贫穷。
2、事物也要“分布反映”
在这方面,网上很多妙手都是这样初始化的,就是先打开编辑器,把布局完整的写出来,然后用CSS写出来,即使不碰已经写好的布局。
然而,对于把阅读作为重要学习方法的人来说,这很难理解,因为大多数关于规模的书都是手把手,教的也就是说,布局必须体现统一,符合规则。虽然有些书有这方面的启蒙,但几个短句远没有学习过程中的那么精妙。当制作人员能够很好的把握版面的时候,写版面和体现对结果不会有太大的影响。但是根据我的简历,版面反映零散事物的方法比写版面同时反映的方法要高很多,不容易遗漏页面上的元素。
当然,所谓“布局分散体现”,并不是说完全不考虑体现。如果你想同时在两个地方,你得保证——能在不压垮布局的情况下选择尽可能多的内容。在哪里加阶级,用哪些标签来区分,见仁见智。相信每个人都有自己的理解。但在联差计划草案中,偶尔需要做相应的修改。但是,所有这些改变应该有一个相同的条件:3354不要破坏代码的布局和可读性。
3、CSS不是万能的,没有CSS也不是不行。
与CSS1.0时期相比,今天的CSS可以完成更多的事情。但是,需求永远在技能前面,CSS不可能完成网页上所有的事情。偶尔要结合JS和其他语言才能达到一些效果。在其他时候,JS方法比单独使用CSS简单得多,代码布局也更加复杂。最典型的例子就是下拉菜单。这些天,我们必须说服自己,可能是老板和客户,接受一个更简单、更公平的方法。由于DOM也是网页尺度的重要组成部分,所以并不是说我们的网页在使用JS的时候服从性低或者尺度低。反而这是对JS最大的误解。在这里,我不得不提到,今天,比以往任何时候都更需要每个职业去了解更多的相关知识。做计划的人一定要懂一点交互和制作,做制作的人也一定要懂计划和节奏,尤其是JS的前端技能。这样你和同事才能更好的互相帮助,个人生活的前景也会越来越光明。