框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题,是一种可复用的构架。

我们对CSS框架这个词比较陌生,但对于JavaScript框架就比较熟悉了,比如jQuery

但为什么js框架大红大紫而CSS框架确始终没有流行起来呢?甚至有人说“在我有限的视野里,还没见到可以真正可以称得上css框架的东东~”CSS框架没有被大众接受的一个重要原因是:

js框架是基于逻辑的,js框架简化了逻辑中的繁琐细节,封装了存在兼容性的函数,提供了丰富的选择器、函数和插件,给开发者带来方便;

而CSS框架是基于表现的,每个设计的风格或者同一个风格的繁简都完全不同,导致框架的可复用程度很小,比如960grids和blueprint,他们都是基于栅格的CSS框架,当设计并不是基于栅格的时候,他们就没有用武之地了。

Elements CSS Framework只有当用户需要用到lightbox和特殊链接的时候,他才能发挥最大的作用。否则他只能提供reset.css

YUI Grids CSS提供了一千多种布局,但是局限性依然明显,它的second-block被固定为160px,180px,300px三种,给设计制造了很大的局限性,结构嵌套过多,类名无语义,所以有人批判“与table布局无异”,呵呵,其实灵活性比table还是有很大的进步的,我记得08年的淘宝和有啊就是用的YUI Grids CSS,(淘宝2011版是无栅格的1000px宽度)但这种布局终究引起很大争议,缺陷过多,所以在YUI3中,雅虎团队去掉了grids.css,仍然保留着其他三个样式(reset,base,fonts)

CSS框架的缺点

综合以上的一些分析,我们总结了CSS框架的缺点

1.嵌套过多,代码冗余,类名缺乏语义。这几乎是所有框架的通病。

2.组件复用性少。可能一个布局要调用大量的CSS文件,而其中的大段的代码用不上。如果对有用的代码封装,封装的过程就极其麻烦,后期的可维护性也变差了

3.学习成本高,可能需要设计师和开发人员同时学习。可是当设计师被“栅格”拴住了思想,开发人员被“框架”框住了手脚的时候,才是真正的杯具。

我相信,以后会有一款真正的CSS框架出现,能完美解决上述问题,但是,现在还没有。有个同学甚至用js写了一个CSS框架,曲线救国,但是这个框架并不简单,执行效率如何也值得讨论。但是,

CSS框架并非一无是处

在网站的css架构中,我们依然要运用框架的思想架构整站CSS,几点注意事项:

1.制订简洁而高效的reset.css

2.功能模块的命名应该有良好语义并且全站统一

3.Footer部分和header部分单独开发(一套或者多套)

4.如果图标和按钮过多可以书写专门的样式icon.css和button.css

5.在可重用、可扩展的基础上尽可能减少html代码的嵌套,以减少DOM树的渲染时间

6.CSS选择器的层级不可过深,优化代码,减少重定义,CSS选择器的查询方式是用关键字查询keyselector,减少层级会提高查询效率;不用滤镜和CSS表达式(IE8已不支持CSS表达式)

7.图片的合并要综合考虑服务器流量、HTTP请求数、可扩展性

8.本地开发的html和css注释要良好(同时避免ie6注释bug)

9.组件化开发不可划分过细,否则后期的维护量过大,良好的注释可以部分代替组件化

CSS框架分析与网站的CSS架构的更多相关文章

  1. CSS性能分析,如何优化CSS提高性能

    不负十年后的自己,共勉! 前端性能优化一直是一个比较热门的话题,我们总是在尽我们最大的努力去,提高我们的页面性能,比如减少HTTP请求,利用工具对资源进行合并压缩,脚本置底,避免重复请求,css sp ...

  2. 11 款最好 CSS 框架 让你的网站独领风骚

    网页设计和发展领域已经成为竞争激烈的虚拟世界.想要在网络的虚拟世界中生存,仅有一堆静止的在线网络应用是远远不够的,网页必须要有很多功能,配以让人无法抗拒的设计.网页编码一定要合适.精确,才能保证不发生 ...

  3. 一些 CSS 框架

    利用 CSS 框架,可以简化你的工作,提高工作效率.CSS 框架是一系列 CSS 文件的集合体,包含了基本的元素重置,页面排版.网格布局.表单样式.通用规则等代码块.下面给你推荐了27款优秀的CSS框 ...

  4. 使用css框架的优缺点

    使用css框架的优点 1.加速开发 CSS框架提供通用的代码(如reset,和移动端开发的一些常用设置)和许多丰富的UI组件样式——因此我们不需要从头开始写. 2.无兼容性烦恼 CSS框架解决了各个浏 ...

  5. 11 款最好 CSS 框架

    11 款最好 CSS 框架 让你的网站独领风骚 网页设计和发展领域已经成为竞争激烈的虚拟世界.想要在网络的虚拟世界中生存,仅有一堆静止的在线网络应用是远远不够的,网页必须要有很多功能,配以让人无法抗拒 ...

  6. css框架,一把锋利的剑

    CSS 框架是一系列 CSS 文件的集合体,包含了基本的元素重置,页面排版.网格布局.表单样式.通用规则等代码块,用于简化web前端开发的工作,提高工作效率. 产生原因 互联网行业已经发展了多年,浏览 ...

  7. 27款经典的CSS框架

    利用 CSS 框架,可以简化你的工作,提高工作效率.CSS 框架是一系列 CSS 文件的集合体,包含了基本的元素重置,页面排版.网格布局.表单样式.通用规则等代码块.下面给你推荐了27款优秀的CSS框 ...

  8. 网页设计中11 款最好CSS框架

    网页设计和发展领域已经成为竞争激烈的虚拟世界.想要在网络的虚拟世界中生存,仅有一堆静止的在线网络应用是远远不够的,网页必须要有很多功能,配以让人无法抗拒的设计.网页编码一定要合适.精确,才能保证不发生 ...

  9. 国人Web前端开发必备干货,一个完美支持IE6在内所有浏览器的CSS框架

    摘要: 企户动CSS框架是一个能够完美支持IE6~7在内的所有浏览器的 HTML&CSS 前端框架!给Web开发提供了自适应宽度的百分比多列网格,以及已语义化和结构化的标题.段落.列表.表格. ...

随机推荐

  1. MyBatis学习总结_13_Mybatis查询之resultMap和resultType区别

    MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性 ...

  2. Hadoop HDFS文件常用操作及注意事项

    Hadoop HDFS文件常用操作及注意事项 1.Copy a file from the local file system to HDFS The srcFile variable needs t ...

  3. vmware 虚拟机 桥接 设置静态 IP

    最简单的方式: 图形界面下,进入设置IP的地方,设置一个静态IP. 然后再转入命令行继续工作.. 不行就 重启  

  4. eclipse中启动tomcat报错 java.lang.ClassNotFoundException

    之前启动还好好的,某次启动tomcat就莫名其妙的报了这个java.lang.ClassNotFoundException的错.   检查maven依赖包,发现这个类是存在的. 然后一通clean操作 ...

  5. Objective-C编码规范:26个方面解决iOS开发问题

    介绍 我们制定Objective-C编码规范的原因是我们能够在我们的书,教程和初学者工具包的代码保持优雅和一致.即使我们有很多不同的作者来完成不同的书籍. 这里编码规范有可能与你看到的其他Object ...

  6. 谈谈map中的count方法

    map和set两种容器的底层结构都是红黑树,所以容器中不会出现相同的元素,因此count()的结果只能为0和1,可以以此来判断键值元素是否存在(当然也可以使用find()方法判断键值是否存在). 拿m ...

  7. js中encode、decode的应用说明

    escape 方法 返回一个可在所有计算机上读取的编码 String 对象. function escape(charString : String) : String 参数 charString 必 ...

  8. POJ 1948 Triangular Pastures【二维01背包】

    题意:给出n条边,用这n条边构成一个三角形,求三角形的最大面积. 先求面积,用海伦公式,s=sqrt(p*(p-a)*(p-b)*(p-c)),其中a,b,c分别为三角形的三条边,p为三角形的半周长, ...

  9. Java 炫舞按键功能 DancingPlay (整理)

    /** * Java 炫舞按键功能 DancingPlay (整理) * 2016-1-2 深圳 南山平山村 曾剑锋 * * 设计声明: * 1.本次设计是模仿QQ炫舞类游戏,当图标到红色的检测区域时 ...

  10. GLSL学习_高斯滤波

    使用RenderMonkey: 从自带的sobel修改的. vertex: uniform float height; varying vec4 vTexCoords00; varying vec4 ...