无非就是color,heigh,width,background,float,padding,margin这些普通的在用来用去。
但我都是在IE6下测试,firefox我不管,我只想搞好在IE下面无问题就行
不知在IE7下有哪些和IE6不能兼容的CSS属性?
我找了很多很多资料,找到的都是在写怎么让不同浏览器下实现不同的效果.....
4 个解决方案
#1
一些css在IE6 IE7下bug的解决汇总!
1. 3px Bug
描述:IE下两个div之间会出现3个像素的Bug,这个bug是在当对一个div用了float元素时,而div未使用时则会出现。
解决方法:a.对另一个元素同时使用float; b.为已经浮动的div添加一条语句:margin-right:-3px; 或者margin-left:-3px; ;
例子:
<html>
<head><title>IE 3px Bug</title></title>
<style type="text/css">
<!--
body {
color:#fff;
}
.main {
background: #CCC;
border: solid 1px #000;
}
.left {
width:100px;
height:100px;
background:#444;
float:left;
}
.right{
width:100px;
height:100px;
background:#000;
}
-->
</style>
</head>
<body>
<div class=main>
<div class=left>
left
</div>
<div class=right>
right
</div>
</div>
</body>
</html>
以上是存在3px bug的代码,我们可以在.right中加入一条语句:float:left; 或者是在.left中加入margin-right:-3px;解决这个Bug。
2.Peek-a-boo Bug
描述:在一个液态的(liquid)的盒内,跟在一个浮动的元素后的内容会莫名其妙消失(只有IE6会发生)。
解决方法:给该盒定义height: 1%;(但要注意对IE 5.x/Mac隐藏)。代码如下:
/*\*/ * html div {
height: 1%;
}/**/
著名的Holly Hack(救世hack?神圣hack?)。它通过给一个块设置一个十分小的高度值(1%几乎成了通用准则)来工作。但IE 5+Win能够依据内容来扩展这个盒子到足够的高度,就是说,把height当作min-height来用。在大部分情况下,Holly Hack能够使IE5+/Win按照实质的行为来表现。
3.Double Margin Bug
描述:当对一个元素设置浮动后,并同时设置了边距,那么就会出现该Bug。导致浮动对象的相同方向上的边距是设置值得两倍。
解决方法:对该元素使用display:inline; ;
4.min-height attribute ignored in IE
描述:对IE设置min-height,IE会直接忽略。在IE7中则是固定的(fixed)。
解决方法:使用如下CSS Hack:
* html #content {
min-height: 200px;
}
/* Internet Explorer *
/*\*/
* html #content {
height: 200px;
}
/**/
5.Disappearing List Background Bug
描述:当列表项设置了背景颜色或者是北京图像时候,而此时列表项被一个浮动元素包含,且该浮动元素使用了相对定位时,那么制定的背景颜色或者图像可能不会呈现。
解决方法:为列表项使用相对定位,如ul, ol, dl { position: relative; }。
6.Three-pixel text jog
描述:当line boxes包含了邻近的浮动元素line text或者图像等其他元素时,在line-box和浮动的边缘会出现3像素的间隔。
解决方法:为该元素使用Holly Hack(即以上2中的代码)或者使用zoom属性:
<!--[if IE]>
<style type="text/css">
.mybuggyelement { zoom: 1;}
</style>
<![endif]-->
1. 3px Bug
描述:IE下两个div之间会出现3个像素的Bug,这个bug是在当对一个div用了float元素时,而div未使用时则会出现。
解决方法:a.对另一个元素同时使用float; b.为已经浮动的div添加一条语句:margin-right:-3px; 或者margin-left:-3px; ;
例子:
<html>
<head><title>IE 3px Bug</title></title>
<style type="text/css">
<!--
body {
color:#fff;
}
.main {
background: #CCC;
border: solid 1px #000;
}
.left {
width:100px;
height:100px;
background:#444;
float:left;
}
.right{
width:100px;
height:100px;
background:#000;
}
-->
</style>
</head>
<body>
<div class=main>
<div class=left>
left
</div>
<div class=right>
right
</div>
</div>
</body>
</html>
以上是存在3px bug的代码,我们可以在.right中加入一条语句:float:left; 或者是在.left中加入margin-right:-3px;解决这个Bug。
2.Peek-a-boo Bug
描述:在一个液态的(liquid)的盒内,跟在一个浮动的元素后的内容会莫名其妙消失(只有IE6会发生)。
解决方法:给该盒定义height: 1%;(但要注意对IE 5.x/Mac隐藏)。代码如下:
/*\*/ * html div {
height: 1%;
}/**/
著名的Holly Hack(救世hack?神圣hack?)。它通过给一个块设置一个十分小的高度值(1%几乎成了通用准则)来工作。但IE 5+Win能够依据内容来扩展这个盒子到足够的高度,就是说,把height当作min-height来用。在大部分情况下,Holly Hack能够使IE5+/Win按照实质的行为来表现。
3.Double Margin Bug
描述:当对一个元素设置浮动后,并同时设置了边距,那么就会出现该Bug。导致浮动对象的相同方向上的边距是设置值得两倍。
解决方法:对该元素使用display:inline; ;
4.min-height attribute ignored in IE
描述:对IE设置min-height,IE会直接忽略。在IE7中则是固定的(fixed)。
解决方法:使用如下CSS Hack:
* html #content {
min-height: 200px;
}
/* Internet Explorer *
/*\*/
* html #content {
height: 200px;
}
/**/
5.Disappearing List Background Bug
描述:当列表项设置了背景颜色或者是北京图像时候,而此时列表项被一个浮动元素包含,且该浮动元素使用了相对定位时,那么制定的背景颜色或者图像可能不会呈现。
解决方法:为列表项使用相对定位,如ul, ol, dl { position: relative; }。
6.Three-pixel text jog
描述:当line boxes包含了邻近的浮动元素line text或者图像等其他元素时,在line-box和浮动的边缘会出现3像素的间隔。
解决方法:为该元素使用Holly Hack(即以上2中的代码)或者使用zoom属性:
<!--[if IE]>
<style type="text/css">
.mybuggyelement { zoom: 1;}
</style>
<![endif]-->
#2
7、IE6下 margin 设置的间距变双倍(两倍)距离
触发条件:
1、父元素包含子元素
2、子元素设置了浮动(float)
3、子元素设置了外边距(margin)
4、浮动方向和边距方向一致
解决方法:
给子元素设置内联现实(display:inline)
8、IE6的双倍边距BUG(空白边的BUG)
浮动后本来外边距10px,但IE解释为20px,解决办法是加上display:inline
触发条件:
1、父元素包含子元素
2、子元素设置了浮动(float)
3、子元素设置了外边距(margin)
4、浮动方向和边距方向一致
解决方法:
给子元素设置内联现实(display:inline)
8、IE6的双倍边距BUG(空白边的BUG)
浮动后本来外边距10px,但IE解释为20px,解决办法是加上display:inline
#3
不是不兼容,而是解释的时候有偏差
比如IE6在margin:10px有可能会解释为20px
另外PNG透明效果在IE6下不支持,不过好像可以用JS控制
如果你只希望在IE中正常,可以先在IE7下浏览,再慢慢调整IE6
比如IE6在margin:10px有可能会解释为20px
另外PNG透明效果在IE6下不支持,不过好像可以用JS控制
如果你只希望在IE中正常,可以先在IE7下浏览,再慢慢调整IE6
#4
建议楼主使用IETester测试自己的页面 如果要细分的话 那就海了去了 已知的就N多 还有未知的呢 呵呵 最好发布之前测试一下 现在又出了IE8 可以写CSS Hack 网页兼容 设计师永远的痛~~
#1
一些css在IE6 IE7下bug的解决汇总!
1. 3px Bug
描述:IE下两个div之间会出现3个像素的Bug,这个bug是在当对一个div用了float元素时,而div未使用时则会出现。
解决方法:a.对另一个元素同时使用float; b.为已经浮动的div添加一条语句:margin-right:-3px; 或者margin-left:-3px; ;
例子:
<html>
<head><title>IE 3px Bug</title></title>
<style type="text/css">
<!--
body {
color:#fff;
}
.main {
background: #CCC;
border: solid 1px #000;
}
.left {
width:100px;
height:100px;
background:#444;
float:left;
}
.right{
width:100px;
height:100px;
background:#000;
}
-->
</style>
</head>
<body>
<div class=main>
<div class=left>
left
</div>
<div class=right>
right
</div>
</div>
</body>
</html>
以上是存在3px bug的代码,我们可以在.right中加入一条语句:float:left; 或者是在.left中加入margin-right:-3px;解决这个Bug。
2.Peek-a-boo Bug
描述:在一个液态的(liquid)的盒内,跟在一个浮动的元素后的内容会莫名其妙消失(只有IE6会发生)。
解决方法:给该盒定义height: 1%;(但要注意对IE 5.x/Mac隐藏)。代码如下:
/*\*/ * html div {
height: 1%;
}/**/
著名的Holly Hack(救世hack?神圣hack?)。它通过给一个块设置一个十分小的高度值(1%几乎成了通用准则)来工作。但IE 5+Win能够依据内容来扩展这个盒子到足够的高度,就是说,把height当作min-height来用。在大部分情况下,Holly Hack能够使IE5+/Win按照实质的行为来表现。
3.Double Margin Bug
描述:当对一个元素设置浮动后,并同时设置了边距,那么就会出现该Bug。导致浮动对象的相同方向上的边距是设置值得两倍。
解决方法:对该元素使用display:inline; ;
4.min-height attribute ignored in IE
描述:对IE设置min-height,IE会直接忽略。在IE7中则是固定的(fixed)。
解决方法:使用如下CSS Hack:
* html #content {
min-height: 200px;
}
/* Internet Explorer *
/*\*/
* html #content {
height: 200px;
}
/**/
5.Disappearing List Background Bug
描述:当列表项设置了背景颜色或者是北京图像时候,而此时列表项被一个浮动元素包含,且该浮动元素使用了相对定位时,那么制定的背景颜色或者图像可能不会呈现。
解决方法:为列表项使用相对定位,如ul, ol, dl { position: relative; }。
6.Three-pixel text jog
描述:当line boxes包含了邻近的浮动元素line text或者图像等其他元素时,在line-box和浮动的边缘会出现3像素的间隔。
解决方法:为该元素使用Holly Hack(即以上2中的代码)或者使用zoom属性:
<!--[if IE]>
<style type="text/css">
.mybuggyelement { zoom: 1;}
</style>
<![endif]-->
1. 3px Bug
描述:IE下两个div之间会出现3个像素的Bug,这个bug是在当对一个div用了float元素时,而div未使用时则会出现。
解决方法:a.对另一个元素同时使用float; b.为已经浮动的div添加一条语句:margin-right:-3px; 或者margin-left:-3px; ;
例子:
<html>
<head><title>IE 3px Bug</title></title>
<style type="text/css">
<!--
body {
color:#fff;
}
.main {
background: #CCC;
border: solid 1px #000;
}
.left {
width:100px;
height:100px;
background:#444;
float:left;
}
.right{
width:100px;
height:100px;
background:#000;
}
-->
</style>
</head>
<body>
<div class=main>
<div class=left>
left
</div>
<div class=right>
right
</div>
</div>
</body>
</html>
以上是存在3px bug的代码,我们可以在.right中加入一条语句:float:left; 或者是在.left中加入margin-right:-3px;解决这个Bug。
2.Peek-a-boo Bug
描述:在一个液态的(liquid)的盒内,跟在一个浮动的元素后的内容会莫名其妙消失(只有IE6会发生)。
解决方法:给该盒定义height: 1%;(但要注意对IE 5.x/Mac隐藏)。代码如下:
/*\*/ * html div {
height: 1%;
}/**/
著名的Holly Hack(救世hack?神圣hack?)。它通过给一个块设置一个十分小的高度值(1%几乎成了通用准则)来工作。但IE 5+Win能够依据内容来扩展这个盒子到足够的高度,就是说,把height当作min-height来用。在大部分情况下,Holly Hack能够使IE5+/Win按照实质的行为来表现。
3.Double Margin Bug
描述:当对一个元素设置浮动后,并同时设置了边距,那么就会出现该Bug。导致浮动对象的相同方向上的边距是设置值得两倍。
解决方法:对该元素使用display:inline; ;
4.min-height attribute ignored in IE
描述:对IE设置min-height,IE会直接忽略。在IE7中则是固定的(fixed)。
解决方法:使用如下CSS Hack:
* html #content {
min-height: 200px;
}
/* Internet Explorer *
/*\*/
* html #content {
height: 200px;
}
/**/
5.Disappearing List Background Bug
描述:当列表项设置了背景颜色或者是北京图像时候,而此时列表项被一个浮动元素包含,且该浮动元素使用了相对定位时,那么制定的背景颜色或者图像可能不会呈现。
解决方法:为列表项使用相对定位,如ul, ol, dl { position: relative; }。
6.Three-pixel text jog
描述:当line boxes包含了邻近的浮动元素line text或者图像等其他元素时,在line-box和浮动的边缘会出现3像素的间隔。
解决方法:为该元素使用Holly Hack(即以上2中的代码)或者使用zoom属性:
<!--[if IE]>
<style type="text/css">
.mybuggyelement { zoom: 1;}
</style>
<![endif]-->
#2
7、IE6下 margin 设置的间距变双倍(两倍)距离
触发条件:
1、父元素包含子元素
2、子元素设置了浮动(float)
3、子元素设置了外边距(margin)
4、浮动方向和边距方向一致
解决方法:
给子元素设置内联现实(display:inline)
8、IE6的双倍边距BUG(空白边的BUG)
浮动后本来外边距10px,但IE解释为20px,解决办法是加上display:inline
触发条件:
1、父元素包含子元素
2、子元素设置了浮动(float)
3、子元素设置了外边距(margin)
4、浮动方向和边距方向一致
解决方法:
给子元素设置内联现实(display:inline)
8、IE6的双倍边距BUG(空白边的BUG)
浮动后本来外边距10px,但IE解释为20px,解决办法是加上display:inline
#3
不是不兼容,而是解释的时候有偏差
比如IE6在margin:10px有可能会解释为20px
另外PNG透明效果在IE6下不支持,不过好像可以用JS控制
如果你只希望在IE中正常,可以先在IE7下浏览,再慢慢调整IE6
比如IE6在margin:10px有可能会解释为20px
另外PNG透明效果在IE6下不支持,不过好像可以用JS控制
如果你只希望在IE中正常,可以先在IE7下浏览,再慢慢调整IE6
#4
建议楼主使用IETester测试自己的页面 如果要细分的话 那就海了去了 已知的就N多 还有未知的呢 呵呵 最好发布之前测试一下 现在又出了IE8 可以写CSS Hack 网页兼容 设计师永远的痛~~