网页栅格系统研究(1):960的秘密
研究网页栅格系统前,来看一组数据:
| 网站 | 首页页面宽度 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
设计师们对苹果情有独衷。在 1024 x 768 的分辨率下,打开Firefox:

自然状态下,Firefox窗体的大小约为 974 x 650. 减掉左右两边7px的边框,网页的实际大小为上图中的红色部分,高宽为 960 x 650.
有趣的960就这样出现了。是的,可以认为一切就这么简单。栅格系统最早出现在平面设计领域,设计师们爱用苹果,苹果下浏览器的默认宽度为960px, 于是960就这么“自然”地出现了。
数字背后的奥妙
上面的“自然”出现,细究自然是不让人信服的。苹果系统的设计者们在没有喝醉酒的情况下选择了960,而不是其它什么1000之类的整数,自然另有奥妙。
科学界有很多问题都可以归结到数学问题上,我们也从数学着手:

960可以分解为2的6次方乘以3和5, 这使得960可以分割成以下宽度的整数倍:
2, 3, 4, 5, 6, 8, 10, 12, 15, 16, 20, 24, 30, 32, 40, 48, 60, 64, 80, 96, 120, 160, 192, 240, 320, 480
共26种(26 = 7 * 2 * 2 – 2, 减去2是去掉1和960自身),我们标记为:
N(960) = N(2^6 * 3 * 5) = 26
根据上面的算法,可以得到:
N(360) = N(2^3 * 3^2 * 5) = 22 N(480) = N(2^5 * 3 * 5) = 22 N(720) = N(2^4 * 3^2 * 5) = 28 N(750) = N(2 * 3 * 5^3) = 14 N(800) = N(2^5 * 5^2) = 16 N(960) = N(2^6 * 3 * 5) = 26 N(1000) = N(2^3 * 5^3) = 14 N(1024) = N(2^10) = 9 N(1440) = N(2^6 * 3^2 * 5) = 34 N(1920) = N(2^7 * 3 * 5) = 30
根据直觉(严格证明也不难,不过还是留给数学系的学生去证明吧),我们得到一个有趣的结论:
要使得N(width)最大,width的取值有两个系列:
A系列: …, 320, 720, 1440, …
B系列: …, 480, 960, 1920, …
N越大,可组合的宽度值就越多。对栅格系统来说,这意味着越灵活!
目前绝大多数显示器都支持 1024 x 768 及其以上分辨率。为了有效的利用屏幕宽度同时保证栅格的灵活度,可以看出960是非常合适的。这样,在目前主流显示器下,960就成为网页栅格系统中的最佳宽度了。(也许不久的将来,将会流行1440)
细心的你也许会记得,本文开头列举的宽度值中,950也出现了好几次。950是怎么来的?和960是啥关系?这些疑问,请关注本系列的下一篇文章。

October 20th, 2008 on 8:24
好细心的剖析啊
October 20th, 2008 on 10:27
雕兄厉害
October 20th, 2008 on 15:35
是不是adaptive path上也介绍过?
October 21st, 2008 on 4:17
那个红色的大图片看起来不舒服,太耀眼.
October 21st, 2008 on 15:23
waiting for the next…
October 21st, 2008 on 23:00
really?# mystery¬
October 24th, 2008 on 10:06
终于领教到了,栅格化的优势。正在学习当中
October 24th, 2008 on 17:38
我自己开发的网站,试用了 950 的宽度,也就是 font-size=62.5% 时的 95em。
之所以选择这个宽度,是因为在 firefox 下,装了 all-in-one sidebar之后,1024×768 的分辨率下,这个宽度不会出现横向的滚动条。
呵呵。
October 30th, 2008 on 13:09
学习ing·······期待更多的教程
October 31st, 2008 on 14:15
经验最重要!!
November 2nd, 2008 on 11:05
感谢小奎指正,文中已修正为:
要使得N(width)最大,width的取值有两个系列:
A系列: …, 320, 720, 1440, …
B系列: …, 480, 960, 1920, …
N越大,可组合的宽度值就越多。对栅格系统来说,这意味着越灵活!
目前绝大多数显示器都支持 1024 x 768 及其以上分辨率。为了有效的利用屏幕宽度同时保证栅格的灵活度,可以看出960是非常合适的。这样,在目前主流显示器下,960就成为网页栅格系统中的最佳宽度了。(也许不久的将来,将会流行1440)
November 11th, 2008 on 0:07
[...] 我在960的秘密一文中,只是想从数学的角度上指出对栅格系统来说,960是个很灵活的宽度而已。这只是一个引子,想激发大家对栅格系统的兴趣,之后的文章才是重点。 [...]
November 26th, 2008 on 10:06
非常好
January 13th, 2009 on 8:56
玩出了花样
January 13th, 2009 on 9:54
有个疑问
要使得N(width)最大,width的取值有两个系列:
A系列: …, 320, 720, 1440, …
B系列: …, 480, 960, 1920, …
N(840)=30>N(960) 上面结论貌似不成立
January 13th, 2009 on 17:08
N(360) = N(2^3 * 3^2 * 5) = 22
N(480) = N(2^5 * 3 * 5) = 22
N(720) = N(2^4 * 3^2 * 5) = 28
N(750) = N(2 * 3 * 5^3) = 14
N(800) = N(2^5 * 5^2) = 16
N(960) = N(2^6 * 3 * 5) = 26
N(1000) = N(2^3 * 5^3) = 14
N(1024) = N(2^10) = 9
N(1440) = N(2^6 * 3^2 * 5) = 34
N(1920) = N(2^7 * 3 * 5) = 30
一直对于数学一直很头疼,有点看不太明白啊
January 13th, 2009 on 21:18
@大鹏:840的N值的确大于960的,我文中的说法有误。感谢你的指明。
不过考虑1024的主流宽度,从有效利用屏幕的角度讲,960目前是非常合适的。
January 13th, 2009 on 23:49
不错,加深了我对栅格的认识!感谢!
January 15th, 2009 on 9:10
我做网页也默认习惯用960,曾经量过宽度,大概就是这个数值,看来是用对了!嘻嘻,但是不知道960还有这么多的研究。高见!
January 18th, 2009 on 0:19
2, 3, 4, 5, 6, 8, 10, 12, 15, 16, 20, 24, 30, 32, 40,
48, 60, 64, 80, 96, 120, 160, 192, 240, 320, 480
共26种(26 = 7 * 2 * 2 – 2, 减去2是去掉1和960自身)
我没看懂7*2×2这个怎么推算的?麻烦谁帮我解答一下。
January 18th, 2009 on 0:25
难道就是一个一个数出来的?
January 18th, 2009 on 0:28
要使得N(width)最大,width的取值有两个系列:
A系列: …, 320, 720, 1440, …
B系列: …, 480, 960, 1920, …
这A、B两系列又是以什么来区别的呢?怎么判断是A?怎么判断是B呢?
January 18th, 2009 on 0:34
A、B两系列是宽屏和普屏的区别?
January 30th, 2009 on 22:27
巧合吧,我用960也是算的,但可不是这么算的,我还没用过苹果设计,我用1024的显示器,这仍然是主流,1024-滚东条18,两边各留出25px, 这样的空白看起来好看些,不闷,1024-18-50=956。而956不好计算,所以取个整960或950。有那么麻烦吗?
February 12th, 2009 on 13:15
等待用1140了
February 25th, 2009 on 12:03
对于复杂站点 也许有用
April 3rd, 2009 on 23:21
很佩服,博主这个博皮为啥不用960呢,看了下貌似是1000,不过我非常喜欢你这个博皮,找了好久,可惜是960版的,博主改造过的对不?能否共享共享啊,嘿嘿!
April 28th, 2009 on 22:58
6楼的兄弟职业病又犯了…呵
August 4th, 2009 on 10:51
学了你这篇文章,加上自己的摸索,现在我都离不开这个960了.
October 25th, 2009 on 22:30
N(960) = N(2^6 * 3 * 5)
2的指数可以取0-6,共7种
3的指数可以取0-1,共2种
5的指数取法同3
Tot= C(7,1)*C(2,1)*C(2,1)=7*2*2=28
出去1,和960两种情况,28-2=26
即,7 * 2 * 2 – 2=26.
October 25th, 2009 on 22:44
勘误:
-应该是
N(1440) = N(2^5 * 3^2 * 5) = 34
-而不是
N(1440) = N(2^6 * 3^2 * 5) = 34
November 19th, 2009 on 0:21
研究栅格, 钻到960里, 算走上了歪路子上去了. 还是好好 研究一下CSS, HTML好.
November 29th, 2009 on 11:21
感觉不错。现在很多主流门户网站都用是960的宽度!
leave a reply