对浏览器兼容性作个总结
关于浏览器兼容性,我总结了下面一些希望对你有用,有什么不对的地方希望大家提出来 谢谢
1. 就是行内属性 display:block;、 float:left/right;后 也有横向margin时 也会在IE6里多几像素 这个问题 很少出现 因为在行内属性时很少用margin
这个解决问题的方法是 display:block;display:inline;display:table; 要按顺序写 你试试就知道了
2. 就是块属性在float后 有横向margin时 在IE6会多出几像素间距
解决方法 就是 加display:inline;
3.行高(内容撑开高度)
解决方法 就是 height:00px;overflow:hidden;
4.a中有img时 有的浏览器会给 img加个边框
解决方法 a img{border:none;}
5.*{margin:0;padding:0;} 这个就是加了 你就不会出现一些不必要的麻烦 每个浏览器的莫认间距是不一样的这样就可以了
6.img(在横向时有间距)
解决方法 就是给img float 还有就是在img外加个标签设W、H
7.上层标签float后 下层标签要clear .clear{clear:both;height:0;overflow:hidden;}
8.hanker 让不同浏览器解析不同命令
_下划线只针对IE6
*星号 针对 IE6、IE7 、遨游 下面是个样式
.test{height:500px;*height:400px;_height:200px;}IE6会解析到200px;
9.ul/ol里有li时IE6里会出现一行空白,应该如何排除这个?
问题分析:这里说的ie6里的li在默认的时候,每个列表项中间都有一个间隙。是一个ie6的bug。
解决方法:把li 浮动后就可以解决这个问题。类似有间距的问题可以说是非常常见,不只是在li里,几个行内属性标签放在一起的时候,也常在ie6里看到间距。类似的问题解决方案首先要想到一个,就是用float布局。
10.ie6里浮动布局的时候,(例如使用a标签浮动布局)有时候会出现最后一行自动复制到下一行的问题,这个问题怎么解决?(这个是非常少见的问题,也只有在ie6里有这个bug。)
解决这个问题的方法:设置一个高度,然后overflow:hidden;清掉浮动。
11.还有一个就是dl 这个不知道应该怎么说 就是他里面的dd 有时候会多高度 这个解方法 就是给dl加高 然后overflow:hidden;这个不太确定,如果你遇到了这个问题 你试试
上面是我对浏览器兼容的个人总结
