Page 42 - css揭秘
P. 42

相信你的眼睛,而不是数字

                        人的眼睛并不是一台完美的输入设备。有时候精准的尺度看起来并不精
                    准,而我们的设计需要顺应这种偏差。举一个在视觉设计领域广为人知的例
                    子吧,我们的眼睛在看到一个完美垂直居中的物体时,会感觉它并不居中。
                    实际上,我们应该把这个物体从几何学的中心点再稍微向上挪一点,才能取
                    得理想的视觉效果。来亲身体验一下这件怪事吧(参见图 1-9)。
                        与此类似,在字体设计领域广为人知的是,圆形的字形(比如 0)与矩
                    形字形相比,需要稍微放大一些,因为我们倾向于把圆形感知得比其实际尺
                    寸更小一些。你也可以在图 1-10 中体验一下。                                             图 1-9
                                                                                         在第一个矩形中,棕色方块在数
                        这些视觉上的错觉在任何形式的视觉设计中都普遍存在,需要我们有针                                  学层面上是完美垂直居中的,但
                    对性地进行调整。一个非常常见的例子是给一个文本容器设置内边距。不论                                    看起来并不是这样;在第二个矩
                                                                                         形中,方块从几何中心向上轻微
                    内容文本有多长,是一个单词还是几个段落,这个问题都会出现。假如我们
                                                                                         移动了一点儿,但它在人类的眼
                    给容器的四边指定相同的内边距,则实际效果看起来并不相等,就像图 1-11                                 睛看来却是恰好居中的
                    显示的那样。原因在于,字母的形状在两端都比较整齐,而顶部和底部则往
                    往参差不齐,从而导致你的眼睛把这些参差不齐的空缺部分感知为多出来的
                    内边距。因此,如果我们希望四边的内边距看起来是基本一致的,就需要减
                    少顶部和底部的内边距。你可以在图 1-12 中看出这种差异。

                    关于响应式网页设计                                                            图 1-10

                                                                                         圆形看起来要小一些,但实际上它
                        响应式网页设计(Responsive Web Design,RWD)在最近几年风靡一                       占据的宽高和方形是完全一样的
                    时。但是,人们大多只是在不停念叨网页的“响应式”是多么重要,而极少
                    有人去深入探讨怎样才能做好响应式设计。
                        比较常见的实践是用多种分辨率来测试一个网站,然后添加越来越多的
                    媒体查询(Media Query)规则来修补网站在这些分辨率下出现的问题。然
                    而对于今后的 CSS 改动来说,每个媒体查询都会增加成本,而这种成本是
                    不应轻易上升的。未来每次对 CSS 代码的修改都要求我们逐一核对这些媒
                    体查询是否需要配合修改,甚至可能要求我们反过来修改这些媒体查询的设
                    置。这一点常常被我们忽略,后患无穷。你添加的媒体查询越多,你的 CSS
                    代码就会变得越来越经不起折腾。
                        这并不是说媒体查询是一种不良实践。只要用对了,它就是利器。但
                    是,你只应该把它作为最后的手段。比如你想把网站做得弹性灵活,但其他
                    尝试全都失败了;或者我们希望在较大或较小的视口下完全改变网站的设计
                    形态(譬如,把侧栏改成水平布局)。我这么说的原因在于,媒体查询不能
                    以一种连续的方式来修复问题。它们的工作原理基于某几个特定的阶梯(亦
                                                                                         图 1-11
                    称“断点”),如果大部分样式代码并不是以弹性的方式来编写的,那么媒体
                                                                                         为容器的四边指定了相同的内边
                    查询能做的只是修补某个特定分辨率下的特定问题——这本质上只是把灰尘
                                                                                         距(这里用了 .5em),但实际看
                    扫到地毯下面而已。                                                            起来上下空得多,左右空得少



                                                                                               CSS 编码技巧        11







          ඀ࠡ  JOEC
   37   38   39   40   41   42   43   44   45   46   47