CSS模块化的理解

2016-02-19 23:45 3 1 收藏

今天给大家分享的是由图老师小编精心为您推荐的CSS模块化的理解,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

【 tulaoshi.com - Web开发 】

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

在Twinsen Liang的博客上看到一篇名为语义化单单的限定在html么?的文章,文中主要是提及了CSS的命名规则,仔细阅读后,我认为这个其实就是模块化思想。(作者也提了这一点)。

我没有看过CSS模块化的相关书籍,所以我下面说的不一定正确,但是在工作中,我会用我理解的模块化方式提高工作效率,我理解的模块化,主要分为两类。

1、将常见的样式剥离出来,形成单独的样式,我叫他基础样式表或模块样式表,这个样式表主要一些常见的基本结构和形式,如CSS Reset、Blank、Font 等等。

例如下面这个样式表,我认为就是一个简单的基础样式表。(只是简单,不推荐用)

CSS
* {margin:0;padding:0;border:none;outline:none;}.cb {clear:both;}.blank10 {height:10px; font-size:1px; overflow:hidden; clear:both;}

2、在页面中按照结构模块化书写样式表,避免样式之间的干扰,并且方便浏览。
例如下面的这个结构

XHTML
!-- 左边 --div  h2.../h2  h2.../h2/div!-- 右边 --div  h2.../h2  h2.../h2/div

有一部分同学可能会这样写

CSS
.wrap_content_box {float:left;}.wrap_content_box h2 {...}
 XHTML
!-- 左边 --div class="wrap_content_box"  h2.../h2  h2.../h2/div!-- 右边 --div class="wrap_content_box"  h2.../h2  h2.../h2/div

刚刚看上去的时候效果很不错,一切都很完美,代码少,效果也实现了,但如果有一天,我们需要将所有h2的样式变的各不相同时,情况仿佛不乐观了。

 CSS
.wrap_content_box {float:left;}h2.XX {...}h2.YY {...}h2.ZZ {...}h2.XYZ {...}
XHTML
!-- 左边 --div class="wrap_content_box"  h2 class="XX".../h2  h2 class="YY".../h2/div!-- 右边 --div class="wrap_content_box"  h2 class="ZZ".../h2  h2 calss="XYZ".../h2/div

迫不得已的,我们增加了很多带有不同标记的样式。可是1年后呢有人问起你这些样式所控制的对象是什么?
我可以肯定你会说,我很费解。
或者当你自己又写了一个h2.XX(命名重复的情况经常出现),无意覆盖了这个1年前的样式,而你又不知道,又恰巧被你的老板发现了.上帝只能说,阿门,哥们,点被不能怨上帝。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

可如果在一开始我们用这种方法写呢?

CSS
.wrap_content_box {float:left;}#wrap_con_00 h2, #wrap_con_01 h2 {...}
 XHTML
!-- 左边 --div id="wrap_con_00" class="wrap_content_box"  h2.../h2  h2.../h2/div!-- 右边 --div id="wrap_con_01" class="wrap_content_box"  h2.../h2  h2.../h2/div

粗看是多了一些,但是当我们再次遇见给h2增加不同样式的时候,我们可以

 CSS
.wrap_content_box {float:left;}#wrap_con_00 h2,{...}#wrap_con_00 h2.first {...}#wrap_con_01 h2,{...}#wrap_con_01 h2.first {...}
 XHTML
!-- 左边 --div id="wrap_con_00" class="wrap_content_box"  h2 class="first".../h2  h2.../h2/div!-- 右边 --div id="wrap_con_01" class="wrap_content_box"  h2 class="first".../h2  h2.../h2/div

看,这样是不是好多了,这种格式在1年后,有人问起的时候,我肯以肯定你会说我不费解。
上帝也不会找你麻烦了。

来源:https://www.tulaoshi.com/n/20160219/1630568.html

延伸阅读
标签: Web开发
写在前面的话: 所有写程序的人都知道,当你逐渐对您要实现的功能展开的时候,很大的时候,第一天写的东西第二天就忘了写到那里了,很多的时候,不得不写上详细的程序开发笔记,这在ASP的系统开发中感觉尤其文件、函数复杂的时候,当我们打算对网站的一部分功能进行修改的时候,感觉无从下手或者感觉要修改的地方。这时候,如果您学过任...
模块化字体设计欣赏 模块化字体设计欣赏(2) 模块化字体设计欣赏(3)
人们常用温暖的港湾来形容家,若家是港湾的话,那么工作的地方就是岛屿了。当我们投入了社会,在每天来回航行于港湾与岛屿间的同时,也希望小岛上有个容易靠岸的码头。在柏林扎根的设计师Till Grosch和Björn Meier为这些办公室岛屿设计了一系列名为“Docks(码头)”的模块化组合家具,希望人们能利用形状不一的家具创造不同的办...
标签: Web开发
所有写程序的人都知道,当你逐渐对您要实现的功能展开的时候,很大的时候,第一天写的东西第二天就忘了写到那里了,很多的时候,不得不写上详细的程序开发笔记,这在ASP的系统开发中感觉尤其文件、函数复杂的时候,当我们打算对网站的一部分功能进行修改的时候,感觉无从下手或者感觉要修改的地方。这时候,如果您学过任何一门面向对象的编程的...
标签: Web开发
很久没有更新blog了,这段时间实在是发生了很多的事,累身累心。但还是有很多想做的事,比如更新merceCSS、把一直以来所总结的有关模块化的内容整理出来跟大家分享、参加交流会等等。 模块化设计我已经提过很多了,像《 从宜家的家具设计讲模块化 》、《 页面重构中的模块化思维 》、《 页面重构中的组件制作要点 》都是跟模块化相关的,不...

经验教程

385

收藏

55
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部