栅格规范制作的方法介绍(图文教程)

所属分类: 网页制作 / CSS 阅读数: 1561
收藏 0 赞 0 分享
栅格规范制作  脚本之家
  随着业务的不断推进,现在我们的后台项目越来越多。但是由于前端和后台之间联调复杂导致项目经常会推迟。为了能优化项目流程,提高开发效率。交互和前端决定一起做一套DPL,做一系列的规范出来。这样可以减少交互,前端,后台互相的沟通成本,同时能够沉淀下这段时间大家的收获。
  交互参与的DPL中我们主要是做栅格体系,控件体系,视觉体系,下面我来和大家分享下DPL中的栅格体系设计
  栅格
  研究网页栅格系统前,来看一组数据:
网站 首页页面宽度 px
Yahoo! 950
淘宝 950
MySpace 960
新浪 950
网易 960
Live Search 958
搜狐 950
优酷 960
AOL 960
  上面列举的都是Alexa全球排名前100的站点,它们的首页宽度为950px/960px. 除了微软的Live Search, 这些站点有个共同特点:页面结构较复杂,都可以认为是门户型网站。
  再来看看Google, YouTube, Facebook, Flickr!, eBay等知名站点,它们的首页宽度没什么固定规律,共同的特点是:功能专一,页面结构相对简单。
  根据上面的简单分析可以认为:当搭建页面结构复杂的门户型网站时,开发工程师们不约而同地都选择将页面宽度定为950px/960px。
  这是一件很有趣的事情,为什么要选择这个宽度呢?这个宽度值究竟有什么魔力?
  上面的"自然"出现,细究自然是不让人信服的。设计者们在没有喝醉酒的情况下选择了960,而不是其它什么1000之类的整数,自然另有奥妙。
  那么如何设计一个栅格系统?接下来我们将通过实例,详细的介绍一下网页栅格系统的原理与应用:
  在网页设计中,我们把宽度为"W"的页面分割成n个网格单元"a",每个单元与单元之间的间隙设为"i",此时我们把"a+i"定义"A"。他们之间的关系如下:
  W =(a×n)+(n-1)i
  由于a+i=A,
  可得:(A×n) – i = W
  注:960是加上最后一个i(i=10)的长度,950是没加上i的长度
  为了减少1.0版本的改动,我们保持了i=10xp
  我们的N是多少,A是多少?W是多少?
  n的特点:是3倍数,我们需要有一行三列的情况,同时不希望有重要信息在最后面(我们的系统在内页才有栅格,所以1280下能展示全,但是1024不一定能全部展示),所以最好是整个栅格能平均分成3列
  A的特点:是5的倍数,在设计控件等都是很方便的
  W的特点:最好符合大众化的
  得:3x*5y-10=W 其中x,y为整数
  15x*y-10=w
  上面列举的都是Alexa全球排名前100的站点,它们的首页宽度为950px/960px. 除了微软的Live Search, 这些站点有个共同特点:页面结构较复杂,都可以认为是门户型网站。
  列举下现在网站的栅格

网站

首页页面宽度(xp)

a*b(xp)

Yahoo!

950

64

淘宝

950

64

网易

950

64

Live Search

958

64.5222

良无限系统

1000

66.1333



  结论,现有网站在n和A的特点下,x*y是整数的只有64.
  很多成熟网站都是12或24栅格。
  当栅格为12(即3x=12)时:
  4y=64
  y=16即A=80
  当栅格为24(即3x=24)时:
  8y=64
  y=8即A=40
  考虑到1.0的控件改动尽量少,后台系统布局结构比较统一。我们采用24栅格
  即:
  我们的栅格是:
  (80×12)- 10 = 950
  基线
  栅格设定好之后只是控制了纵向的整齐,横向的需要用基线来控制。
  在描述基线之前,我们先要了解下前端对于输入框的结构吧
  如果我们设置一个12号字的输入框,那么前端会对这个输入框设定结构。text area(蓝色部分)他是个基础,pading(内白色部分)他是text area和框描边的空隙,border(黄色部分)是框的描边宽度,margin(黄色外虚线框范围)他是鼠标划过的hover状态的延伸区域。我们的 12号字是在text area里面的。比如图中,我们的text area设置的行高是18像素,字高12像素,居中的,上下各有3像素的间距。
  根据这点,我们把表单里面的输入框元素和栅格元素一起考虑,设置了每个控件在栅格里面的效果:
  (其中蓝色部分就是text area的内容)
  很多人会奇怪,为什么标题部分都是三个位置,有的还是前面空一格呢?我们的系统在早期定义了这样的效果,因为业务方的字段都是长短不一的。如果做成了左对齐,户很难看(我们一排可能出现三列),所以在表单页面和查询页面我们都统一冒号对齐,这样就能保证输出框是比较整齐的。方便用户浏览。
  下面来讲我们的重点:基线。先看图
  反馈和输入框是捆绑的,我们在用户填完内容之后会给他第一时间的反馈,这时候如果位置放在后面,则会导致第二列的内容不好放,我们就把反馈都放在输入框的下面,而且反馈只会是出错的反馈,以免用户浏览困难。 我们把基线间距设定为20像素,text area与之下对齐,这样,两个输入框之间正好是18像素,正好放一个text area。
  按照这个逻辑,我们做出了所有控件搭成的页面。
  注:动作按钮是冒号对齐,保证操作的连贯性
  等到和前端沟通,方案通过之后,我们在开始制作详情页和查询页
  栅格规范做好之后,就为颜色规范和控件规范的打下了一个很好的基础。
  当然,当然制作栅格系统还有很多方法。作为设计师,特别是网页设计师/交互设计师,我们不应当单纯地凭借感觉,应当专注到像素级别,严谨设计,同时保持和前端的沟通,虚心接受他们的指导。其实,前期我们没有想到栅格系统要做的这么复杂,都是前端攻城师们在设计的时候发现我们的交付物不够严谨,不断的提出挑战,才慢慢晚上的。所以我在文章的最后,想送给大家两个词:"严谨,沟通"。
更多精彩内容其他人还在看

CSS配合JavaScript做酷的动态页面效果

  利用CSS配合JavaScript的可以做很多更酷的动态页面效果,在本教程的最后给大家简单介绍一下CSS配合JS的应用。首先,要搞清楚事件和动作的概念。在客户端脚本中,JavaScript 通过对事件进行响应来获得与用户的交互。例如,当用户单击一个按钮或者在某段文字上移动鼠标
收藏 0 赞 0 分享

WEB标准,Web前端开发工程师必备技术列表

  想要打造并拥有一流的Web产品开发团队,在团队成员基础能力上一定要下功夫。对于Web前端产品开发来说,仅仅掌握Web1.0时代简单的"网页套接"是完全不够的。我结合自己的团队配备,特此罗列了Web前端产品工程师所涉及的技能列表如下:   通过许多实际项目,
收藏 0 赞 0 分享

用CSS制作Alpha滤镜测试板

alpha滤镜给制作网页特效提供了较大的创作空间,但由于它控制参数较多,在实际应用时,为了确定一组合适的参数值,不得不反复调整修改,在编辑窗口和预览窗口来回倒腾,甚是麻烦,本文介绍了一种简单的方法。制作一个“Alpha滤镜参数测试板”,在测试板上输入参数
收藏 0 赞 0 分享

非常流行的所谓的气泡窗口

普通的Alt无法自定义风格,而Sweet Titles通过JS脚本与CSS的集合.自定义了这种伪Alt风格. 前一段时间非常流行的,就所谓的气泡窗口(鼠标移到链接处出现的). 我们这里实现的用的是Sweet Titles的插件.显示效果完全由CSS控制.. 先下载Sweet Ti
收藏 0 赞 0 分享

CSS教程:li和ul标签用法举例

LI代码的格式化: A).运用CSS格式化列表符: ul li{ list-style-type:none; } B).如果你想将列表符换成图像,则: ul li{ list-style-type:none; list-style-image: url(/blog/images/
收藏 0 赞 0 分享

CSS教程:CSS中的定位(position)

  使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。   其实,要想控制好层的绝对定位,只要理解CSS中关于定位
收藏 0 赞 0 分享

CSS教程:盒模型(BOX Model)

  如果想熟练掌握DIV和CSS的布局方法,首先要对盒模型有足够的了解。每个HTML元素都可以看作一个装了东西的盒子,盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin),如图1所示。
收藏 0 赞 0 分享

无延迟翻滚的图形与CSS混合风格按钮

  在一个具有图形背景的按钮中添加CSS风格的文本,这种建立按钮的方法结合了具有CSS翻滚(CSS rollover)标记的开发速度和效率,从而有效地提高按钮外表图像的三维效果。   相比于常规的图形按钮,这些图形/CSS混合按钮可易于建立和载入,因为你只需要为空白按钮外面
收藏 0 赞 0 分享

css里expression实现界面对象的批量控制

用过css样式我们就知道, 可以定义一批对象的class属性来指定同一个样式来统一界面. 但如何统一同类型的对象的事件? 比如:界面有无数个 <img src="**.jpg"> 如何实现鼠标经过此图片, 图片的src变成是**_over.jpg?
收藏 0 赞 0 分享

CSS教程:水平对齐(text-align)

  水平对齐(text-align),用以设定元素内文本的水平对齐方式。   1.语法   text-align具体参数如下: 语法:text-align:left|right|center|justify 说明:设定元素内文本的水平对齐方式。 参数:left:左
收藏 0 赞 0 分享
查看更多