| 订阅 | 在线投稿
分享
 
 
 

CSS浏览器兼容方案-hack与一个完全css做的滑动菜单

来源:互联网网民  宽屏版  评论
2008-08-09 06:57:30

1、仅IE7与IE5.0可以识别

*+html select {…}

当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。

2、仅IE7可以识别

*+html select {…!important;}

当面临需要只针对IE7做样式的时候就可以采用这个HACK。

3、IE6及IE6以下识别

* html select {…}

这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。

4、html/**/ >body select {…}

html/**/ >body select {…}

这句与上一句的作用相同。

5、仅IE6不识别,屏蔽IE6

select { display /*屏蔽IE6*/:none;}

这里主要是通过CSS注释分开一个属性与值,注释在冒号前。

6、仅IE6与IE5不识别,屏蔽IE6与IE5

select/**/ { display /*IE6,IE5不识别*/:none;}

这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5

7、仅IE5不识别,屏蔽IE5

select/*IE5不识别*/ {…}

这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。

8、盒模型解决方法

selct {width:IE5.x宽度; voice-family :”\”}\”"; voice-family:inherit; width:正确宽度;}

盒模型的清除方法不是通过!important来处理的。这点要明确。

9、只有Opera识别

@media all and (min-width: 0px){ select {……} }

针对Opera浏览器做单独的设定。

以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样式。

10、IE5.x的过滤器,只有IE5.x可见

@media tty {

i{content:”\”;/*” “*/}} @import ‘ie5win.css’; /*”;}

}/* */

11、IE5/MAC的过滤器,一般用不着

/*\*//*/

@import “ie5mac.css”;

/**/

12、IE的if条件Hack

<!--[if IE]> Only IE <![endif]--> 所有的IE可识别

<!--[if IE 5.0]> Only IE 5.0 <![endif]--> 只有IE5.0可以识别

<!--[if gt IE 5.0]> Only IE 5.0+ <![endif]--> IE5.0包换IE5.5都可以识别

<!--[if lt IE 6]> Only IE 6- <![endif]--> 仅IE6可识别

<!--[if gte IE 6]> Only IE 6/+ <![endif]--> IE6以及IE6以下的IE5.x都可识别

<!--[if lte IE 7]> Only IE 7/- <![endif]--> 仅IE7可识别

你在写css时样式表加上浏览器标识符就行了,各浏览器区别如下:

IE都能识别*,标准浏览器(如FF)不能识别*;

IE6能识别*,但不能识别 !important;

IE7能识别*,也能识别 !important;

FF不能识别*,但能识别 !important;

例如style=”*width:10px;!important width:20px;”

这样在IE6下宽度为10px,在IE7下宽度时20px

最新的CSS兼容方案,让你的样式完美兼容各大浏览器,这个方案主要是用来解决Safari的,Opear是在测试的时候顺带试了一下,结果发现竟然也行,所以顺便也解决了。

.e {/*FF OP*/

background-color: #FF0000

}

html* .e{/*Sa IE7 OP*/

background-color:#FF00FF

}

*+html .e{

background-color:#000000;/*OP*/

*background-color:#0000FF;/*IE7*/

}

* html .e{/*IE6*/

background-color:#00FFFF

}

经FF2、OP9.21、OP9.10、Sa3.0.3(pc)、IE7、IE6测试通过,如果你在其他的浏览器版本上测试过,需要注意的是:IE7对样式的解释跟DTD是有关,在没有DTD的时候,IE7是能读取IE6的hack的

一个完全css 做的滑动菜单。

Code:aa.html

<!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>

<style>

body{margin:0px;}

#menu{font-size:12px;position:relative;}

#menu ul{ list-style:none;}

#menu ul li{float:left;position:relative;}

#menu a{ display:block;padding:2px 10px;margin:3px;border:1px solid #aaa;background:#cacaca;color:#fff;text-decoration:none;}

#menu a:hover{background:#fafafa;color:#000;border:1px solid #000;}

#menu ul ul{position:absolute;left:3px;top:23px;visibility:hidden;}

#menu ul a:hover ul{visibility:visible;}

#menu ul ul li a{display:block;width:100px;height:15px;margin:0;border:0;border-bottom:1px solid #858585;}

#menu ul ul li{clear:both;text-align:left;font-size:12px;}

#menu ul ul li a:hover{border:0;background:#fafafa;border-bottom:1px solid #fff;}

#menu table {position:absolute; top:0; left:0;}

*{margin:0px;}

</style>

</head>

<body>

<div>

<span id="menu">

<ul>

<li><a href="#">首页

<!--[if IE 7]><!--></a><!--<![endif]-->

<!--[if lte IE 6]><table><tr><td><![endif]-->

<ul>

<li><a href="#">内容</a></li>

<li><a href="#">文本</a></li>

</ul>

<!--[if lte IE 6]></td></tr></table></a><![endif]-->

</li>

<li><a href="#">分类

<!--[if IE 7]><!--></a><!--<![endif]-->

<!--[if lte IE 6]><table><tr><td><![endif]-->

<ul>

<li><a href="#">内容</a></li>

<li><a href="#">文本</a></li>

</ul>

<!--[if lte IE 6]></td></tr></table></a><![endif]-->

</li>

</ul>

</span>

<div>

</body>

</html>

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
1、仅IE7与IE5.0可以识别 *+html select {…} 当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。 2、仅IE7可以识别 *+html select {…!important;} 当面临需要只针对IE7做样式的时候就可以采用这个HACK。 3、IE6及IE6以下识别 * html select {…} 这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。 4、html/**/ >body select {…} html/**/ >body select {…} 这句与上一句的作用相同。 5、仅IE6不识别,屏蔽IE6 select { display /*屏蔽IE6*/:none;} 这里主要是通过CSS注释分开一个属性与值,注释在冒号前。 6、仅IE6与IE5不识别,屏蔽IE6与IE5 select/**/ { display /*IE6,IE5不识别*/:none;} 这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5 7、仅IE5不识别,屏蔽IE5 select/*IE5不识别*/ {…} 这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。 8、盒模型解决方法 selct {width:IE5.x宽度; voice-family :”\”}\”"; voice-family:inherit; width:正确宽度;} 盒模型的清除方法不是通过!important来处理的。这点要明确。 9、只有Opera识别 @media all and (min-width: 0px){ select {……} } 针对Opera浏览器做单独的设定。 以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样式。 10、IE5.x的过滤器,只有IE5.x可见 @media tty { i{content:”\”;/*” “*/}} @import ‘ie5win.css’; /*”;} }/* */ 11、IE5/MAC的过滤器,一般用不着 /*\*//*/ @import “ie5mac.css”; /**/ 12、IE的if条件Hack <!--[if IE]> Only IE <![endif]--> 所有的IE可识别 <!--[if IE 5.0]> Only IE 5.0 <![endif]--> 只有IE5.0可以识别 <!--[if gt IE 5.0]> Only IE 5.0+ <![endif]--> IE5.0包换IE5.5都可以识别 <!--[if lt IE 6]> Only IE 6- <![endif]--> 仅IE6可识别 <!--[if gte IE 6]> Only IE 6/+ <![endif]--> IE6以及IE6以下的IE5.x都可识别 <!--[if lte IE 7]> Only IE 7/- <![endif]--> 仅IE7可识别 你在写css时样式表加上浏览器标识符就行了,各浏览器区别如下: IE都能识别*,标准浏览器(如FF)不能识别*; IE6能识别*,但不能识别 !important; IE7能识别*,也能识别 !important; FF不能识别*,但能识别 !important; 例如style=”*width:10px;!important width:20px;” 这样在IE6下宽度为10px,在IE7下宽度时20px 最新的CSS兼容方案,让你的样式完美兼容各大浏览器,这个方案主要是用来解决Safari的,Opear是在测试的时候顺带试了一下,结果发现竟然也行,所以顺便也解决了。 .e {/*FF OP*/ background-color: #FF0000 } html* .e{/*Sa IE7 OP*/ background-color:#FF00FF } *+html .e{ background-color:#000000;/*OP*/ *background-color:#0000FF;/*IE7*/ } * html .e{/*IE6*/ background-color:#00FFFF } 经FF2、OP9.21、OP9.10、Sa3.0.3(pc)、IE7、IE6测试通过,如果你在其他的浏览器版本上测试过,需要注意的是:IE7对样式的解释跟DTD是有关,在没有DTD的时候,IE7是能读取IE6的hack的 一个完全css 做的滑动菜单。 Code:aa.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]"> <html xmlns="[url=http://www.w3.org/1999/xhtml]http://www.w3.org/1999/xhtml[/url]"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <style> body{margin:0px;} #menu{font-size:12px;position:relative;} #menu ul{ list-style:none;} #menu ul li{float:left;position:relative;} #menu a{ display:block;padding:2px 10px;margin:3px;border:1px solid #aaa;background:#cacaca;color:#fff;text-decoration:none;} #menu a:hover{background:#fafafa;color:#000;border:1px solid #000;} #menu ul ul{position:absolute;left:3px;top:23px;visibility:hidden;} #menu ul a:hover ul{visibility:visible;} #menu ul ul li a{display:block;width:100px;height:15px;margin:0;border:0;border-bottom:1px solid #858585;} #menu ul ul li{clear:both;text-align:left;font-size:12px;} #menu ul ul li a:hover{border:0;background:#fafafa;border-bottom:1px solid #fff;} #menu table {position:absolute; top:0; left:0;} *{margin:0px;} </style> </head> <body> <div> <span id="menu"> <ul> <li><a href="#">首页 <!--[if IE 7]><!--></a><!--<![endif]--> <!--[if lte IE 6]><table><tr><td><![endif]--> <ul> <li><a href="#">内容</a></li> <li><a href="#">文本</a></li> </ul> <!--[if lte IE 6]></td></tr></table></a><![endif]--> </li> <li><a href="#">分类 <!--[if IE 7]><!--></a><!--<![endif]--> <!--[if lte IE 6]><table><tr><td><![endif]--> <ul> <li><a href="#">内容</a></li> <li><a href="#">文本</a></li> </ul> <!--[if lte IE 6]></td></tr></table></a><![endif]--> </li> </ul> </span> <div> </body> </html>
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有