第一种,是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 */
第二种是使用IE专用的条件注释
<!--其他浏览器 -->
<link rel="stylesheet" type="text/css" href="css.css" />
<!--[if IE 7]>
<!-- 适合于IE7 -->
<link rel="stylesheet" type="text/css" href="ie7.css" />
<![endif]-->
<!--[if lte IE 6]>
<!-- 适合于IE6及一下 -->
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->
第三种css filter的办法,以下为经典从国外网站翻译过来的。.
新建一个css样式如下:
#item {
width: 200px
height: 200px
background: red
}
新建一个div,并使用前面定义的css的样式:
<div id="item">some text here</div>
在body表现这里加入lang属性,中文为zh:
<body lang="en">
现在对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各版本以外的浏览器上。
对IE6和FF的兼容可以考虑以前的!important
<ui id="nav"><li><a href="#">home</a></li>
<li><a href="#">home1</a></li>
<li><a href="#">home2</a></li>
<li><a href="#">home3</a></li>
<li><a href="#">home4</a></li>
<li><a href="#">home5</a></li>
</ui>
ui 改成ul。html里面没有 ui 这个标签。写错了当然不行啊。
你可以把你没效果的那段代码贴出来,这样才能告诉你加什么东西,加在哪!假设你是这样的格式
<div class="float">
<div style="float:left"></div>
<div style="float:right"></div>
</div>
未识别的原因可能是你的父级元素的宽没有满足子级两个div ,你可以给子级两个div 各加一个background 查找一下float:right 的位置,位置如果在float:left 的垂直下方,那你就给float:left 的div 定个宽,并加上display:block 使div 成块,这样float:right 就会浮上去了。你可以先试一下。