`
rexcn
  • 浏览: 87376 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

CSS hack

    博客分类:
  • css
阅读更多
IE:

<!--[if lte IE 7]>
<div>IE7及以下能看到</div>
<![endif]-->

lt就是小于;
gt就是大于;
lte就是小于等于;
gte就是大于等于;

所以前面这句”if lte IE 7″就是小于等于IE7咯,也就只有IE7及以下的IE6才能看到。

如果你要写让IE6以上的才能识别的,就可以用gt:

<!--[if gt IE 6]>
<div>IE6以上的都能看到,就IE6自己看不到</div>
<![endif]-->
如果你要写只让某一代IE能识别的代码,可以这样:

<!--[if IE 7]>
<div>只有IE7才能看到</div>
<![endif]-->
就是去掉lt,gt之类的,明确编号.这招对最新的IE8都是管用的哟!也许IE9都还会保留.所以啦,IE会越来越臃肿.

如果你想让所有IE都能识别,那就这样咯:

<!--[if IE]>
<div>只要是IE就能看到!</div>
<![endif]-->
简单的说,就是连编号也去掉!

-----------------

IE的css hack

.test{
color:#000000;
[;color:#000000;]
color:#0000FF\0;
*color:#FFFF00;
_color:#FF0000;
color:#0000FF\9;
* html #demo {width:120px;}
*+html #demo {width:130px;}

-----------------

IE6支持重定义中的!important,例如:
.yuanxin {color:#e00!important;}
.yuanxin {color:#000;}
你将会发现定义了样式class="yuanxin"时,在IE下,字体显示为红色(#e00)。
但不支持同一定义中的!important。例如:
.yuanxin {color:#e00!important;color:#000}
此时在IE6下不支持,你将会发现定义了样式class="yuanxin"时,字体显示为黑色(#000)。

********************************************************************************************

选择器:

IE6及其更低版本
* html {}
IE7及其更低版本
*:first-child+html {} * html {}
仅针对IE7
*:first-child+html {}
IE7和当代浏览器
html>body{}
仅当代浏览器(IE7不适用)
html>body{}
Opera9及其更低版本
html:first-child {}
Safari
html[xmlns*=""] body:last-child {}

要使用这些选择器,请将它们放在样式之前. 例如:
#content-box { width: 300px; height: 150px; } 
* html #content-box { width: 250px; } 

当你想在一个浏览器里改变样式而不像在其他浏览器中改变时,这些选择器很有用。

IE6以下
*html{}

IE 7 以下
*:first-child+html {} * html {}

只对IE 7
*:first-child+html {}

只对IE 7 和现代浏览器

html>body {}

只对现代浏览器(非IE 7)

html>body {}

最新的Opera 9以下版本
html:first-child {}

Safari
html[xmlns*=”"] body:last-child {}


要使用这些选择器,请在样式前写下这些代码。例如:

#content-box { width: 300px; height: 150px; }
* html #content-box { width: 250px; }




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics