Dreamer

[翻译] 10 Best CSS Practices to Improve Your Code(10个改善CSS的最佳实践)- 2

November 26, 2010 by dreamer

原文链接:10 Best CSS Practices to Improve Your Code
第一部分链接:[翻译] 10 Best CSS Practices to Improve Your Code(10个改善CSS的最佳实践)- 1

4 有用的命名习惯

你会注意到上面我声明了两个列的id,我管他们叫col-alpha和col-beta,为什么不叫col-left和col-right?请总是考虑到将来的编辑。

下一年你可能需要重新设计你的站点,把左边的列移到右边,你不该就为了调整位置而在HTML中重命名这个元素并在样式表中重命名id。

当然,你可以就把左边的列移动到右边并且保留#col-left的id,但是那多让人困惑?如果id是“左”,人们应该会希望它将一直在左边。之后这没为你留下太多空间去移动周围的东西。

CSS的一个主要优点就是分离样式和内容的能力。你可以完全不用碰HTML,只修改CSS,就能重设计站点,所以不要用限制性的名字弄脏了CSS。用更通用的命名习惯,并保持一致。

让具体的位置或者样式的词语原理你的样式和id,一个.link-blue同样会让你话费更的工作,或者在客户要求你把那些蓝色的链接修改成橙色的时候让你的样式变得真的很糟糕。

按照他们是什么,而不是他们看起来的样子为元素命名。例如,.comment-blue和.comment-beta比起来就不太通用了,.post-largefont比.post-title更局限一些。

5. 用连字符取代下划线

比较老的浏览器可能对CSS中的下划线支持不太好,或者完全不支持。为了更好的向后兼容,请养成使用连字符的习惯。用#col-alpha而不是#col_alpha。

6. 不要重复自己

用组合元素代替重新声明样式来尽可能的重用样式。如果你的h1和h2都用同样的字体大小、颜色和边距,用逗号组合他们。

如下:

你也应该尽可能使用简写。请永远寻找机会组合元素并使用简写声明。

你可以比较以下两种写法:

明白css解释这些简写的顺序是非常重要的:top,right,bottom,left。一个大的顺时针圈,从正午开始。

同样的,如果top和bottom,或者left和right属性是相同的,你只需要写两个:

这条声明将top和bottom的margin设置为1em,left和right的margin为0。

7. 优化为轻量级的样式表

遵照上面的技巧,你能真的减少样式表的体积。体积越小,加载越快,并且更易于维护更新。

删掉那些不需要的,尽可能的用组合来合并样式。小心使用封装好的css框架,你很可能继承了一大堆不会用到的东西。

另一个为css瘦身的快速技巧是:你不需要为0指定单位。如果一个margin设置为0,你不需要写0px或者0em。0就是0,不需考虑丈量单位,css能够明白。

8. 为Gecko编写你的基本样式,然后为Webkit和IE做调整

把你自己从排除故障的头疼中拯救出来,先为Gecko浏览器(Firefox, Mozilla, Netscape, Flock, Camino)写css。如果你的css在Gecko中工作得很好,它也很可能在Webkit(Safari, Chrome)和IE中也没有问题。

9. 验证

请使用W3C的免费CSS验证。如果你遇到问题,你的布局不像你想要的那样工作,CSS验证器会在指出错误方面给你很大的帮助。

10.保持屋内整洁

为特定浏览器写的CSS分别放到各自独立的样式表,用Javascript/服务器端代码或者条件注释按需加载。用这个方法避免在主样式表出现肮脏的CSS hacks。这将保持基本的CSS干净且易于管理。[完]

Posted in: Interaction&Front-end, User Interface Tagged: code, css, programing

Categories

  • ACG
  • Flash3D
  • Interaction&Front-end
  • Life
  • Mobile
  • User Interface
  • Visual Design
  • 工作整理
  • 懒人食谱
  • 服务器

Recent Comments

  • dreamer on Kill IE6?
  • 曉行 on Kill IE6?
  • Benny on 互动设计是神马?
  • 人人都爱vancl | Dreamer on 互动设计是神马?
  • dreamer on http协议复习笔记摘要

Tags

3dmax 3Z 403 960 Grid System acg android apache call to action code collada css CSS framework dae Designing Interactions Designing Interfaces diy Don't Make Me Think flash G7 gallery html http httpd.conf ie6 iPad 2 mysql papervision3d php programing PV3D realign shelock holmes wap web window wordpress xhtml xhtml mp 互动设计 产品 便当 凡客 咖喱 手机 手机网站

Copyright © 2025 Dreamer.

Mobile WordPress Theme by themehall.com