如何避免IE7中Zoom功能放大滚动条

    由于现在显示器越来越大17'、19'甚至20'都很普通了,并且显示器的分辨率也越来越高,使用1280x1024的用户已经高于使用800x600的用户(根据本站统计)。原有的大量为800x600 9pt字体以及一些为1024x768 9pt字体设计的网页已经非常过时了。所以Zoom功能逐渐成为了浏览器的必备功能。

    这个功能我最早是在Opera中看到的(但我并不知道是哪种浏览器最先提供),当时也就是为了用它来对付9pt蚂蚁字体网页,不过由于那时Opera对IE中显示完好的网页问题比较大,用了一段时间就没怎么用了,或者只是偶尔用用。后来使用Firefox,发现FF也提供了这个功能,不过FF的Zoom功能和Opera提供的Zoom功能效果是不同的。Opera的Zoom功能是对页面做按比例放大,就是说我们看到的放大页面就像是在放大镜下看到的效果一样。而FF提供的Zoom功能类似IE的字缩放,但又有所不同(IE是真正的文字缩放,而且只能缩放没有使用CSS限制的默认字体的大小)。FF的字体缩放不管字体是否使用CSS定义,都可以被缩放,并且除了图片外,文本框、复选框以及下拉列表框等控件也会被缩放。

    这两种缩放各有优势,不能说谁特别好,也不能说谁特别差。只是Opera的Zoom方式比较适合对付将网页宽度定死为适合800x600或1024x768的页面,而Firefox的Zoom适合对付页面宽度根据浏览器宽度自动填充的页面。在这个Zoom功能方面,IE7之前的IE做的那是一个差劲啊。由于大多数网页都使用CSS定义字体的大小,所以IE提供的那5个Level的字体大小控制,几乎没有任何实用价值。当然目前值得大家高兴的是,IE7提供了Zoom功能。

    IE7提供了类似Opera那样的Zoom功能,可是不知道IE在搞什么飞机,Zoom页面的同时,有很大一部分网页的滚动条也会被同时Zoom:(。本blog首页被Zoom in 400%后的效果如下:
    IE7.Zoom.400.png
    // 这滚动条也被放大的效果让人相当伤感。。。

    通过简单研究,原来IE7提供的这个Zoom功能是受doctype定义影响的。像我们博客园中每位blogger自己的首页使用的doctype是:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,这时页面的滚动条就会被一起Zoom。而博客园首页和管理页面中的doctype是:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">,这时页面滚动条就不会被Zoom。

    除了标示出dtd文件的URL外,其实只需要修改DTD的类型就可以避免滚动条被Zoom,比如最简单删掉Transitional限制:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN">,这样就可以了。至于到底IE7组要怎么要的doctype,这个我目前还没有找到正式的文档。

posted on 2006-11-26 22:40  birdshome  阅读(5237)  评论(5编辑  收藏  举报

导航