断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希望大家能在留言里面跟进自己发现的ie6 7 8bug和解决办法!
1:li边距无故增加
任何事情都是有原因的,li边距也不例外 。
先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细研究发现是由于其低级元素ul的padding引 起,padding的上下值对li有影响,左右无影 响 。所以只好笨手笨脚地把padding去掉,换成margin 。这是能解决问题,但往往不是我们想要的结果,或许 还会引起其他不必要的怪现象 。
解决这个问题的方法,其实很简单,既然是有ul引 起的,就设置ul的显示形式为*display:inline-block;即可,前面加*是只 针对IE6/IE7有效,其他浏览器并不渲染这个属性 。
2:分页数字 字体用Arial 加粗不抖动
复制代码代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml"
head
meta http-equiv="Content-Type"content="text/html; charset=gb2312"/
title无标题文档/title
link href="https://www.rkxy.com.cn/dnjc/css/style.css"rel="stylesheet"type="text/css"/
style type="text/css"
body, ul, h1 {
font-family:Arial;
font-size:12px;
}
.page {
text-align:center;
}
.page a {
display:inline-block;
padding:5px 8px;
text-decoration:none;
border:1px solid #09F;
background-color:#0CF;
color:#FFF;
}
.page a:hover, .page .selected {
border:1px solid #CCC;
background-color:#FFF;
color:#000;
font-weight:bold;
}
/style
/head
body
h1分页样式/h1
div class="page" a href="https://www.rkxy.com.cn/dnjc/#"1/a a href="https://www.rkxy.com.cn/dnjc/#"class="selected"2/a a href="https://www.rkxy.com.cn/dnjc/#"3/a a href="https://www.rkxy.com.cn/dnjc/#"4/a a href="https://www.rkxy.com.cn/dnjc/#"5/a
a href="https://www.rkxy.com.cn/dnjc/#"6/a a href="https://www.rkxy.com.cn/dnjc/#"7/a a href="https://www.rkxy.com.cn/dnjc/#"8/a a href="https://www.rkxy.com.cn/dnjc/#"9/a a href="https://www.rkxy.com.cn/dnjc/#"10/a /div
/body
/html
3:IE6 CSS选择器区分IE6
IE6不支持子选择器;先针对IE6使用常规申明CSS选择器,然后再用子选择器针对IE7 及其他浏览器 。
复制代码代码如下:
/*IE6 专用 */
.content {color:red;}
/* 其他浏览器 */
divp .content {color:blue;}
4:IE6最小高度
IE6 不支持min-height属性,但它却认为height就是最小高度 。解决方法:
使用ie6不支持但其余浏览器支持的属性!important 。
复制代码代码如下:
#container{min-height:200px; height:auto !important; height:200px;}
5:IE6100% 高度
在IE6下,如果要给元素定义100%高度,必须要明确定义它的父级元素的高度,如果你需要给元素定义满屏的高度,就得先给html和body定义height:100%; 。
6:IE6躲猫猫bug
在IE6和IE7下,躲猫猫bug是一个非常恼人的问题 。一个撑破了容器的浮动元素,如果在他之后有不浮动的内容,并且有一些定义了:hover的链接,当鼠标移到那些链接上时,在IE6下就会触发躲猫猫 。
解决方法很简单:
1.在(那个未浮动的)内容之后添加一个span style=clear: both; /span
2.触发包含了这些链接的容器的hasLayout,一个简单的方法就是给其定义height:1%;
7:IE6绝对定位元素的1像素间距bug
IE6下的这个错误是由于进位处理误差造成(IE7已修复),当绝对定位元素的父元素高或宽为奇数时,bottom和right会产生错误 。唯一的解决办法就是给父元素定义明确的高宽值,但对于液态布局没有完美的解决方法 。
推荐阅读
- css IE8 兼容问题的汇总
- 让IE6支持css3,让 IE7、IE8 都支持CSS3
- 关于IE7 z-index的浏览器兼容性问题完美解决方案
- IE7 mode IE8兼容视图与独立IE7的区别详解
- IE7和IE8的兼容性问题
- IE7,6与Fireofx CSS对浏览器的兼容性性处理
- DIV+CSS相对IE6 IE7和IE8浏览器行为区别及兼容性问题整理
- IE7兼容模式可以解决IE8 FF浏览器下出现文字重叠问题
- ie6~ie9 hack兼容写法 已测试
- 关于IE8兼容:X-UA-Compatible属性的解释