牛骨文教育服务平台(让学习变的简单)
博文笔记

页面高度的取值与ifarme高度的自适应

创建时间:2011-05-06 投稿人: 浏览次数:1143

在网页中使用ifarme是下下策之选,使用ifarme后需要做很多页面自适应的处理,所以能不用尽量不用。

首选需要了解js中几个属性的区别:

 

关于获取各种浏览器可见窗口大小

document.body.clientWidth

document.body.clientHeight即可获得,很简单,很方便。

而在公司项目当中:Opera仍然使用

document.body.clientWidth

document.body.clientHeight

可是IE和FireFox则使用

document.documentElement.clientWidth

document.documentElement.clientHeight

原来是W3C的标准在作怪啊http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

如果在页面中添加这行标记的话

在IE中:document.body.clientWidth ==> BODY对象宽度

document.body.clientHeight ==> BODY对象高度

document.documentElement.clientWidth ==> 可见区域宽度

document.documentElement.clientHeight ==> 可见区域高度

在FireFox中:document.body.clientWidth ==> BODY对象宽度

document.body.clientHeight ==> BODY对象高度

document.documentElement.clientWidth ==> 可见区域宽度

document.documentElement.clientHeight ==> 可见区域高度?

在Opera中: document.body.clientWidth ==> 可见区域宽度

document.body.clientHeight ==> 可见区域高度

document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

而如果没有定义W3C的标准,

则IE为:document.documentElement.clientWidth ==> 0

document.documentElement.clientHeight ==> 0

FireFox为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)

document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

Opera为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)

document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

 

       了解这些属性以后在js中进行控制

一般有w3c的标准http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">的情况下我会用document.documentElement.clientHeight获取页面高度,然后根据这个值进行控制。

注:ifarme中width可以使用100%进行设置,在没有w3c的标准下height100%是有效的,而有w3c的标准的话页面的高度是无限长的,所以height设置为100%没有效果,需要给定一个数值。

W3C标准有很多用途,这里就不一一列举了。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。