网页栅格系统研究(3):粒度问题

作者:玉伯 来源:Taobao.com UED Team 时间:2008-10-28 19:46:00 

研究(2)中讨论了栅格系统的基础知识。这一篇将集中探讨栅格系统的粒度问题。(注:如非特别指明,栅格系统均指24列960栅格系统)

淘宝的首页(截图)目前尚未严格遵守栅格系统,如果重构的话,宽度方向可以考虑采用下面的栅格布局(只考虑页面主体部分,忽略高度的比例):


(图1)

纷乱的高度世界

我们来看下图1左上角。左上角部分目前的宽度为256px, 重构的话可以将宽度缩小到230px以符合栅格(不可避免的要调整内容,比如人气宝贝中将只能放下3张图片)。来仔细看下高度方向:


(图2)

高度方向的布局是:90 : 117 : 100, 第一个间隔是8, 总高度为325. 很明显,高度方向没有任何栅格化的迹象。实际上,

即便是严格遵守栅格系统的Yahoo!首页,高度方向上也没有严格栅格化。

这究竟是为何?

一切皆有可能

我们缩小关注点:


(图3)

上图中,图像的大小是70 x 70, 刚好是24列960栅格系统两列的宽度。对于右边的文字,采取了如下样式:

font-size: 12px; line-height: 150%; /* 12 x 150% = 18px */

中文字体是宋体,line-height的计算值是18px. 注意图3中文字部分可视区域的高度为65, 上下各有4px和1px的间隙。为什么会产生这么奇怪的间隙呢?我们来看下图:

(图4)

从上图中我们可以得知,12px的宋体中文字,实际高度只有11px. line-height减去11多出来的高度,则“均匀”分布在上下间隙中(如果多出来的高度为偶数,则上下均分;为奇数时,上面比下面多1px)。这样,对于70px的高度来说,要布局4行文字时,假设行高多出来的上半部分为x, 下半部分为y, 在最理想的情况下,应该满足以下公式:

11 * 4 + 4 * x + 3 * y = 70 x = y 或 x = y + 1

不难推出,x最理想的整数解为4. 从而line-height为 4 + 11 + 3 = 18. 因此:

对于24列960栅格系统来说,如果要在高度方向上实现栅格,font-size为12px时,line-height的最佳取值是18px(150%).

追求完美点话,还可以将文字部分margin-top: -1px, 使得65上下的间隙为3和2.

至此,我们可以初步判断:

高度方向上是有可能严格栅格化的。一切皆有可能!

标签:栅格,栅格系统,网页设计,比例
0
投稿

猜你喜欢

  • plsql和tsql常用函数比对

    2009-09-13 17:50:00
  • 为什么要登录?

    2010-11-30 21:41:00
  • Monster for Chrome

    2010-05-04 16:30:00
  • [翻译]标记语言和样式手册 chapter 5 表单

    2008-01-23 17:20:00
  • MySQL中delimiter的作用

    2010-10-25 20:26:00
  • [翻译]JavaScript中对象的层次与继承

    2008-12-31 13:36:00
  • 建立适当的索引是实现查询优化的首要前提

    2009-01-19 13:11:00
  • JS不同加载方式下的window.onload

    2009-05-21 18:09:00
  • sql server中通过查询分析器实现数据库的备份与恢复方法分享

    2012-05-22 18:41:58
  • IE与Firefox的CSS兼容大全

    2008-01-31 15:36:00
  • 定位后无法选择容器的内容解决方案

    2008-07-30 12:08:00
  • 不通过数据源名DSN也能访问Access数据库吗?

    2009-10-29 12:22:00
  • Asp 编码互转的研究和实现代码

    2011-03-30 10:44:00
  • MySql数据库捕获sql语句异常的方法

    2011-08-05 18:17:28
  • ASP 操作cookies的方法

    2011-03-10 11:24:00
  • 采用XML数据来填充ASP表单

    2008-05-04 13:32:00
  • on error goto (Vbscript)和try catch

    2008-08-04 13:22:00
  • asp HTTP_X_FORWARDED_FOR和REMOTE_ADDR

    2010-07-02 12:33:00
  • 访问javascript私有变量

    2010-01-19 13:56:00
  • MySQL列类型的选择与MySQL的查询效率

    2009-01-14 12:53:00
  • asp之家 网络编程 m.aspxhome.com