请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 16153|回复: 34

[教程] CSS Hack汇总快查 [复制链接]

小毅 楼主

悟禅布衣

荣誉管理

帖子
1137
体力
10276
威望
218
居住地
广东省 广州市
发表于 2007-4-23 04:26:52 |显示全部楼层
屏蔽IE浏览器(也就是IE下不显示)
  1. *:lang(zh) select {font:12px  !important;} /*FF 可见,特别声明:由于Opera最新的更新,此句目前已经成为FF的专用HACK*/
  2. select:empty {font:12px  !important;} /*safari可见*/
  3. 这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。
复制代码


仅IE7识别
  1. *+html  {…}
  2. 当面临需要只针对IE7做样式的时候就可以采用这个HACK。
复制代码


IE6及IE6以下识别
  1. * html  {…}
  2. 这个地方要特别注意很多地主都写了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。
  3. html/**/ >body  select {……}
  4. 这句与上一句的作用相同。
复制代码


仅IE6不识别
  1. select { display /*IE6不识别*/:none;}
  2. 这里主要是通过CSS注释分开一个属性与值,流释在冒号前。
复制代码


仅IE6与IE5不识别
  1. select/**/ { display /*IE6,IE5不识别*/:none;}
  2. 这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。
复制代码


仅IE5不识别
  1. select/*IE5不识别*/ { display:none;}
  2. 这一句是在上一句中去掉了属性区的注释。只有IE5不识别
复制代码


盒模型解决方法
  1. selct {width:IE5.x宽度; voice-family :"\"}\""; voice-family:inherit; width:正确宽度;}
  2. 盒模型的清除方法不是通过!important来处理的。这点要明确。
复制代码


清除浮动
  1. select:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}
  2. 在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题 。
复制代码


截字省略号
  1. select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }
  2. 这个是在越出长度后会自行的截掉多出部分的文字,并以省略号结尾,很好的一个技术。只是目前Firefox并不支持。
复制代码


只有Opera识别
  1. @media all and (min-width: 0px){ select {……}  }
  2. 针对Opera浏览器做单独的设定。
复制代码


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

IE5.x的过滤器,只有IE5.x可见
  1. @media tty {
  2. i{content:"\";/*" "*/}} @import 'ie5win.css'; /*";}
  3. }/* */
复制代码


IE5/MAC的过滤器,一般用不着
  1. /*\*//*/
  2.     @import "ie5mac.css";
  3. /**/
复制代码


IE的if条件Hack
  1. <!--[if IE]> Only IE <![endif]-->
  2. 所有的IE可识别
  3. <!--[if IE 5.0]> Only IE 5.0 <![endif]-->
  4. 只有IE5.0可以识别
  5. <!--[if gt IE 5.0]> Only IE 5.0+ <![endif]-->
  6. IE5.0包换IE5.5都可以识别
  7. <!--[if lt IE 6]> Only IE 6- <![endif]-->
  8. 仅IE6可识别
  9. <!--[if gte IE 6]> Only IE 6/+ <![endif]-->
  10. IE6以及IE6以下的IE5.x都可识别
  11. <!--[if lte IE 7]> Only IE 7/- <![endif]-->
  12. 仅IE7可识别
复制代码


以上内容可能并不全面,欢迎大家能和我一起把这些技巧都汇总起来,为以后工作的查询提供一个方便,同时在这里感谢那些研究出这些HACK的作者们。

原文出处:毅博客

[ 本帖最后由 小毅 于 2007-5-28 13:59 编辑 ]
已有 1 人评分威望 收起 理由
jxdawei + 2 谢谢分享!

总评分: 威望 + 2   查看全部评分

西部数码顶级域名注册商39元抢注!

随枫飘月

银牌会员

帖子
753
体力
1698
威望
4
居住地
山东省 济南市
发表于 2007-4-23 08:45:21 |显示全部楼层
加上
*height:25px; /*For IE7 & IE6*/
_height:20px; /*For IE6*/

csshack是个好东西,可偶还是不喜欢他,好变态的东西。
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

blank 

怿飞

荣誉管理

帖子
2375
体力
12545
威望
125
居住地
浙江省 杭州市
发表于 2007-4-23 08:51:22 |显示全部楼层
其实俺还是喜欢大家去看CSS HACK表,这样更容易全面理解

http://www.planabc.net/demo/csshacks.html

比如:
*+html  {…}

IE5也识别的
个人Blog:PlanABC   团队Blog:淘宝UED  专注Web前端技术!

使用道具 举报

八轮驱动

金牌会员

帖子
546
体力
4602
威望
0
居住地
广东省 深圳市
发表于 2007-5-27 00:04:07 |显示全部楼层
有点不理解~~~

使用道具 举报

三个射手

中级会员

帖子
219
体力
388
威望
0
居住地
广东省 深圳市
发表于 2007-5-27 00:28:52 |显示全部楼层
辛苦了,其实以前W3C.CN就已经有一个hack表,


...就是3楼那个
还是太浮躁了!
Genius is formed in quiet -- Goethe

使用道具 举报

帖子
100
体力
467
威望
0
居住地
广东省 深圳市
发表于 2007-5-27 08:56:19 |显示全部楼层
其实有时候并不须要这么多的CSS HACK。
我觉得只要记住能区分开各浏览器之间的方法就行了。
不过还是得感谢楼主哦。

使用道具 举报

hero4u 

孤竹林

金牌会员 手机认证 

帖子
1305
体力
3444
威望
14
居住地
湖南省 长沙市
发表于 2007-5-27 11:10:47 |显示全部楼层
css hack hack多了,反而糊涂了,呵呵。
体验游戏 game4power

使用道具 举报

翻桌

高级会员

帖子
749
体力
1292
威望
2
发表于 2007-5-27 11:33:45 |显示全部楼层
加个[xmlns] #as{}
IE不识别
网页伊甸园群号:70422468 长期网页设计培训(收费)

使用道具 举报

myolie 
帖子
164
体力
377
威望
0
发表于 2007-5-27 12:29:10 |显示全部楼层
2#那个挺有用,还有!important
其他的了解一下就可以了,实在没多大用处,没见过一个大网站用一大堆HACK的。

使用道具 举报

柯零艾薇

荣誉管理 手机认证 

帖子
2070
体力
21223
威望
38
居住地
广东省 深圳市
发表于 2007-5-27 18:49:43 |显示全部楼层
刚用了
*  *+ 都过不了验证
宽己之心宽人,责人之心责己-----天地宽矣!

使用道具 举报

mycggo 
帖子
1966
体力
4724
威望
0
发表于 2007-5-28 10:18:42 |显示全部楼层
为什么浏览器厂商要让我们这么辛苦的兼容这么多浏览器?IE7对许多CSS2的不兼容,不知道是不是MS有意这样做的。
坚韧不拔的毅力 & 良好的心态

使用道具 举报

Arsan 
帖子
155
体力
474
威望
0
发表于 2007-5-28 10:55:11 |显示全部楼层
支持标准

使用道具 举报

苦寒竹

管理员

帖子
19772
体力
17930
威望
23
居住地
浙江省 金华市
发表于 2007-5-28 14:01:33 |显示全部楼层
[xmlns] 我也比较喜欢是IE7以下不认识,IE7还是认识的.
搞IT的穷秀才。

使用道具 举报

渡江舟

高级会员

帖子
238
体力
704
威望
0
发表于 2007-5-28 23:05:54 |显示全部楼层
楼主真好,你咋知道俺喜欢吃现成的昵?
收录以备查阅行不?

人上感觉这些东西还是少用的好,所以一直也没好好学习这些HACK。
不过,有时候不用还真不行,也该好好学习一下了
渡江舟,起航...

使用道具 举报

渡江舟

高级会员

帖子
238
体力
704
威望
0
发表于 2007-5-28 23:09:59 |显示全部楼层
原帖由 Arsan 于 2007-5-28 10:55 发表
支持标准

您滴MY blog链接少了一点,是故意滴么?
渡江舟,起航...

使用道具 举报

pazz 
帖子
43
体力
180
威望
0
居住地
浙江省 杭州市
发表于 2007-6-8 11:56:09 |显示全部楼层

屏蔽ie的问题

代码:
div {width:200px;height:200px;border:1px solid #333;}
*:lang(zh) #aa {background-color:#f60!important;}

<div id="aa"></div>

测试环境:
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4


在我环境下测试div不显示背景?大家来看看!

使用道具 举报

玉小叶

高级会员 手机认证 

帖子
397
体力
756
威望
10
发表于 2007-6-8 12:26:08 |显示全部楼层
慢慢看。

使用道具 举报

草根

银牌会员

帖子
4622
体力
2430
威望
6
居住地
辽宁省 沈阳市
发表于 2007-6-8 13:03:45 |显示全部楼层
+color:yellow!important;  color:#000;  _color:red;

这个就行了.
2

使用道具 举报

ahwing 

ahwing

银牌会员

帖子
588
体力
1993
威望
2
居住地
广东省 深圳市
发表于 2007-6-14 15:29:35 |显示全部楼层
原帖由 pazz 于 2007-6-8 11:56 发表
代码:
div {width:200px;height:200px;border:1px solid #333;}
*:lang(zh) #aa {background-color:#f60!important;}



测试环境:
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.4) Gec ...



同样。感觉这个方法貌似有点问题。。

使用道具 举报

帖子
217
体力
326
威望
0
居住地
北京市 朝阳区
发表于 2007-9-23 12:46:07 |显示全部楼层
:) :) :)

使用道具 举报

johang

高级会员

帖子
83
体力
738
威望
0
居住地
福建省 福州市
发表于 2007-11-20 12:08:26 |显示全部楼层
原帖由 mycggo 于 2007-5-28 10:18 发表
为什么浏览器厂商要让我们这么辛苦的兼容这么多浏览器?IE7对许多CSS2的不兼容,不知道是不是MS有意这样做的。

什么是时候ie 浏览器能都 遵循统一标准啊....兼容浏览器刚开始写css hack 头大了,,,呵....
One World

使用道具 举报

帖子
41
体力
31
威望
0
发表于 2007-11-20 12:37:30 |显示全部楼层
很好,感谢LZ汇总

使用道具 举报

蓝蓝的天空

版主 手机认证 

帖子
3441
体力
2316
威望
1
居住地
湖南省 长沙市
发表于 2007-12-3 14:23:22 |显示全部楼层
能统一起来就好了,现在IE7出来后我们要兼顾三个浏览器了,真的是痛苦啊,IE6和7同时安装又是个问题,唉。

使用道具 举报

oivp 

痴儿

银牌会员 手机认证 

帖子
1451
体力
1894
威望
0
发表于 2007-12-3 15:04:35 |显示全部楼层
不到万不得已 不会用这个的

还是多考虑下使用好的结构XHTML 配以好的CSS文档吧
无比巨大的理论威力、思想锋芒和战斗精神!

使用道具 举报

帖子
75
体力
160
威望
0
居住地
广东省 深圳市
发表于 2007-12-4 10:24:24 |显示全部楼层
浏览器啊!
好好研究他们的兼容性了!

使用道具 举报

凉爽 

walking man

钻石会员

帖子
7633
体力
7669
威望
31
发表于 2008-2-20 10:14:47 |显示全部楼层
我基本只用过!important
暂时没有遇到过什么问题.

使用道具 举报

帖子
18
体力
25
威望
0
发表于 2008-2-20 11:39:16 |显示全部楼层
用hack ,css校验通不过

使用道具 举报

mail25 
帖子
68
体力
89
威望
0
发表于 2008-2-20 11:54:41 |显示全部楼层
多谢。不错。

使用道具 举报

帖子
217
体力
606
威望
0
发表于 2008-4-19 01:15:32 |显示全部楼层
to LZ
<!--[if ie]>
仅IE可见
<![endif]-->
<!--[if ie 7]>
仅IE7可见
<![endif]-->
<!--[if lt(gt) ie 7]>
IE 7 以下(以上)可见
<![endif]-->
<!--[if lte(gte) ie 7]>
IE 7 且以下(以上) 可见
<![endif]-->


to #16
<body lang="zh">
</body>

使用道具 举报

帖子
193
体力
778
威望
0
发表于 2008-4-19 11:36:49 |显示全部楼层
html/**/ >body  select {……}
这个hack是针对非IE6用的

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 09:59 , Processed in 0.171959 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部