前些天Ian Liu发了篇有趣的发现:细致的易用性考虑,主要是讲网页的缩放,比如文章提到的IKEA网站。当然,最有价值的是评论部分,有兴趣的朋友可以先去看一下。
各个浏览器都有各自实现缩放的机制大约如下:
IE7
:整个页面缩放与文字缩放,鼠标操作(Ctrl+鼠标滚轮)为整个页面缩放,文字缩放没有提供快捷键,只能通过浏览器菜单操作(查看 ›文字大小 ›大|小)来选择。IE5~6
:文字缩放,鼠标操作与浏览器菜单操作都是一样的功能。Firefox2
:文字缩放,鼠标操作和浏览器菜单操作(菜单快捷键:Ctrl+”+” Ctrl+”-”)都是一样的功能。细节差别是鼠标操作缩放一个档,菜单操作放大两个档。Opera
:整个页面缩放,鼠标操作与浏览器菜单操作都是一样的功能,浏览器菜单提供更多的缩放比例。Safari
:文字缩放,浏览器菜单操作(菜单快捷键:APPLE+”+” APPLE+”-”)。整个页面缩放是由MAC系统完成,Win版没整个页面缩放的功能。傲游2
:这个是特别的浏览器,使用的是IE内核。它除了实现IE缩放的功能外,还额外实现了单图片缩放的功能(傲游设置中心 › 浮动按钮 或者按住 Ctrl+Alt 键在对象上移动鼠标可以强制显示浮动按钮)。其 他浏览器没去研究,估计也都差不多这几种类型。在IE5~6里,缩放的权力被剥夺已经成了很正常的一件事。 12px 真是伟大的值。虽然新的浏览器已经改变了12px不可缩放的情况,但是那些不可使用文字缩放的网站们好像就经不起新功能的考验。分辨率提高的同时,也提高 了信息的获取的难度:在”不可缩放”的浏览器(IE6)里,文字可能看不清,在仅仅实现了文字缩放的浏览器(Firefox2)里,网页可能看不清。虽然 浏览器有提供缩放的功能,但我们会把它破坏掉,比如:
IE
:对文字使用绝对单位,比如px,这时浏览器缩放文字的功能给我们破坏掉了,虽然IE也有错,可是还是因为我们的定义导致了问题的发生。Firefox
orIE
:把非文字的元素也使用成相对大小的单位,比如em ,这时浏览器只缩放文字的功能没了。 只有文字缩放
功能的浏览器:使用背景图片、flash等方式来显示文字,让文字变成不是文字了。用特别的CSS定义,让放大文字的网页看不清。单单的文字问题已经是老问题了,不想再扯什么,先看一下CSS Zen Garden这个经典的例子,就算是只是使用文字缩放,整个界面也缩放,其实没有完全缩放,图片部分没有,图片里面的内容也是文字。但是。因为它是背景图片,所以没办法缩放。Ian Liu说:如果图片中的字体太小,用户试图发大却未能提高相应的功能,也会给用户带来挫折感。
当然,刚才的例子的字体可能并不用使用缩放也可以看得清,但如果我用的是24′的显示器呢?我公司的座位旁边就有一台。
那再看一下IKEA网站,这个虾米都是相对的,这样的话 ,各个浏览器缩放起来是一样的。不管怎样缩放,都是整页缩放。这回图片里的文字也跟着缩放了。看起来好像已经比较完美的样子,但是缺点就是,单单缩放文字的功能被替换掉了,干啥要把功能换掉呢?你怎知道我不需要呢?我要整个缩放时我自己不会换个功能来用吗?是因为浏览器的问题呢?那我们应该骂一下那些该死的浏览器为什么不给我们提供这样的功能。
那就再回头看一下Yahoo!网站,这个的效果其实就跟刚才的CSS Zen Garden是一样的,但还有一些不一样,一个是背景图片,一个是图片内容。如果使用傲游2时,就可以单单放在图片来看,不过这个功能还不能放大背景图。如果想都放大时,也许使用整页放大的功能更适合了。也许,缩放应该是浏览器提供的功能,而不是我们去改造的。图片替换这技术一直以来最大的缺点就是不被缩放,像sIFR也存着同样的问题,华丽的效果是有代价的。也许,我们不久以后可以不用考虑这样多了,Firefox3据说已经支持整个页面缩放的功能。但是如果我们把文字信息换了个方式输出的话,那些看起来像文字的元素应该归进哪里,是不是应该让它跟文字同时缩放呢?我们是否要剥夺单单的文字缩放的功能呢?难道因为真正的文字缩放做得好难的原因吗?