框架(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. URAL 1250 Sea Burial 简单Floodfill

    问这个人掉落的海域包含几个岛屿. 八方向相连为同一片海域,四方向相连为同一个岛屿.与边界相连的岛屿不算. 方法:在给定地图外面填充一圈".",从这个人掉落的地方开始进行floodf ...

  2. [CFgym101061C]Ramzi(贪心,双条件最短路)

    题目链接:http://codeforces.com/gym/101061/problem/C 题意:一张图,图上的边有两种,一种是车道,一种是人行道.一个人要从A点到B点,可以坐车也可以走人行道.这 ...

  3. gridview 单击行时如何让SelectedIndexChanging事件响应

    在gridview控件上单击行的时候,是不触发SelectedIndexChanging事件的,那么想要单击时触发SelectedIndexChanging事件时怎么做呢? 我是这样做的: 在grid ...

  4. js判断页面放大缩小

    项目中,经常会碰到页面被放大或者缩小,导致页面显示错误,js可以判断页面放大缩小. // 若返回100则为默认无缩放,如果大于100则是放大,否则缩小 function detectZoom (){ ...

  5. hadoop hadoop-0.20.2-cdh3u4升级

    [hadoop@lab02 ~]$ uname -aLinux lab02 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_ ...

  6. Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记

    前言    持续集成这个概念已经成为软件开发的主流,可以更频繁的进行测试,尽早发现问题并提示.自动化部署就更不用说了,可以加快部署速度,并可以有效减少人为操作的失误.之前一直没有把这个做起来,最近的新 ...

  7. Oracle中添加视图

     CREATE or REPLACE view view_will as   select college.collegeid,mat.stuid,sum(score.chinese+score.ma ...

  8. ajax请求(二),后台返回的JSon字符串的转换

    ajax请求,json的转换 $.ajax({ url : "../folder/isExistAddFolder.do?t="+new Date(), type : 'POST' ...

  9. 函数ut_malloc_low

    /**********************************************************************//** Allocates memory. @retur ...

  10. PHPStorm/webstorm tips

    phpstorm对于使用PHP开发web的人员来说,是一个非常不错的编辑开发IDE,以前用过sublime,但是相比于storm,sublime在浏览legacy代码,类代码编辑方面明显要逊色不少.同 ...