有话先说:本文的目的主要是向大家描述一下我们在遇见IE8版本一下以及Firefox兼容的问题。

针对不同的浏览器写不同的CSS的过程,这就叫CSS hack,也叫写CSS hack,相信您会对一些比较不易解决的兼容问题有一定的兴趣。

注意点:

网上很多资料中常常把!important也作为 个hack 段,其实这是 个误区。!important常常被我们 来更改样式, 不是兼容hack。造成这 个误区的原因是IE6在某些情况下不主动识别!important,以 于常常被 误 做识别IE6的hack。可是, 家注意 下,IE6只是在某些情况下 不识别(ie6下,同 个 括号 对同 个样式属性定义,其中 个加important 则important标记是被忽略的,例:{background:red!important; background:green;} ie6下解释为背景 green,其它浏览器解释为背景 red;如果这同 个样式在不同 括号 定义,其中 个加important 则important发挥正常作 ,例:div{background:red!important} div{background:green},这时所有浏览器统一解释为背景色为红色)

CSS HACK区别IE6、IE7、IE8、Firefox兼容问题

1.区别IE和非IE浏览器

例:

#tip{ background:blue;/* IE背景藍 */ background:red\9;/*IE6、IE7、IE8背景紅 */ }

2.区别IE6,IE7,IE8,FF

区别符号:「\9」、「*」、「_」

例:#tip{ background:blue;/*Firefox背景变蓝 */ background:red\9;/*IE8背景变红色*/ *background:black;/*IE7背景变黑色*/ _background:orange;/*IE6背景变橘 */ }

说明:因为IE系列浏览器可读「\9」, IE6和IE7可读「*」( 字号),另外IE6可辨识「_」(底线),因此可以依照 顺序写下来,就会让浏览器正确的读取到 看得懂得CSS语法,所以就可以有效区分IE各版本和 IE浏览器(像是Firefox、Opera、GoogleChrome、Safari等)。

3.区别IE6、IE7、Firefox

区别符号:「*」、「_」

例:

#tip{ background:blue;/*Firefox背景变蓝 */ *background:black;/*IE7背景变 */_background:orange;/*IE6背景变橘 */ }

说明:IE7和IE6可读「*」( 字号),IE6 可以读「_」(底线),但是IE7却 法读取「_」, 于Firefox( IE浏览 器)则完全 法辨识「*」和「_」,因此就可以透过这样的差异性来区分IE6、IE7、Firefox

4.区别IE7、Firefox

区别符号:「*」、「!important」

例:

#tip{ background:blue;/*Firefox背景变蓝 */ *background:green!important;/*IE7背景变绿 */ }

说明:因为Firefox可以辨识「!important」但却 法辨识「*」, IE7则可以同时看懂「*」、「!important」, 因此可以两个辨识符号来区隔IE7和Firefox。

5.区别IE6、IE7( 法1)

区别符号:「*」、「_」

例:

#tip{ *background:black;/*IE7背景变 */ _background:orange;/*IE6背景变橘 */ }

说明:IE7和IE6都可以辨识「*」( 字号),但IE6可以辨识「_」(底线),IE7却 法辨识,透过IE7 法读取「_」 的特性就能轻鬆区隔IE6和IE7之间的差异。

6.区别IE6、IE7( 法2)

区别符号:「!important」

例:

#tip{ background:black!important;/*IE7背景变 */ background:orange;/*IE6背景变橘 */ }

说明:因为IE7可读取「!important;」但IE6却不 , CSS的读取步骤是从上到下,因此IE6读取时因 法辨识 「!important」 直接跳到下 读取CSS,所以背景 会呈现橘 。

7.区别IE6、Firefox

区别符号:「_」 【 例】:

#tip{ background:black;/*Firefox背景变 */ _background:orange;/*IE6背景变橘 */ }

说明:因为IE6可以辨识「_」(底线),但是Firefox却不 ,因此可以透过这样的差异来区隔Firefox和IE6,有效达 成CSShack。

总结:

希望这些HACK技术总结能够帮到需要帮助的开发者。也希望大家不会再IE系列的兼容问题上纠结的太多!

HTML兼容问题——HACK技术的更多相关文章

  1. HTML的条件注释和hack技术

    在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...

  2. HTML的条件注释及hack技术

    在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...

  3. Web前端技术研究:Css hack技术---令人沮丧的技术

    我最近想好好整理下csshack技术,但是结果很沮丧,下面我将我最初写的笔记和大家分享下. 我在单位整理的研究笔记: 不同的浏览器对某些CSS代码解析会存在一定的差异,因此就会导致不同浏览器下给用户展 ...

  4. openwrt-智能路由器hack技术(2)---"网路信息监控和窃取"

    openwrt-智能路由器hack技术(2)---"网路信息监控和窃取" 1   导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所 ...

  5. openwrt-智能路由器hack技术(1)---"DNS劫持"

    openwrt-智能路由器hack技术(1)---"DNS劫持" 1   导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整 ...

  6. Hack技术

    Hack技术 1.IE条件注释法,微软官方推荐的hack方式. 只在IE下生效 <!--[if IE]> <link rel="stylesheet" href= ...

  7. 解决各大浏览器兼容问题hack

    解决各大浏览器兼容问题hack,IE6/ IE7/ IE8/ IE9/ Firefox/ Opera/ Webkit/ Chrome/ Safari. 浏览器兼容是网站前端页面制作最基本的问题,通常I ...

  8. CSS Hack技术详解,支持IE 6-11、Chrome、FireFox、Safari、Opera 6-11、Chrome、FireFox、Safari、Opera6-11、Chrome、FireFox、Safari、Opera6-11、Chrome、FireFox、Safari、Opera

    转自: http://www.365mini.com/page/css-hack-ie-chrome-firefox-safari-opera.htm 当前网络时代,各种各样的网页向我们展示着丰富多彩 ...

  9. CSS Hack技术(一)

    这世间坑爹的东西不少,浏览器可以算做一件,尤其的IE浏览器.关于浏览器的吐槽已经有不少了,我也就不在这添油加醋了.不过吐槽终究只是泄一时之愤,解决问题才是关键,今天我们就来讲一讲浏览器(样式)兼容的技 ...

随机推荐

  1. C#性能优化考虑的几个方向

    装箱与拆箱 ArrayList's vs. generic List for primitive types and 64-bits 类型转换   GC 注意SOH对象应该较快,避免内存泄漏 注意LO ...

  2. python3下urlopen解析中文url编码错误

    这是在ipython下测试的结果: In [24]: x Out[24]: 'http://127.0.0.1:8000/xxx/?id=a45ex0bad3c9&game=五子棋' In [ ...

  3. iis

    IIS架构 1.   概述 为了提高IIS的可靠性,安全性以及可用性,与IIS5.0和以前更早的版本不同,IIS6.0提供了一个全新的IIS架构.这个架构的详细情况如下图所示:             ...

  4. BZOJ 2034 【2009国家集训队】 最大收益

    Description 给出\(N\)件单位时间任务,对于第\(i\)件任务,如果要完成该任务,需要占用\([S_i, T_i]\)间的某个时刻,且完成后会有\(V_i\)的收益.求最大收益. 澄清: ...

  5. 经典SQL语句大全

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  6. Caliburn.Micro学习笔记(五)----协同IResult

    Caliburn.Micro学习笔记目录 今天说一下协同IResult 看一下IResult接口 /// <summary> /// Allows custom code to execu ...

  7. HTTPS 原理解析

    一 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证 ...

  8. 【平面设计AFTER】读到的设计海报分层法

    来源参考:http://www.uisdc.com/graphic-designer-self-improvement 分层法的三层:“背景层”,“图形层”,“信息层” 1,背景层,一般为纯色,场景, ...

  9. 软件工程(FZU2015)助教总结

    本次构建之法-SE助教工作,和福州大学张老师协作,福大学生基本发挥出了一定水平,在此做个小结. 教师 张老师本身的SE教学经验足够丰富,对教学工作中的教师.助教.学生的角色定位清晰,整体节奏和安排合理 ...

  10. 【USACO 2.3】Zero Sum(dfs)

    按字典序输出所有在123..n之间插入'+','-',' '结果为0的表达式.. http://train.usaco.org/usacoprob2?a=jUh88pMwCSQ&S=zeros ...