有很长一段时间没有写关于Css方面的文章了,今天刚好有空,就整理了一些Css兼容性问题解决的方法。当我们使用不同的浏览器(IE6.0,IE7.0,FireFox)访问同一个网站,或者页面的时候,会出现一些不兼容的问题,有的显示出来正常,有的显示出来不正常,我们在编写CSS的时候会很恼火,刚修复了这个浏览器的问题,结果另外一个浏览器却出了新问题。而兼容就是一种办法,能让你在一个CSS里面独立的写支持不同浏览器的样式。
下面列出区分IE6.0,IE7.0,FireFox的CssHack写法:
代码如下:
另一种Hack的写法:
区别IE6与FF:
background:orange;*background:blue;
区别IE6与IE7:
background:green !important;background:blue;
区别IE7与FF:
background:orange; *background:green;
区别FF,IE7,IE6:
background:orange;*background:green !important;*background:blue;
注:IE都能识别*;标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important,
IE7能识别*,也能识别!important;
FF不能识别*,但能识别!important;
再补充一个,下划线"_",
IE6支持下划线,IE7和firefox均不支持下划线。
于是大家还可以这样来区分IE6,IE7,firefox
: background:orange;*background:green;_background:blue;
注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面。
2.再说一下盒子的实际宽度为(在IE6.0,IE7.0,FireFox的环境下):width+padding+margin
3.清除浮动:
1)在需要关闭的层的结束前面再插入一个层:
.clear { clear:both; font:0; line-height:0; margin-top:-1px; }
2)float 闭合可以用这个解决多个div对齐时的间距不对,给需要闭合的div加上 class="clearfix" 即可,屡试不爽.
.clearfix:after {
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearfix {
display:inline-block;
}
.clearfix {display:block;}