之前讨论了栅格系统的基础知识。这一篇将集中探讨栅格系统的粒度问题。(注:如非特别指明,栅格系统均指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.
至此,我们可以初步判断:
高度方向上是有可能严格栅格化的。一切皆有可能!
然而,现实总那么残酷
(图5)
上图中的标题高度为22, 这在24列960栅格系统中是无法对齐的。而且总高度为100,
在24列960栅格系统中也不存在(110才可以)。或许高度方向上我们可以细化行宽为20,
但依旧没法解决上面两个问题(22是明显不能解决的,而对于100px的高度,也无法通过细化行宽来解决。可选高度永远是10的奇数倍,如果进一步细化,小于10后,会变得非常繁琐,没什么实际应用价值)
宽度世界里会好些吗
(图6)
上面是Yahoo!首页上的两个小模块,我都不想去标注模块里面的布局宽度了(因为一点都不符合24列960栅格系统)。宽度世界里,和高度世界一样充满希望但现实却残酷无比。
银弹是不存在的
栅格系统是美好的。但如果我们一味地追求将所有设计都栅格化(必须承认我曾有这个幻想),则立刻会陷入地狱一般的黑暗中。这篇文章中的艰难尝试(我分析了20多个小模块),让我突然醒悟到一个粒度问题:任何设计都有适用范围,超出最佳适用范围,强行使用只会带来无尽的烦恼。对于栅格系统(这里指所有栅格系统,包括多种栅格系统混合使用的情景)来说,我觉得以下场景非常适合:
- 页面的总体宽度布局,比如两栏、三栏等布局
- 一些固定区块的尺寸,比如广告图片的尺寸
- 区块之间的间距,可以参考栅格系统的槽宽(Gutter)
- 一些可以栅格化的小区域,比如图3中的例子,暗合栅格往往能简化布局上的考虑
除了上面这些应用场景,强行使用栅格系统,往往会束手束脚,适得其反。这篇文章的目的,就是尝试用最啰嗦最费神貌似很科学实际很无聊的分析来指出栅格系统应用时的粒度问题。在粒度问题上达成一致后,下一篇中我们将讨论栅格系统的技术实现,最后一篇则讨论栅格系统的压轴好戏:模块化开发。
http://ued.taobao.com/blog/2008/10/28/%e7%bd%91%e9%a1%b5%e6%a0%85%e6%a0%bc%e7%b3%bb%e7%bb%9f%e7%a0%94%e7%a9%b6%ef%bc%883%ef%bc%89%ef%bc%9a%e7%b2%92%e5%ba%a6%e9%97%ae%e9%a2%98/
?
[
点击查看详细]
分享到:
相关推荐
栅格系统基于一系列预先设定的行和列,为网页内容提供了一个结构化的框架,使得内容能够根据不同的屏幕尺寸和设备类型自适应地排列。这种工具通常包含预设的网格选项,如列数、间距以及对齐方式,以满足各种设计需求...
网页设计中的栅格系统是设计行业的一项重要技术,它以固定格子布局的方式组织页面内容,使得网页设计更加整洁、有序,提升了用户体验和页面可用性。其历史悠久,最早可追溯至17世纪法国的印刷管理改革,随后在二战后...
960网页栅格化系统起源于一个固定宽度的设计模式,其中页面宽度被设置为960像素,这个宽度通常是基于屏幕分辨率和浏览器的普遍兼容性考虑。栅格系统的核心在于将960像素的宽度拆分为多个单元格(Grid Cells)和间距...
在"网页栅格系统研究(1):960的秘密 - 岁月如歌.htm"这个文件中,可能详细探讨了960栅格系统的历史、应用方法、优势和如何在实际项目中实施。文件的"files"子目录可能包含了相关的图片或示例代码,帮助读者更好地...
网页栅格设计系统是网页设计中的一个重要组成部分,它源于平面设计中的栅格系统,通过规则的网格阵列来规范网页的版面布局和信息分布,旨在提升设计的秩序感、可读性和用户体验。栅格系统的历史可以追溯到16世纪,...
栅格系统不仅适用于传统的印刷设计,也广泛应用于网页设计、APP界面设计等领域,提高了设计工作的效率和标准化程度。 文字版式的处理是栅格系统中非常核心的一环。好的文字排版可以突出主题信息,增加阅读的舒适度...
Bootstrap栅格系统
在网页设计领域,960栅格系统是一种广泛采用的设计框架,它可以帮助设计师高效地创建出结构清晰、布局均匀的网页。960栅格系统的名称来源于其基本的宽度设置——960像素,这个宽度是基于大多数显示器的分辨率而设定...
Bootstrap栅格系统是Web开发中的一个关键工具,它允许开发者创建具有高度响应性和自适应性的网页布局。这个系统是Bootstrap框架的核心组成部分,旨在简化多设备显示的复杂性,确保网页在PC、平板和手机等不同屏幕...
4. 水文研究:研究地下水位、排水性能和洪水风险时,根系障碍深度信息是不可或缺的参数。 总的来说,“ROOTS”数据层是中国土壤数据的重要组成部分,为深入理解和管理我国土壤资源提供了宝贵的科学依据。通过与GIS...
Bootstrap栅格系统基于12列的布局,它允许开发者通过简单的类选择器创建灵活、响应式的网页设计。这种系统通过行(row)和列(column)的组合,实现了内容在不同屏幕尺寸下的适配,确保在桌面、平板、手机等各种设备...
Bootstrap栅格系统是一种基于12列的响应式布局框架,旨在帮助开发者构建适应不同设备屏幕大小的网页。这种系统能够确保网页在PC、平板、手机等不同设备上呈现出优雅的自适应效果,优化用户体验。Bootstrap栅格系统的...
栅格系统是网页设计中的一个重要概念,它是一种用于组织页面内容的工具,使得网页在不同设备上呈现时能保持良好的视觉效果和用户体验。Bootstrap栅格系统是目前最流行且广泛使用的框架之一,它通过行(row)和列...
响应式栅格系统生成器响应式栅格系统生成器响应式栅格系统生成器响应式栅格系统生成器
Bootstrap栅格系统是一种流行的网页布局工具,用于创建响应式、移动优先的设计。它允许开发者根据不同的设备屏幕尺寸灵活地组织内容。以下是对Bootstrap栅格系统的详细介绍: 1. **简介** Bootstrap栅格系统的核心...
网页栅格化是一种布局策略,它源于印刷设计中的网格系统,旨在提供有序、灵活且响应式的网页设计。这种布局方式将网页划分为一系列等宽的列,通过单元格和间距来组织内容,使得网页看起来更加整洁,同时也方便设计师...
960栅格系统是一种广泛应用于网页设计中的布局框架,旨在提供一种标准化、高效的方法来组织页面内容。这个系统基于960像素的宽度,以此为基础构建网页布局,确保在不同分辨率的屏幕上都能呈现出良好的视觉效果和用户...
在GIS(地理信息系统)中,栅格数据是一种广泛使用的数据模型,它将地球表面的地理信息组织成一系列的网格单元,每个单元都有一个特定的数值,代表了该位置的属性或特征。栅格数据的可视化通常涉及到颜色编码,即将...