CSS浏览器兼容问题总结

为什么会出现浏览器兼容问题?

由于各大主流浏览器是不同的厂家开发的,所以使用的核心也不相同,架构代码很难重合,就会产生各种各样的bug。

IE6中常见的css解析bug

1)默认高度(IE6)部分块元素会拥有默认的高度

hack1:给元素添加声明:font-size:0;

hack2:给元素添加声明:overflow:hidden;

2)各浏览器的按钮大小不一样/边框显示不一样

hack:统一大小(宽和高);

hack1:给input外边加一个标签,给标签加边框,再取消input的默认边框;

hack2:给背景图插入;

3)表单元素行高对齐方式不一致

hack:给表单元素添加统一的声明:float:left;

4)双倍浮动问题

hack:给浮动元素添加声明:display:inline;

5)img产生的间距

hack:font-size:0;

6)div中插入图片时,图片会将div下方撑大3像素

hack1:将</div>和<img>标签写在一行,中间没有空格;

hack2:将<img>装换成块元素,给<img>添加声明:display:block;

7)li里a加display:block或者float;会出现行高不一致,会把父元素高度撑大3像素左右

hack1:display:inline-block;

hack2:display:inline;

8)li里的图片间隙,在li里插入图片时,图片会把li下方撑大3像素

hack1:将<img>转为块元素,给<img>添加声明:display:block;

hack2:给img定一个声明margin-bottom:-5px;

hack3:将<li>设置高度,给<li>添加声明overflow:hidden;

《补充》

!important关键字过滤器

表示所附加的声明具有最高优先级的意思,但由于IE 6及更低版本不能识别它,则可以利用IE6这个bug作为过滤器。

取消超链接的虚拟框:outline:none;

时间: 2024-10-04 11:50:04

CSS浏览器兼容问题总结的相关文章

CSS浏览器兼容

CSS 浏览器兼容知识汇总 CSS技巧 1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高line-height:200px; 然后插入文字,就垂直居中了.缺点是要控制内容不要换行. 2.margin加倍的问题 问题描述:设置为float的div在ie下设置的margin会加倍.这是一个ie6都存在的bug. 解决方案:在这个div里面加上display:inline; 示例讲解:<div id="imfloat"><

【引用】CSS浏览器兼容手册

CSS技巧 1.div的垂直居中问题vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了.缺点是要控制内容不要换行 2. margin加倍的问题    设置为float的div在ie下设置的margin会加倍.这是一个ie6都存在的bug.解决方案是在这个div里面加上display:inline;   例如:    <#div id=”imfloat”>    相应的css为   #IamFloat{ 

CSS浏览器兼容问题集(一)

CSS对浏览器的兼容性有时让人非常头疼,也许当你了解其中的技巧跟原理,就会认为也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,并且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加DOCTYPE声名 CSS技巧 1.div的垂直居中问题 vertical-align:middle; 将行距添加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了. 缺点是要控制内容不

javascript和css浏览器兼容问题总结

一些浏览器兼容性问题下面做一个总结: 为什么会出现这种现象呢?主要就是像Firefox这样浏览器良好支持W3C标准,是目前对CSS支持最好的浏览器,而ie是出现的比较早,在w3c支持方面做的一直不是很好.有很多东西出现FF和IE显示不一样的根本原因在于它们的默认显示不一样,而这个默认样式该如何显示我知道在w3中有没有对应的标准来进行规定. 下面总结一下这两种浏览器的兼容问题: 1.HTML对象获取问题 FireFox:document.getElementById("idName");

CSS浏览器兼容问题

CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声名. CSS技巧 1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了.缺点是要控制内容不

最全的CSS浏览器兼容问题

CSS技巧    1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了.缺点是要控制内容不要换行    2. margin加倍的问题 设置为float的div在ie下设置的margin会加倍.这是一个ie6都存在的bug.解决方案是在这个div里面加上 display:inline; 例如: <#div id=”imfloat”> 相应的css为 #IamFloat{ float

个人总结 css 浏览器兼容常见问题总结方法

1.如何让整个界面不出现滚动条,铺满整个浏览器.方法:在body中加overflow: hidden;有时候会出现底部有一段的空白,解决方法在form中加overflow: hidden;. 2.height:100%或者是width:100% 一加这个就会出现滚动条,除非控制. 3.IE显示下有时候字体会比其他浏览器显示的要小,解决方法:用IEhack区分不同浏览器 font-size:10px; 所有浏览器都可识别font-size:10px\9;所有IE浏览器都可识别font-size:1

css浏览器兼容问题(在IETester及其他浏览器中亲试过)

最近在研究一些关于浏览器兼容性问题的css问题,先归纳总结如下:(1)在一些现代浏览器(opera,chrome,谷歌,safari)中,如果给块级标签如div设置padding后会导致元素的height和width增加,在IE中则不会增加,但是只在IE6中不增加,IE7以上在IETester中测试都会增加,解决办法:可以使用 !important 多设一个 height 和 width (2)使元素水平垂直居中:垂直居中:将该元素的line-height设置为元素本身的高度,再通过vertic

CSS浏览器兼容的那些事儿

1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白1px,下留白3px,opera下就更不一样了.解决方案:给文字设定 line-height .确保所有文字都有默认的 line-height 值.这点很重要,在高度上我们不能容忍1px 的差异. 2.ff下容器高度限定,即容器定义了height之后,容器边框的外形就确定了,不会被内容撑大,而ie下是会被内容撑大,高度限定失