在css方面,ie和firefox有哪些区别

 我来答
羽强务采南
2019-01-17 · TA获得超过3568个赞
知道小有建树答主
回答量:3120
采纳率:27%
帮助的人:232万
展开全部
1.高度的区别
IE:在没有定义高度时候,将根据内容高度的变化,包括未定义高度的
图片内容

在定义了高度时候,当内容超过高度时,将使用实际内容的高度。
FF:在没有定义高度时,如果内容中包括了图片内容,MF的高度解析是根据印刷标准,这样就会造成和实际内容高度不符合的情况;
在当定义了高度,但是内容超过高度时,内容会超出定义的高度,但是区域使用的样式不会变化,造成样式错位。
建议:在可以确定内容高度的情况下最好定义高度,如果真的没有办法定义高度,尽量不用使用边框样式。
2.
宽度
的区别
IE:内容宽度=您定义的容器宽度(Internet
Explorer
’width’)-padding宽度-border宽度。
IE中定义
width:100px;padding:5px
的话,所显示的宽度就是100px。
FF:容器占的宽度=内容宽度+padding宽度+border宽度。
Firefox中定义
width:100px;padding:5px
的话,所显示的宽度就是105px。
建议:使用
!important;但是,!important一定要在前面。
如:width:95px
!important;width:100px;padding:5px;。
注:高度亦是如此!
3.浮动(float)的区别
(1)空格处理
IE:对于DIV并排时候使用float
关键字
时候,IE对块与块之间的空格是处理的。
FF:对于DIV并排时候使用float关键字时候,Firefox对块与块之间的空格是不处理的。
建议:经常发现使用float关键字时候在Firefox显示正常,但是在IE中会出现空格,就是这个原因;
避免在div连div时候添加空格或者回车,也即是一个div紧接这一个div写;
或者,将div放入li中进行处理,这样就不会有空格的问题。
(2)Margin加倍
IE:在使用float的情况下,IE的margin加倍。
FF:正常显示。
建议:针对IE,添加display:inline;
相应的css为
#float{
float:left;
margin:5px;/*IE下理解为10px*/
display:inline;/*IE下再理解为5px*/
}
4.
鼠标
位置处理
IE:获取事件鼠标位置时,IE用的是event.x和event.y,并且值在不加单位的情况下可以直接使用,IE提供默认单位;
div.style.left
=
event.x
div.style.top
=
event.y
此时,div显示的位置为鼠标的位置。
FF:获取事件鼠标位置时,Firefox用的是MouseEvent.pageX和MouseEvent.pageY,并且在不加单位的情况下直接
赋值
后,无效;必须添加单位。
div.style.left
=
MouseEvent.pageX
div.style.top
=
MouseEvent.pageY
此时,div显示的位置为0,0.
建议:都添加单位,无论针对IE或者Firefox都有效。
IE:div.style.left
=
event.x+'px'
div.style.top
=
event.y+'px'
FF:div.style.left
=
MouseEvent.pageX+'px'
div.style.top
=
MouseEvent.pageY+'px'
针对IE与Firefox这些不同,解决方案可以有多种,但是当问题直接解析模型的不同的时候,我们只能分
别针

浏览器
的不同而单独写针对于浏览器的方法。这也是写精致CSS所必须懂得的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式