1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

clientHeight 在不同浏览器下的效果

本帖由 不学无术2005-09-05 发布。版面名称:前端开发

  1. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    因为浏览器的标准的不同,同时也受 DTD 的影响,同一个属性值,在不同的浏览器下可能呈现不一样的结果,从而导致预期的效果在某些浏览器下无法呈现。

    这里我所发现的是关于 document.body.clientHeight 属性值。

    测试的系统是 Windows 2003,屏幕分辨率 1024 * 768,对比的浏览器是 Firefox 1.0.6 CHS、Opera 8.01 CHS、Internet Explorer 6.0 CHS。

    文档的 <body> 和 </body> 之间没有任何内容,三种浏览器下获得的值,分别是 0、646、18。

    在 BODY 上添加 onclick 行为,Firefox 下,任何地方均有效,Opera 任何地方均无效,Internet Explorer 仅在距离页面顶部约 18px 高度范围内有效。

    这个时候如果去掉关于 DTD 的定义,则三款浏览器下,任何地方均有效。
     
  2. bigban

    bigban New Member

    注册:
    2005-09-05
    帖子:
    781
    赞:
    3
    受用,不过还是觉得所有浏览器统一的好!否则只能向IE看齐,目前很多银行系统都只支持IE,据说成人高考网上缴费制定IE浏览器!
     
  3. 古井涟漪

    古井涟漪 New Member

    注册:
    2005-09-05
    帖子:
    33
    赞:
    1
    好东西!但是??有点问题!不懂!
     
  4. 柚子

    柚子 New Member

    注册:
    2005-08-31
    帖子:
    132
    赞:
    2
    个人认为,IE 之所以被那么多人选用,在于使用 Window$ 系统的占绝大多数,而 IE 提供了丰富的 ActiveX 来扩展其功能,对于那些功能应用型的网站来说,就很重要了。

    这里也不是要一味地去排斥 IE 或者其它。

    根据自己面向的用户群,结合功能需求来选择——很多是后 WEB 开发就是如此,有得必有失。

    至于说不明白上面的,我觉得楼主只是告诉我们存在的现象,但是没有列出合理的解决方法。去掉 DTD ,只是一个权宜之计罢了。
     
    已获得 不学无术 的点赞。
  5. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    经过测试,onclick 行为不应该作用在 BODY 上,作用在 DOCUMENT 上,即对整个文档有效。

    但是在 Opera 下面,背景的垂直属性有些问题,即 no-repeat center center ,得到的是横向居中,垂直顶端的背景图片。
     
  6. A君

    A君 Well-Known Member

    注册:
    2005-08-31
    帖子:
    19,987
    赞:
    98
    我来拉。。。
     
  7. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    很抱歉,没有能在第一时间通知你。
     
  8. 拒绝游泳的鱼

    拒绝游泳的鱼 New Member

    注册:
    2005-09-04
    帖子:
    89
    赞:
    0
    对得起我的IE就行了