前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS hack总结

CSS hack总结

作者头像
前端GoGoGo
发布2018-08-27 10:40:23
6250
发布2018-08-27 10:40:23
举报

有时,我们为了让一些外观在不同浏览器中做保持一致。就不得不用css hack。下面是常用的css hack

添加标识浏览器的类名

做法是,用js来识别浏览器,然后在文档根节点添加类名。css类似这样写

代码语言:javascript
复制
.ie .sth{} /* 对IE做些处理 */
.firefox .sth{} /* 对火狐做些处理 */
.weblit .sth{} /* 对webkit做些处理 */

实现见https://github.com/rafaelp/css_browser_selector

条件注释

条件注释的内容只会在符合条件的浏览器中显示。条件注释只在IE5到IE9(包含)中工作。所以,如果要专门为ie加样式或脚本,可以用条件注释。

常见的条件注释如下

代码语言:javascript
复制
<!--[ifIE6]>
IE6版本有效
<![endif]-->
<!--[if gt IE6]>
IE6以上版本有效
<![endif]-->
<!--[if gte IE6]>
IE6(包含)及以上版本有效
<![endif]-->
<!--[if lt IE8]>
IE8以下版本有效
<![endif]-->
<!--[if lte IE8]>
IE8(包含)及以下版本有效
<![endif]-->
<!--[if !IE]>-->
除了IE
<![endif]-->

选择器hack

针对某个选择器做hack。

代码语言:javascript
复制
/*IE6-*/
*html#idname{color:red;}

/*IE7*/
*:first-child+html#dos{color:red}

/*IE7,FF,Saf,Opera*/
html>body#tres{color:red}

/*IE8,FF,Saf,Opera*/
html>/**/body#cuatro{color:red}

/*除了IE6-8*/
:root*>#quince{color:red}

/*IE10+*/
@mediascreenand(-ms-high-contrast:active),(-ms-high-contrast:none){
#veintiun{color:red;}
}

属性hack

针对某个选择器做hack。

代码语言:javascript
复制
_color:red;/*IE6支持*/
*color:red;/*IE6、IE7支持*/
+color:red;/*IE7支持*/
*+color:red;/*IE7支持*/
color:red\9;/*IE6、IE7、IE8、IE9支持*/
color:red\0;/*IE8、IE9支持*/
color:red\9\0;/*IE9支持*/
@mediascreenand(min-width:0\0){/*IE9,IE10支持*/
#veintidos{color:red}
}

参考

https://github.com/logeshpaul/CSS-Hacks

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014.07.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加标识浏览器的类名
  • 条件注释
  • 选择器hack
  • 属性hack
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档