CSS :不同的浏览器对高度的解析不一样~举个例,给不同的DIV 定义相同的height,可呈现的高度不一样怎么办?

 我来答
百度网友b3a074d
2011-01-30 · TA获得超过129个赞
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:110万
展开全部
这个问题是最常见的盒子模型问题,不仅是高度,宽度同样有一样的问题!

主要原因是包含ie6以下版本的浏览器对盒子模型的解析和标准css对盒子模型的解析是不同~

按css本身的标准盒子模型(也就是你说的定义了一个div的高度或者宽度),是指内容的区域的高度和宽度,不包含paading、border、margin。

但是在ie6以下版本,对盒子模型的解析并不是按css的标准来的,而是内容区域+padding+border。 这就造成同一个盒子模型在ie6以下的浏览器和ie7以上版本、以及火狐狸等对css标准解析的浏览器下会出现不一样的情况!

比如
<div style="width:100px;height:100px; margin:10px;padding10px; border:1px;">
比如这个列子
</div>
在ie6以下版本被解析成高度100+上padding10+下padding10+上border 1+ 下border 1=122

而在ie7以上既火狐狸浏览器下高度为:就是我们我们定义的高度100px (这才是css的标准解析)

目前用ie6以下版本浏览器的人还很多,要解决这个问题最简单的方法就是多套用一层div,上面的例子可以修改为
<div style="width:100px;height:100px; margin:10px;">
<div style="padding10px; border:1px;">
比如这个列子
</div>
</div>

当然也可以用hack来解决 ,不过用hack就相对比这个复杂!
简单来说为了兼容 我们不建议在一个已经设置了宽度和高度的div上在设置padding 和 border,这样就能避免你说的问题!
揭扰龙晨Nb
2011-01-30 · TA获得超过484个赞
知道小有建树答主
回答量:1294
采纳率:0%
帮助的人:645万
展开全部
......基本上....ie6、ie较高版本、其他内核浏览器(如火狐)间会出现兼容性问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梵天弘业T2
2011-01-31 · TA获得超过2140个赞
知道小有建树答主
回答量:1305
采纳率:0%
帮助的人:972万
展开全部
Strict//EN" "">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
<!--
div {
cursor:pointer;
line-height:20px;
border:10px solid red
}
-->
</style>
<div onclick="alert(this.offsetHeight)">ffffffffff</div>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式