CSS浏览器兼容问题的详细解答
下面由小编打来CSS浏览器兼容问题的详细解答,希望对诸位有所帮助。
1. Div居中问题 div设置 margin-left, margin-right 为 auto 时已经居中,IE 不行,IE需要设定body居中,首先在父级元素定义text-algin: center;这个的意思就是在父级元素内的内容居中。
2.链接(a标签)的边框与背景 a 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。
3.超链接访问过后hover样式就不出现的问题 被点击访问过的超链接样式不在具有hover和active了,很多人应该都遇到过这个问题,解决方法是改变CSS属性的排列顺序: L-V-H-A Code。
4. 游标手指cursor cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以。
的padding与margin ul标签在FF中默认是有padding值的,而在IE中只有margin默认有值,所以先定义 ul{margin:0;padding:0;}就能解决大部分问题。
6. FORM标签 这个标签在IE中,将会自动margin一些边距,而在FF中margin则是0,因此,如果想显示一致,所以最好在css中指定margin和 padding,针对上面两个问题,我的css中一般首先都使用这样的样式ul,form{margin:0;padding:0;}给定义死了,所以后面就不会为这个头疼了。
7. BOX模型解释不一致问题 在FF和IE 中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;} 注意这两个 margin的顺序一定不能写反, important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样: div {maring:30px;margin:28px}重复定义的话按照最后一个来执行,所以不可以只写margin:xx px!important; #box{ width:600px; //for ie6.0- width:500px; //for ff+ie6.0} #box{ width:600px!important //for ff width:600px; //for ff+ie6.0 width /**/:500px; //for ie6.0-}
8.属性选择器(这个不能算是兼容,是隐藏css的一个bug) p[id]{}div[id]{} 这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用.属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.
9.最狠的手段 - !important; 如果实在没有办法解决一些细节问题,可以用这个方法对于”!important”会自动优先解析,然而IE则会忽略.如下 1{ background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style for FF*/ background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style for IE */} 值得注意的是,一定要将xxxx !important 这句放置在另一句之上,上面已经提过。
,FF的默认值问题 或许你一直在抱怨为什么要专门为IE和FF写不同的CSS,为什么IE这样让人头疼,然后一边写css,一边咒骂那个可恶的M$ IE.其实对于css的标准支持方面,IE并没有我们想象的那么可恶,关键在于IE和FF的默认值不一样而已,掌握了这个技巧,你会发现写出兼容FF和IE的css并不是那么困难,或许对于简单的css,你完全可以不用”!important”这个东西了。 我们都知道,浏览器在显示网页的时候,都会根据网页的 css样式表来决定如何显示,但是我们在样式表中未必会将所有的元素都进行了具体的描述,当然也没有必要那么做,所以对于那些没有描述的属性,浏览器将采用内置默认的方式来进行显示,譬如文字,如果你没有在css中指定颜色,那么浏览器将采用黑色或者系统颜色来显示,div或者其他元素的背景,如果在 css中没有被指定,浏览器则将其设置为白色或者透明,等等其他未定义的样式均如此。所以有很多东西出现FF和IE显示不一样的根本原因在于它们的默认显示不一样,而这个默认样式该如何显示我知道在w3中有没有对应的标准来进行规定,因此对于这点也就别去怪罪IE了。
11.为什么FF下文本无法撑开容器的高度 标准浏览器中固定高度值的容器是不会象IE6里那样被撑开的,那我又想固定高度,又想能被撑开需要怎样设置呢?办法就是去掉height设置min-height:200px; 这里为了照顾不认识min-height的IE6 可以这样定义: { height:auto!important; height:200px; min-height:200px; }
12.为什么IE6下容器的宽度和FF解释不同呢?
让FireFox与IE兼容问题的差别在于容器的.整体宽度有没有将边框(border)的宽度算在其内,这里IE6解释为200PX ,而FF则解释为220PX,那究竟是怎么导致的问题呢?大家把容器顶部的xml去掉就会发现原来问题出在这,顶部的申明触发了IE的qurks mode。
IE6,IE7,FF IE7.0 出来了,对CSS的支持又有新问题。浏览器多了,网页兼容性更差了,疲于奔命的还是我们 ,为解决IE7.0的兼容问题,找来了下面这篇文章: 现在我大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释,会导致页面没按要求显示!下面是两个浏览器的兼容性收集.。
第一种,是CSS HACK的方法 height:20px; /*For Firefox*/ *height:25px; /*For IE7 & IE6*/ _height:20px; /*For IE6*/ 注意顺序。 这样也属于CSS HACK,不过没有上面这样简洁。 #example { color: #333; } /* Moz */ * html #example { color: #666; } /* IE6 */ *+html #example { color: #999; } /* IE7 */
第二种,css filter的办法,以下为经典从国外网站翻译过来的。. 新建一个css样式如下: #item { width: 200px; height: 200px; background: red; } 新建一个div,并使用前面定义的css的样式。在body表现这里加入lang属性,中文为zh: 现在对div元素再定义一个样式: *:lang(en) #item{ background:green !important; } 这样做是为了用!important覆盖原来的css样式,由于:lang选择器ie7.0并不支持,所以对这句话不会有任何作用,于是也达到了ie6.0下同样的效果,但是很不幸地的是,safari同样不支持此属性,所以需要加入以下css样式: #item:empty { background: green !important } :empty选择器为css3的规范,尽管safari并不支持此规范,但是还是会选择此元素,不管是否此元素存在,现在绿色会现在在除ie各版本以外的浏览器上。
相關文章
-
如何让CSS的标签兼容不同的浏览器
在日常生活或是工作学习中,大家对作文都不陌生吧,作文是人们以书面形式表情达意的言语活动。那要怎么写好作文呢?下面是小编为大家收集的做好自己作文,欢迎阅读与收藏。做好自己作文1在我们看不到的角落里,总会有着隐藏起 -
详细解答CSS中相同元素不同结构重复定义的问题
CSS选择器是构建CSS的基础.在为大型,复杂嵌套的(x)HTML文档进行样式定义时,很有可能会遇上针对相同元素在不同结构下的重复定义的问题,这个问题也是前端开发人员相对头痛的问题。在这种情况 发生的前提下,浏览器在渲染页 -
css 不兼容性问题的小结
1.清除浮动 clear:both;这个div一定要注意声明位置,一定要放在最恰当的地方,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。并且将clear这种样式定义为为如下即可: r{ clear:both;} 此外,为 -
iOS8.3越狱后修复Cydia Substrate不兼容问题解决方法
小编下面给大家带来的.是iOS8.3越狱后修复升级补丁,可以修复Cydia Substrate不兼容问题,希望可以帮助到大家。iOS8.3越狱很多人反馈安装插件后无法正常的问题,其实属于越狱工具导致CS(cydia Substrate)依赖不兼容iOS8.3 -
如何设置搜狗浏览器兼容模式
现在,使用搜狗浏览器的用户很多。不少用户在反映,搜狗高速浏览模式有时可能会遇到页面打不开的情况,这时其实我们只要切换到兼容模式就可以了。兼容模式设置成功,对于我们常用浏览器来说也是一件很好的事情,可以避免很多麻 -
Cisco路由器常见十大问题解答
时间是箭,去来迅疾,转眼一周又结束了,我们一定都积累了不少宝贵的经历,现在的你想必不是在写周记,就是在准备写周记吧。但是周记有什么要求呢?以下是小编为大家整理的语文周记高中3篇,欢迎阅读与收藏。语文周记高中 篇1一年 -
Win7如何才能设置浏览器的兼容模式
现在买的电脑安装的系统要吗是Win7的,要吗是Win8的,然而系统自带的IE浏览器一般为IE9.0或IE10.0。最近,有用户在IE8.0版本上打开网页时,提示不兼容。怎么办?那要如何设置浏览器的兼容模式呢?下面是小编为大家带来的关于Wi -
PHP如何获取访问者浏览页面的浏览器类型
导语:通过下面教程的学习,大家可以掌握PHP如何获取访问者浏览页面的浏览器类型,具体详情请阅读以下内容,更多详情请关注应届毕业生考试网。 方法如下检查用户的t字符串,它是浏览器发送的HTTP请求的一部分。用 $_SERVER[ -
JavaScript 控制浏览器窗口大小的方法
用 JavaScript 控制浏览器窗口大小用JavaScript控制浏览器窗口大小:A:有时候,我们需要控制显示窗口的大小,这当然能够通过点击窗口右上角的控制按钮来实现。但是,能否在页面中通过链接来实现呢?答案是:能!请看下面的代码:func -
CSS教程之重置默认样式与IE兼容圆角的解决方法
在生活、工作和学习中,大家都尝试过写作文吧,作文是人们以书面形式表情达意的言语活动。作文的注意事项有许多,你确定会写吗?下面是小编帮大家整理的虚惊一场作文,仅供参考,欢迎大家阅读。虚惊一场作文1“同学们,安静啦!”讲