CSS框架和栅格系统

Yii框架内的css文件夹有以下几个css文件。

form.css

ie.css

main.css

print.css

screen.css

其中print.css、screen.css、ie.css文件都来自一个叫blueprint的css框架(代码注释里面有的)。

所有的框架出现都是为了重用代码和建立统一的代码风格。打开这些文件来就知道,这些代码写得都非常整齐,类似的部分都是集中在一起的:有处理栅格的代码、有处理字体的代码、有处理表单的代码、有各种生成按钮的代码。框架和模式这种东西是面向对象方法引出的,css这种简单代码就只能是是一些css样式集合了。所以,我们也可以自己定制。

说到css框架,很多css框架都有这些类似代码:

 

.span-1 {width:30px;}

.span-2 {width:70px;}

.span-3 {width:110px;}

.span-4 {width:150px;}

.span-5 {width:190px;}

.span-6 {width:230px;}

.span-7 {width:270px;}

.span-8 {width:310px;}

.span-9 {width:350px;}

.span-10 {width:390px;}

.span-11 {width:430px;}

.span-12 {width:470px;}

.span-13 {width:510px;}

.span-14 {width:550px;}

.span-15 {width:590px;}

.span-16 {width:630px;}

.span-17 {width:670px;}

.span-18 {width:710px;}

.span-19 {width:750px;}

.span-20 {width:790px;}

.span-21 {width:830px;}

.span-22 {width:870px;}

.span-23 {width:910px;}

.span-24 {width:950px;margin-right:0;}

大部分css框架都用了一个概念:栅格系统。维基百科的定义是这样的:栅格设计系统(又称网格设计系统、标准尺寸系统、程序版面设计、瑞士平面设计风格、国际主义平面设计风格),是一种平面设计的方法与风格。运用固定的格子设计版面布局,其风格工整简洁,在二战后大受欢迎,已成为今日出版物设计的主流风格之一。

 

 

 

 

 

网页上面使用的栅格设计系统,就是用定义好的一些各种宽度的、规则的网格阵列来组合成一个区块。利用栅格系统设计的网页很多。这里有个30个最顶尖的基于栅格系统的博客网站设计。下面剖析一个栅格系统例子(原文在这里):

 

在网页设计中,我们把宽度为“W”的页面分割成n个网格单元“a”,每个单元与单元之间的间隙设为“i”,此时我们把“a+i”定义“A”。他们之间的关系如下:
W =(a×n)+(n-1)i
由于a+i=A,
可得:(A×n) – i = W
这个公式表述了网页的布局与网页“背后”的栅格系统之间的某种关系。我们拿yahoo作例,来看一下栅格系统的应用:

 

 

 

yahoo的网站页面宽度为W=950px,每个区块与区块的间隔为i=10px;如果应用上面的公式,可以推出A=40px,既yahoo首页横向版式设计采用的栅格系统为:
(40×n)- 10 = W
下面我们列出当n等于不同数值时W变化的数值表格 :

 

 

从表格可以看出:yahoo首页的布局完全是按照栅格系统进行设计的,每个区块的宽度对应的n值分别为:4,11,9。在这里我们看到一个很有意思 的事情:只要保证一个横向维度的各个区块的n值相加等于24,则即可保证页面的宽度一定是950px。然而,950px的宽度也恰好就是当n=24的时 候,W的宽度值。由此我们得出以下的应用模式:

 

 

 

在栅格系统中,设计师根据需要制定不同的版式或者划分区块,他们的依据将是上面的那张对应表进行设计。这样,一个栅格系统的应用就从此开始了。我们 看到,使用栅格系统的网页设计,非常的有条理性;看上去也很舒服。最重要的是,它给整个网站的页面结构定义了一个标准。对于视觉设计师来说,他们不用再为 设计一个网站每个页面都要想一个宽度或高度而烦恼了。对于前端开发工程师来说,页面的布局设计将完全是规范的和可重用的,这将大大节约了开发成本。对于内 容编辑或广告销售来说,所有的广告都是规则的,通用的,他们再也不用做出一套N张不同尺寸的广告图了。

posted on 2011-11-02 13:26  实例一  阅读(643)  评论(0编辑  收藏  举报

导航