网上有很多关于ie hack的文章,可能由于文章发布后ie的版本还在升级。所以导致有些hack写法已经不适用了。以下是本人整理的ie6-11的一些hack常用写法。(以下默认文档模式为标准模式)

1.通过条件判断ie版本来引用不同的css

<!--[if IE]>只试用ie浏览器<![endif]-->
<!--[if !IE]>只试用非ie浏览器<![endif]-->
<!--[if IE 6]>只试用ie6浏览器<![endif]-->
<!--[if gt IE 6]>只试用大于ie6浏览器<![endif]-->
<!--[if lt IE 9]>只试用小于ie9浏览器 <![endif]--> 
<!--[if gte IE 8]>只试用大于或等于ie8浏览器<![endif]--> 
<!--[if lte IE 7]>只试用小于或等于ie7浏览器<![endif]-->

以上方式以此类推,可以通过引用不同的外链css或直接使用内嵌样式表 来满足基本要求。

2.直接使用css属性的hack写法。

1)!important  由于ie6不知别!important,其他浏览器都识别,所以可以用于ie6 hack。

div{
max-width:100px;
width:auto !important;
width:100px;
}

2)  下划线 '_'   ie6的有一个专用hack写法。

div{
color:blue;
_color:red;  /*只有在ie6下才会表现为红色*/
}

3) 星号 '*'  ie6,7的公用写法。  

div{
color:blue;
*color:red; /*在ie6,7下都会表现为红色*/
}

ie7没有专用写法,*会同时识别ie6,7,如果只想识别ie7,可以同时配合下划线‘_’使用。  

4) \0   ie8及以上浏览器都会识别\0写法,ie6,7不识别

div{
color:red;
color:#ccc\0;
}

以上写法只有ie8及以上浏览器都会识别,ie6,7不识别,而且会导致ie6,7不识别普通写法(color:red),需要同时使用'*'来适配ie6,7。

5)\9   ie6-10都识别\9,10以上不识别

div{
color:red;
color:blue\9; /*ie 6-10都为blue*/
} 

6)\9\0  ie9,10识别   ie8,11不识别,使用默认    ie6,7不识别,也不使用默认

div{
color:red;
color:blue\9\0;
}

以上写法在ie9,10中会表现会蓝色,在ie8,11下会表现为红色,而在ie6,7下则表现为黑色,需要单独为ie6,7使用 '*' hack。

以上就是总结的ie hack写法,代码和例子均测试过。欢迎大家补充,分享。

最后说一句,如果可以通过其他方式避免ie不同版本表现不一致,尽量不要使用hack写法。

  

css ie hack整理的更多相关文章

  1. css hack整理:区别FF,IE8,IE7,IE6,SF,CH浏览器

    css hack整理:区别FF,IE8,IE7,IE6,SF,CH浏览器 2013年03月24日 ⁄ CSS ⁄ 共 716字 ⁄ 暂无评论         前端开发最要命的事就是处理浏览器的兼容性问 ...

  2. css常用hack

    原文地址:css常用hack 突然想起今天早上在CNZZ看到的统计数据,使用IE6.7的用户比例还真多,看到之后我的心都碎了.微软都放弃了为毛还有这么多人不死心? 所以说,IE下的兼容还是得做的. – ...

  3. 【必备】史上最全的浏览器 CSS & JS Hack 手册(转)

    浏览器渲染页面的方式各不相同,甚至同一浏览器的不同版本(“杰出代表”是 IE)也有差异.因此,浏览器兼容成为前端开发人员的必备技能.如果有一份浏览器 Hack 手册,那查询起来就方便多了.这篇文章就向 ...

  4. css if hack之兼容ie

    1.Css if hack条件语法< !--[if IE]> Only IE <![endif]-->仅所有的WIN系统自带IE可识别< !--[if IE 5.0]&g ...

  5. 最新区分兼容IE6/IE7/IE8/IE9/FF的CSS HACK写法和Css if hack条件语法操作说明

    自从安装了IE8.0正式版本!木头 就对基本的几个 CSS HACK的做一下归纳!希望对网页前端布局DIV+CSS的实施者有所帮助! 本文就主要以:IE6+IE7+IE8+IE9+FF为主要研究对象 ...

  6. CSS小tip整理

    CSS小tip整理 1.利用css在列表靠头和末尾添加箭头: /* 左箭头*/ ol a[rel="prev"]:before { content: "\00AB&quo ...

  7. 针对IE的CSS样式hack

    针对IE的CSS样式hack,如下: 例子:background:#000: 1.只针对IE6的hack方式(_):_background:#000: 2.只针对IE7的hack方式(+):+back ...

  8. 关于css的hack问题

    <!--[if <keywords>? IE <version>?]> HTML代码块 <![endif]--> 取值: <keywords> ...

  9. CSS样式命名整理(非原创)

    非原创,具体出自哪里忘了,如果侵害您的利益,请联系我. CSS样式命名整理 页面结构 容器: container/wrap 整体宽度:wrapper 页头:header 内容:content 页面主体 ...

随机推荐

  1. highCharts 图表统计控件使用方法

    1.首先引用js文件 在引用上面文件时,保证已经引用了jquery.js文件.且位置在上面两个文件之前. 2. <div id="container" style=" ...

  2. canvas新属性

    lineCap默认值是butt,还有aquare,round 使用:context.lineCap="butt" lineJoin miter是默认 还可以是round,bevel ...

  3. [CentOS 0010] CentOS 配置mysql允许远程登录

    Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作: 一.允许root用户在任何地方进行远程登录,并具有所有库 ...

  4. Linux socket编程 DNS查询IP地址

    本来是一次计算机网络的实验,但是还没有完全写好,DNS的响应请求报文的冗余信息太多了,不只有IP地址.所以这次的实验主要就是解析DNS报文.同时也需要正确的填充请求报文.如果代码有什么bug,欢迎指正 ...

  5. Centos6.x 64位 安装JDK

    JDK下载地址: http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html ...

  6. 如何删除windows服务(sc.exe删除和注册表删除两种方法)

    一.什么是Windows服务 Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的各种操作. ...

  7. Qt 窗体布局 good

    布局相关对象及简介 窗体上的所有的控件必须有一个合适的尺寸和位置.Qt提供了一些类负责排列窗体上的控件,主要有:QHBoxLayout,QVBoxLayout,QGridLayout,QStackLa ...

  8. android中几种常见的尺寸

    获取屏幕宽高尺寸的三种代码形式 在Android上,目前我知道的获取屏幕尺寸的方法有三种不同的代码形式 方法1.在Activity中最常见的调用方式 WindowManager windowManag ...

  9. 【HDOJ】1558 Segment set

    并查集+计算几何. /* 1558 */ #include <cstdio> #include <cstring> #include <cstdlib> #defi ...

  10. 前端工程师和web工程师的差异

    摘自园内一篇文章关于web工程师的思考,比较认同其中的一些观点 前端工程师知识结构:               精通: xhtml,css,JavaScript       熟悉:一种后端程序语言( ...