所谓 CSS Hack,是指在 CSS 代码中嵌入诸如 *,*html  等代码,方便于独立控制某种浏览器的具体样式。比如有些 CSS Hack 只能被 IE6 或 IE7 识别,而 Firefox 等浏览器则不能识别。这样一来可以有效控制 CSS 在不同浏览器的表现,避免撰写多个 CSS 文件。

芒果在这里大致整理了常用 CSS Hack 的写法,帮助你更好地控制页面呈现:

1. * 符号

IE 浏览器能识别 * 符号,但其他浏览器诸如 Firefox、Opera、Chrome 等不能识别 * 符号。

例:在 Firefox 和 IE 中呈现不同的文字颜色:

  1. color:red;*color:blue;
  2. //在 Firefox 等非 IE 核心浏览器中,文字呈现红色;而 IE 中呈现蓝色。

2. !important

IE7 不但能识别 * 符号,还能识别 !important,而 IE6 只能识别前者。

例:在 IE6 和 IE7 中呈现不同的文字颜色:

  1. color:red !important;color:blue;
  2. //在 IE7 浏览器中,文字呈现红色;而 IE6 中呈现蓝色。

综合 1 和 2,利用上述浏览器特性,可在 CSS 中判别 Firefox,IE7,IE6 并加载不同样式。
例:在 Firefox,IE7,IE6 中呈现三种不同文字颜色:

  1. color:blue;*color:red !important;*color:green;
  2. //在 Firefox 中,文字呈现蓝色,在 IE7 浏览器中,呈现红色;而 IE6 中呈现蓝色。

4. *html 和 *+html
IE 核心的浏览器能识别*html 和*+html,而 Firefox 等非 IE 核心浏览器不能识别。

例:在 Firefox,IE7,IE6 中呈现三种不同文字颜色:

  1. #div {color:red;}
  2. *html #div {color:green;}
  3. *+html #div{color:blue;}
  4. //第一句 Firefox 等可以正常识别,所以这些浏览器中文字呈红色;
  5. //第二句 IE6 能识别并执行,用于针对 IE6 独立写的样式,文字绿色;
  6. //第三句只有 IE7 才能正确识别,而 IE6 和其他非 IE 核心浏览器不能,文字呈蓝色。

兼容不同浏览器的 CSS Hack 写法的更多相关文章

  1. CSS- ie6,ie7,ie8 兼容性写法,CSS hack写法

    css ie6,ie7,ie8 兼容性写法,CSS hack写法 margin-bottom:40px;       /*ff的属性*/margin-bottom:140px\9;    /* IE6 ...

  2. android 4.4.3 css hack 写法

    最近发现android在4.4.3上面出现很多怪异的现象,现在虽然没有找到原因和解决方案,但是突然间找到一个css hack写法: button{ display:none; width:$rem*4 ...

  3. IE9下css hack写法

    ie9一出css hack也该更新,以前一直没关注,今天在内部参考群mxclion分享了IE9的css hack,拿出来也分享一下: select { background-color:red\0; ...

  4. IE 6 ~ 9 CSS Hack 写法总结

    IE 6 ~ 9 CSS Hack 写法总结 24th 四, 14 lip2up [code lang="css"]_color: red;    /* ie6 */*color: ...

  5. 兼容主流浏览器的CSS透明代码

    透明往往能产生不错的网页视觉效果下面是兼容主流浏览器的CSS透明代码.transparent_class {  filter:alpha(opacity=50);  -moz-opacity:0.5; ...

  6. (转)兼容主流浏览器的CSS透明代码

    透明往往能产生不错的网页视觉效果下面是兼容主流浏览器的CSS透明代码.transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; - ...

  7. 兼容各浏览器的css背景图片拉伸代码

    需要用到背景图拉伸,找到了下面这段css代码: filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='***.jpg' , s ...

  8. 区分兼容IE6/IE7/IE8/IE9/FF的CSS HACK写法

    HACK原理:不同浏览器对各中字符的识别不同 在 CSS中常用特殊字符识别表: (1)*:  IE6+IE7都能识别*,而标准浏览器FF+IE8是不能识别*的; (2)!important: 除IE6 ...

  9. 浏览器兼容性的css hack 写法

    IE各版本浏览器之间的识别概括如下: IE6:能识别 * .\9 和 _ ,不能识别 !important IE7:能识别 * .\9 和 !important,不能识别 _ IE8:能识别 \9 和 ...

随机推荐

  1. linux学习心得之目录树开端与/etc(图文)

    linux学习心得之目录树开端与/etc(图文) linux中“一切皆文件”,学习linux一年了,在学习过程中对目录树的一点心得,分享给大家,有不对的地方敬请斧正. 不多说了,先上图: 根目录: / ...

  2. 写一个简单的Web框架

    在.Net中有两种常用的Web开发方式,一种是Asp.Net WebForm,另一种是Asp.Net MVC.我先简单的给大家介绍下这两种开发方式的特点,然后再应用自定义脚本映射,反射,json2te ...

  3. Android 开发环境 —— Eclipse 启动时报错:Error when loading the SDK

    简述: Eclipse 启动时报错:Error when loading the SDK 错误信息: Error when loading the SDK: Error: Error parsing  ...

  4. 【Zookeeper】源码分析之持久化--FileTxnLog

    一.前言 前一篇已经分析了序列化,这篇接着分析Zookeeper的持久化过程源码,持久化对于数据的存储至关重要,下面进行详细分析. 二.持久化总体框架 持久化的类主要在包org.apache.zook ...

  5. 办理卡尔加里大学(本科)学历认证『微信171922772』calgary学位证成绩单使馆认证University of calgary

    办理卡尔加里大学(本科)学历认证『微信171922772』calgary学位证成绩单使馆认证University of calgary Q.微信:171922772办理教育部国外学历学位认证海外大学毕 ...

  6. Python wifi掉线重连接

    原理很简单,通过python执行dos命令 : ping 和 netsh 需要用到os和time模块 代码如下: >>> import os >>> print ' ...

  7. Date类型常用概念及方法总结(1)

      Date类型使用UTC(国际协调时间)1970年1月1日零时开始经过的毫秒数来保存时间. (1)创建当前日期           调用Date不传递参数的情况下,创建的新对象自动获得当前日期和时间 ...

  8. POJ 半平面交 模板题 三枚

    给出三个半平面交的裸题. 不会的上百度上谷(gu)歌(gou)一下. 毕竟学长的语文是体育老师教的.(卡格玩笑,别当真.) 这种东西明白就好,代码可以当模板. //poj1474 Video Surv ...

  9. 【NOIP2014】Day1题解+代码

    Day1 T1 签到题,模拟一下随便写就能过. 不过小心像我一样表打错傻逼的调了10min. #include <algorithm> #include <iostream> ...

  10. 走迷宫 (nyoj 306)

    学习自此博客题解 二分搜索+深搜.二分枚举最小差距值(路径上的最大值与最小值的差距),枚举的最小值为abs(a[1][1]-a[n][n]),最大值为题目给出的120.搜索时代入这个最小差距值,若存在 ...