CSS 模块化的理解

在Twinsen Liang的博客上看到一篇名为语义化单单的限定在html么?的文章,文中主要是提及了CSS的命名规则,仔细阅读后,我认为这个其实就是模块化思想。(作者也提了这一点)。我没有看过CSS模块化的相关书籍,所以我下面说的不一定正确,但是在工作中,我会
在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年前的样式,而你又不知道,又恰巧被你的老板发现了…….上帝只能说,阿门,哥们,点被不能怨上帝。
可如果在一开始我们用这种方法写呢?
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年后,有人问起的时候,我肯以肯定你会说“我不费解”。
上帝也不会找你麻烦了。 


本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

很多初学制作网页的朋友,可能会遇到的一个常见问题,就是在CSS中加了margin:0 auto;却没有效果,不能居中的问题,margin:0 auto;的意思就是:上下边界为0,左右根据宽度自适应,其实就是水平居中的意思,在这里说两个典型的错误引起的不能居中的问题: 1、
前端领域又发生了翻天覆地的变化,涌现了许多优秀的Javascript和CSS库,我们继续给大家收集和整理部分出色的前端组件和库分享给大家,希望对您有所帮助。 Moon Moon是一个JavaScript UI库,类似Vue.js,但是相对vue更加简化和直接,它去除一些膨胀代码。 它
CSS实现背景透明,文字不透明(各浏览器兼容)[转载]以下是示例CSS部分代码:
在写CSS样式编码时,难免会遇到对特定的浏览器进行样式设定。在讲述CSS的Hack前,先来了解下什么是CSS Hack?什么
了解CSS基础语法前,我们先了解个术语:选择器什么是选择器?我们先从CSS的角度去看HTML标签、属性...例如:HT