条件Hack、属性Hack、选择符Hack

条件Hack

实际情况,我们所用的浏览器各不相同,且版本也不一样,对于一些特殊代码,我们只需要在某些特殊浏览器中执行,而在其他的浏览器中不需要执行,这是就可以使用CSS Hack来解决该问题

CSS Hack实际上是指哟中特殊的代码,这段代码只在某些浏览器中可以识别,而在其他浏览器不能识别,通过这种方式,来为一些浏览器设置特殊的代码

使用:

在使用条件Hack时,需在HTML中添加link样式,在样式中添加脚本,写法如下:

<!--[if IE 8]>

<link rel='stylesheet' type='text/css' herf='css/sty-ie8.css'>

<![endif] -->

写法如下:

语法:

<!--[if <keywords>? IE <version>?]>

HTML代码块

<![endif]-->

keywords取值|

if条件共包含6种选择方式:是否、大于、大于或等于、小于、小于或等于、非指定版本

选择方式说明

是否指定是否IE或IE某个版本。关键字:空

大于选择大于指定版本的IE版本。关键字:gt(greater than)

大于或等于:选择大于或等于指定版本的IE版本。关键字:gte(greater than or equal)

小于选择小于指定版本的IE版本。关键字:lt(less than)

小于或等于选择小于或等于指定版本的IE版本。关键字:lte(less than or equal)

非指定版本选择除指定版本外的所有IE版本。关键字:!

<!--

    条件Hack

        它只对IE浏览器有效,其它的浏览器都会将它识别为注释

        IE10及以上的浏览器已经不支持这种方式

    --><!-- 以下内容只会出现在IE6中 --><!--[if IE 6]>

        <p>为了您和家人的健康,请远离IE6!!</p>

    <![endif]--><!--[if IE 8]>

        <p>当前浏览器是IE8!!</p>

    <![endif]--><!--[if lt IE 9]>

        <p>该标签会在IE9以下的浏览器中显示</p>

    <![endif]--><!--[if gte IE 9]>

        <p>该标签会在IE9及以上的浏览器中显示</p>

    <![endif]--><!--[if lte IE 9]>

        <p>该标签会在IE9及以下的浏览器中显示</p>

    <![endif]--><!--[if ! IE 6]>

        <p>你的浏览器不是IE6</p>

    <![endif]-->

属性Hack

选择不同的浏览器及版本

尽可能减少对CSS Hack的使用。Hack有风险,使用需谨慎

通常如未作特别说明,本文档所有的代码和示例的默认运行环境都为标准模式。

一些CSS Hack由于浏览器存在交叉认识,所以需要通过层层覆盖的方式来实现对不同浏览器进行Hack的

语法:

selector{?property:value?;}

属性Hackbody{background-color:#bfa;/*

            假设在IE6中需要将背景颜色设置为黄色才能达到和其它浏览器相同的效果

            *//*

            希望黄色背景只在IE6中生效

                在样式前添加一个下划线,则该样式只有IE6及以下的浏览器才可以识别

            *//*_background-color: yellow;*//*添加了*的样式只有IE7及以下的浏览器认识*//**background-color: yellow;*//*在样式最后添加一个\0,则只有IE8及以上的浏览器才能识别*//*background-color: yellow\0;*//*

            CSS Hack不到万不得已的情况尽量不要使用

            */}

选择符Hack

选择符/*

        在选择器前添加* html 则该选择器只有IE6可以识别

        */*htmlbody{background-color:#bfa;        }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,748评论 1 45
  • 条件Hack 实际情况,我们所用的浏览器各不相同,且版本也不一样,对于一些特殊代码,我们只需要在某些特殊浏览器中执...
    蔚来天空阅读 462评论 0 1
  • 前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:...
    秀才JaneBook阅读 2,566评论 0 25
  • 这是一份迟到的输出。经过三天的学习,由于个人一些原因,一直没有尽快输出。 因为我是在逃命啊,我怕我再不努力,我没有...
    聪明宝宝的熊妈阅读 312评论 4 2
  • 浪费人生不如学习文学 浪费知识不如学习文学 浪费金钱不如学习文学 浪费水资源不如学习文学
    王密亮阅读 204评论 0 0