问题出现的来由:
在网页应用margin-top属性时,发现IE和firefox下虽然有相同的值,但是具有不同的偏移量。
改进后:
#simple{
position:absolute;
margin-top:30px; /*for IE*/
margin-top:35px !important;/*for Firefox*/
}
注意:IE不识别 !important。其次,定义顺序,IE以最后一个属性的定义为最终的网页识别定义,虽然不识别!important,但是,IE识别了35px这个高度设置,在Firefox和Chrome下位置定位成功了,但是在IE下又失败了,下移了5个像素。
调整顺序,如下:
#simple{
position:absolute;
margin-top:35px !important;/*for Firefox*/
margin-top:30px; /*for IE*/
}
以为会成功,结果又失败了,其实Firefox也是识别最后一个属性定义值的。所以笔者紧急调用小宇宙,第一,必须解决定义的准确性,第二,必须解决不同浏览器的兼容问题,并且分开定义。
于是:
(1)在属性定义时,先做完整的闭合处理,即
margin:30px 0 0 0; /*上、右、下、左*/
(2)特别定义IE能识别,而其它浏览器不识别的处理,即
*margin:30px 0 0 0; /*IE 6, IE 7, IE 8 可识别*/
(3)定义两个margin,其中一个只让IE识别,另一个做一般化处理,即:
*margin:30px 0 0 0; /*IE 6, IE 7, IE 8 可识别*/
margin:35px 0 0 0; /*一般化定义,也注意闭合,并且定义往下多占据5个像素*/
完整代码如下:
#simple{
position:absolute;
margin:35px 0 0 0;/*For ALL*/
*margin:30px 0 0 0; /*for IE6,7,8*/
}
测试,成功!
注意:仍然需要注意定义的顺序,如果颠倒顺序,IE最后仍识别margin-top:35px的属性。其它浏览器识别了第一个一般化定义之后,就不去关注*margin设置了,而IE识别了最后的*margin值,及top是30px的值,因此定义成功。
在这里,我们忽略了,由于一开始我所说的其它属性设置的兼容性影响,单独做margin的处理,这样,无论其它属性是否兼容,而最后这样的设置,使得高度和margin都兼容了!
- 浏览: 279715 次
- 性别:
- 来自: 济南
最新评论
-
yin_bp:
可以看看bboss session,支持集群session共享 ...
集群session共享机制 -
qiwei31229:
楼主,你好问下,这种情况使用flyway要怎么处理,假设用fl ...
数据库文件版本管理工具flyway -
213539:
我TM为这个问题纠结了一天...感谢楼主~不过正在纠结是通过注 ...
JPA(Hibernate)不生成外键 -
枫叶一染:
楼主你好,你的项目我整 了好久都没弄好,能完整单独发给我一份吗 ...
集成activiti 5.16.4中modeler -
lp895876294:
hailinliu 写道楼主,你重写了Oracle10gDia ...
JPA(Hibernate)不生成外键
相关推荐
利用!important来处理margin在firefox与IE的显示差别
定位层被遮的问题,特别是在火狐和IE的区别
IE6/IE7/IE8/Firefox的CSS各种兼容margin问题解决办法,需要的朋友可以参考下。确实不错。
margin-right 为 auto 时已经居中, IE 不行3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会...
在IE和FireFox(FF)中js和css的不同 css: 1. ul标签中FF中有个padding值,却没有margin值,而在IE中正好相反 解决办法:将ul的padding和margin都设为0(也可以不是0)如:padding:0;margin:0;list-style:none; js: 1. IE...
同一样式里可以这样[code]margin:17px; FF +margin:17px; IE6 IE7 _margin:17px; IE6 [/code]按这个顺序,刚好区分开三个浏览器
CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和Firefox存在很大的解析差异,这里介绍一下兼容要点。 常见兼容问题: 1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中,...
margin加倍的问题 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inline; 例如: 复制代码代码如下: <#div id=”imfloat”> 相
margin-left本身不兼容IE6 其余主流浏览器如ie8、火狐都支持。
自己在IE和FF试过了js代码加亮效果,用了一段别人的压缩后的代码作为例子,受限制,删了一部分。 发现错误的大虾一定要留下测试用的代码啊! 软件开发网 www.jb51.net #oTxt{ color:#333333; background-...
在将居中显示时,使用css:#main {margin:0 auto;width:400px;} 此css在firefox下是好的,但是在ie下不起作用。于是开始搜索整理了一下,晒出来和大家分享一下,有需要的朋友可以参考下
jb51站长推荐的用js实现的多浏览器支持的图片轮换展示效果在ie,firefox和测试一切正常,建议以后大家都要用这样的兼容性比较好的代码 body {margin:0 auto; padding:0; text-align:center } .box400 {margin:0 ...
2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会...
2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会...
}的话在ie中浏览没有问题,但在firefox中依然左对齐。 所以必须再加一个样式 div div { margin-left:auto; margin-right:auto; }这样在ie,ff都能对齐。 我猜想是ff中如果你不设置margin,默认为0;而margin的...
在《CSS Mastery》一书的第5章中,作者说IE和Opera使用margin-left来缩进列表,而Safari和Firefox使用padding-left。经过我的实际测试,发现Opera 9(我实测的是Opera 9.23)同FF和Safari一样,也是使用padding-left...
、IE与FireFox的js和css png透明 AlphaImageLoaderfilter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=bEnabled,sizingMethod=sSize,src=sURL) enabled:可选项。布尔值(Boolean)。设置或检索滤镜...