当前位置: 首页 > 图文教程 > 网站运营 > 建站经验 > 模块化 CSS 让你更加有效地去管理 CSS

建站经验
千人站长讲座讲座38期 草根网 笑笑生谈网络编辑技巧
使用 MobilePress 让 WordPress 博客适合手机浏览
php实现高效采集(总分模式)
如何从做菜鸟草根做起到老鸟!让梦想笨鸟先飞吧
淘宝开店千万别忽略了百度
网站优化谷歌明令禁止的十大SEO黑帽技术
利用谷歌分析跟踪移动设备访问
谈我在运营s60v3下载站过程中一些失败的教训
网站要想赚钱请记住做好内容重于泰山
卢松松:网站设计应注意的用户体验
安全措施:修改WordPress默认管理员帐户名
更新网站注意三点
SEO并不是想象中的那么棘手
网站用户体验的八大禁忌
Discuz 0818补丁后丢失最近访问论坛记录的解决办法
基于WA的SEM广告优化之Google Adwords分时段出价
关于新手对分类网站前期规划
论坛营销的特点
浅淡站长如何运营资源下载站
Google Analytics进阶运用之_trackPageview的几种应用

建站经验 中的 模块化 CSS 让你更加有效地去管理 CSS


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 60 ::
收藏到网摘: n/a

modular css

 

在刚学习CSS初期,就接触了“模块化CSS”这样的概念,不过,一直没有很好的理解。说起来,理由很简单:因为几乎所有的代码都是为了博客的设计,而像博客这么小的架构,CSS文件根本不用多,因为本身代码量就小,使用不同表现形式的页面模板并不多,少反而更方便管理。所以,对于模块化CSS的理解很乱,直接导致自己一直认为下面的分法是非常合理的:

1.reset.css // 对浏览器的默认样式进行重设

2.layout.css // 管理页面的布局

3.typeset.css // 图文的编排与

4.color.css // 统一管理颜色的搭配

5.print.css // 打印效果样式

6.ie.css // 把对ie的hack单独分开

其实不然,最近工作,接触了公司的网站,leader要自己写CSS的写作规范,以及一些HTML的统一规范;并且写了新的频道/页面/卖场。才发现,原来,上面的分法还是太理想化了。以个人来说,个人认为可以用下面的分割法。先写下,然后,让我们对比这两种分法,找到更好的解决CSS文件管理的合适的CSS模块化分法:

1.reset.css

2.header.css // 头部的所有样式

3.container.css // 除头部/底部外的中间区域样式

4.footer.css // 底部样式

5.print.css

6.ie.css

我们可以看到,不同的有三个CSS文件。第一种分法是种不错的做法,但管理起来比较麻烦,虽然是“模块化” 了,把表现的内容的样式分开。但由于每个人都不可能百分百了解每个CSS文件里面的内容,所以,可能导致下面的问题:

一、效率问题与最终目的

在网站内容上面,如果改某一个区域的内容,可能要几个CSS都改。这样一来,本来简单的一个修改,开始变得复杂起来。并且,如果多个都改,可能会使我们忽略了某些东西,又需要进一步调试,这样不仅肯使最终目的实现延后,还是一个效率的问题。

二、调用尽可能少的CSS文件

大多楼情况下,一个网站都是分成头部,中部和底部,并且,一般,要做新的频道/页面之类的东西,都不会变动头部和底部,而只是变动中间部分。这样一来,所有CSS文件都要调用,因为,HTML和CSS的模块化并不一致。这样,就会导致服务器承受更多的压力。这是一个方面。另一个方面是,如果新页面中某些元素与其他页面有冲突,我们可能要搞一大堆关于优先性选择的代码,增加代码量。这些都不是我们想要的。这就为什么要把header.css和 footer.css分开来的原因。

三、多人合作上的问题

如果我们多个人在工作,大家的分工可能是,有人完成头部的导航,有人完成底部的搜索条,有人完成中部新页面的构建。这样一来,大家都同时在改几个文件,并且,改的东西不同。如果要更新到服务器,就要先对比,再更新。(当然,现在有版本管理这样的软件。但是,同时工作的话,版本也是一个问题,要相信,或许更新永远都改不上改变。)

结语:

当然,上面的分法,只是一个简单的模型。不同网站的架构,可能需要更细化的分法。这里需要提醒的一点是,模块化CSS,我们应该时刻明确,我们是为了方便管理,方便修改,方便多人合作,而不是简单的分割。如果说有什么建议,我想,CSS的模块化,应该尽量与HTML的模块化相一致。这里的一致说的是,无论是在文件的分割上,还是在CSS内容的分割上,与HTML的模块化一致。这将会更有利于我们的工作。

而你,又是怎么想的呢?