写自己的CSS框架 Part3:CSS中的Class

简介:
Tool make everything easier….

                            Anonymity

3.1框架中的工具

这个CSS中工具有点像C#中的static class,把一些常用的方法放到类里面达到可复用的效果.在CSS中.有很多CSS class是在我们在项目设计中一遍又一遍的要用到的.因此这些tool是CSS框架中必不可少的一部分。

 

3.2工具类的组成和组织方法

一般现有框架会把这个.class的定义放到各个不同的文件中比如,from.css(用于格式化表单),typography.css(用于格式化布局),但是这个工具类却是我们自己写框架的精髓所在,因为这是我们框架中可以扩展的部分,所以我更喜欢把css class单独命名为tool.css来存放这些工具类.(因为这样在网站改版时就要愉快很多)

也许废话太多了.下面简单给出几行代码,让大家对所谓的Tool.css有初步了解。

 


Code
这是用于表单的一些CSS类.有了这些.我可以让项目中每一个使用表单的地方风格实现统一.

而使用JS的地方可以更加简洁.下面一小部分代码是使用了JQUERY从服务器获得AJAX响应后的代码片段

Success:function(data){

    $(“<span>”+data+”</span>”).addClass(“success”).appendTo(“#result”);

}

恩.是不是简单多了?

PS:看客:你不是号称CSS框架吗.这样写不就是把css放一起吗?吹的那么玄乎.

别急嘛.下面讲到CSS之间的组织方式

在我被CSS蹂躏的经历里,其实有很多CSS布局,以及CSS选择符方面问题,大部分是因为CSS选择符之间优先级的关系,这些问题因为简单,所以折磨的各位Developer痛不欲生.但是这些问题就像枪一样,好好利用可以保护你,如果利用不当会让你遭殃。

下面说说我总结的CSS的OCP原则(开放封闭原则),这个规则是设计模式里的,但我发现在CSS中同样适用.

 

 当你针对项目的CSS基本框架写好后,可以添加你所需要的元素,但如非必要,不要去修改它,而是在需要修改的地方重载。

重载:

以上面的例子为例.如果我们在一个特定页面里,想让error颜色变得更加刺眼比如让error的color变成red,只需在你需要修改的特定页面头部的<style>标签中设置


 

复制代码
1 .error{
3 Color:red;
5 }
复制代码
因为内页style比外联style有更高的权值(如果你对CSS的优先级问题不太了解,参考这个文章http://www.xker.com/page/e2009/0622/72573.html),所以error显示的字就会变成红的,但同时又会保留了background和border-color的属性.因此我可以更优雅的覆盖原有CSS,达到重载的目的.

扩展:

当我们需要一组新的css类时,只需要在tool.css相应部分增加即可,比如我们需要表单增加一个介于notice和error之间警告程度的alert用于显示那些有点警告意味的信息.我们只需要加入


复制代码
1 .alert
3 { 
5     /*------代码写在这----*/
7 }
复制代码
这样做的优势:

1.      代码更加优雅,维护更加方便
2.      容易变换网站风格,举个例子,如果你原来的颜色风格偏深,那么你想换一套浅颜色的风格,只需要改变你所需要改变的部分,把你需要改变的部分重新写一个CSS来覆盖原来的CSS,示例代码如下:
 
 
<link href="css/tool.css" rel="stylesheet" type="text/css" />    
<link href="css/toolBlue.css" rel="stylesheet" type="text/css" />
这样看起来tool.css是不是很“面向对象”,很像基类,而toolBlue像子类,继承那些padding和magin之类的布局属性,而重载color等风格属性,oh yes,life seems like more easier than ever bofore:-)
 

3.3写在最后

下面我拿出一个简单的tool.css展示出来,让大家有个更直观的了解。


 

Code
 

 

恩.基本经常要用到的就是这些,但tool.css的重点在于随着你项目的进展,这个tool.css也会越来越胖. J

 


Tool make everything easier….

                            Anonymity

3.1框架中的工具

这个CSS中工具有点像C#中的static class,把一些常用的方法放到类里面达到可复用的效果.CSS.有很多CSS class是在我们在项目设计中一遍又一遍的要用到的.因此这些toolCSS框架中必不可少的一部分。

 

3.2工具类的组成和组织方法

一般现有框架会把这个.class的定义放到各个不同的文件中比如,from.css(用于格式化表单)typography.css(用于格式化布局),但是这个工具类却是我们自己写框架的精髓所在,因为这是我们框架中可以扩展的部分,所以我更喜欢把css class单独命名为tool.css来存放这些工具类.(因为这样在网站改版时就要愉快很多)

也许废话太多了.下面简单给出几行代码,让大家对所谓的Tool.css有初步了解。

 

ContractedBlock.gif Code

这是用于表单的一些CSS.有了这些.我可以让项目中每一个使用表单的地方风格实现统一.

而使用JS的地方可以更加简洁.下面一小部分代码是使用了JQUERY从服务器获得AJAX响应后的代码片段

Success:function(data){

    $(“<span>”+data+”</span>”).addClass(“success”).appendTo(“#result”);

}

.是不是简单多了?

PS:看客:你不是号称CSS框架吗.这样写不就是把css放一起吗?吹的那么玄乎.

别急嘛.下面讲到CSS之间的组织方式

在我被CSS蹂躏的经历里,其实有很多CSS布局,以及CSS选择符方面问题,大部分是因为CSS选择符之间优先级的关系,这些问题因为简单,所以折磨的各位Developer痛不欲生.但是这些问题就像枪一样,好好利用可以保护你,如果利用不当会让你遭殃。

下面说说我总结的CSSOCP原则(开放封闭原则),这个规则是设计模式里的,但我发现在CSS中同样适用.

 

 当你针对项目的CSS基本框架写好后,可以添加你所需要的元素,但如非必要,不要去修改它,而是在需要修改的地方重载。

重载:

以上面的例子为例.如果我们在一个特定页面里,想让error颜色变得更加刺眼比如让errorcolor变成red,只需在你需要修改的特定页面头部的<style>标签中设置

 

复制代码
1  .error {
2 
3  Color : red ;
4 
5  }
6 
复制代码

因为内页style比外联style有更高的权值(如果你对CSS的优先级问题不太了解,参考这个文章http://www.xker.com/page/e2009/0622/72573.html),所以error显示的字就会变成红的,但同时又会保留了backgroundborder-color的属性.因此我可以更优雅的覆盖原有CSS,达到重载的目的.

扩展:

当我们需要一组新的css类时,只需要在tool.css相应部分增加即可,比如我们需要表单增加一个介于noticeerror之间警告程度的alert用于显示那些有点警告意味的信息.我们只需要加入

复制代码
1  .alert
2 
3  {  
4 
5       /* ------代码写在这---- */
6 
7  }
8 
复制代码

这样做的优势:

1.      代码更加优雅,维护更加方便

2.      容易变换网站风格,举个例子,如果你原来的颜色风格偏深,那么你想换一套浅颜色的风格,只需要改变你所需要改变的部分,把你需要改变的部分重新写一个CSS来覆盖原来的CSS,示例代码如下:

 

 

< link  href ="css/tool.css"  rel ="stylesheet"  type ="text/css"   />     
< link  href ="css/toolBlue.css"  rel ="stylesheet"  type ="text/css"   />

这样看起来tool.css是不是很“面向对象”,很像基类,而toolBlue像子类,继承那些paddingmagin之类的布局属性,而重载color等风格属性,oh yes,life seems like more easier than ever bofore-

 

3.3写在最后

下面我拿出一个简单的tool.css展示出来,让大家有个更直观的了解。

 

ContractedBlock.gif Code

 

 

.基本经常要用到的就是这些,但tool.css的重点在于随着你项目的进展,这个tool.css也会越来越胖J

 


本文转自CareySon博客园博客,原文链接:http://www.cnblogs.com/CareySon/archive/2009/07/10/1520289.html,如需转载请自行联系原作者

相关文章
|
3月前
|
前端开发
【第18期】一文读懂原子CSS框架
【第18期】一文读懂原子CSS框架
75 0
|
14天前
|
前端开发 JavaScript 搜索推荐
CSS框架是前端开发中不可或缺的工具
【4月更文挑战第12天】CSS框架是前端开发中不可或缺的工具
18 2
|
1月前
|
前端开发 JavaScript 开发者
编程笔记 html5&css&js 014 网页布局框架
编程笔记 html5&css&js 014 网页布局框架
|
1月前
|
前端开发 JavaScript API
编程笔记 html5&css&js 011 HTML内连框架
编程笔记 html5&css&js 011 HTML内连框架
|
3月前
|
前端开发 程序员 容器
CSS样式文件和class类名命名规范参考
CSS样式文件和class类名命名规范参考
28 0
|
3月前
|
前端开发
若依框架----图标(可能不全)css
若依框架----图标(可能不全)css
86 0
|
8月前
|
开发框架 前端开发 JavaScript
列举一些CSS框架?
列举一些CSS框架?
|
3月前
|
Java 数据库 Android开发
基于SSM框架扶贫信息综合平台前台管理系统(spring+springmvc+mybatis+jsp+jquery+css)
基于SSM框架扶贫信息综合平台前台管理系统(spring+springmvc+mybatis+jsp+jquery+css)
|
3月前
|
前端开发 小程序
【CSS当红框架】你必须得认识 Tailwind CSS 框架
【CSS当红框架】你必须得认识 Tailwind CSS 框架
30 0
|
5月前
|
前端开发
Font Awesome 一套绝佳的图标字体库和CSS框架
Font Awesome 一套绝佳的图标字体库和CSS框架
31 0