CSS hack初探

作者: HungerLyndon | 来源:发表于2016-12-20 09:16 被阅读68次

1CSS hack是啥?

hack的中文意思是:(动词)乱劈、乱砍、开垦。所以最开始听到这个术语的时候,我真的不明白它的含义。
学习完课程后,我发现CSS hack其实并不深奥,一言以蔽之:就是针对不同浏览器或者浏览器的不同版本书写相应的CSS code,这个行为就叫做:CSS hack。

2. 为啥需要CSS hack?

因为浏览器有很多,而且在一定时期内,一个浏览器往往存在着多重版本,所以浏览器市场上的用户分布广泛。既然存在着不同的本体和分身,它们对于CSS的支持和解析必然不尽相同,因此一份网页在不同浏览器环境中往往呈现出不一致的页面展现效果。如果希望获得统一的页面效果,就应该要针对不同的浏览器或浏览器的不同版本书写特定的CSS样式。

3. CSS hack分类

大致有三种类型:CSS属性前缀法、选择器前缀法、IE条件注释法。我觉得,CSS hack大约是因为IE的多版本存在且有固定的用户群体,所以一直发挥着比较重要的作用。

  • 属性前缀法:IE6可以识别下划线_和星号*,IE7能识别星号*,但是不能识别下划线,IE6到IE10都认识\9,但是对于火狐浏览器而言,这些下划线、星号、反斜杠9它都不认识,因此通过对类添加这些前缀就可以在不同浏览器或者浏览器的不同版本中实现相应的效果
  • 选择器前缀法:IE6可以识别*html .class{},IE7可以识别*+html .class{}
  • IE条件注释法:首先需要注意:(敲黑板)IE10以上的浏览器已经不再支持条件注释。因为IE条件注释hack可以面对IE10以前的浏览器来处理兼容问题。大致形式为
<!--[if IE]>
内容
<![endif]-->

4. hack分类细述

  • 条件注释法
    这是IE浏览器专门独占的hack方式
    比如
只在IE6下生效
<!--[if IE6]>
在IE6中显示的文字
<![endif]-->
在IE6及以上版本生效
<!--[if gte IE6]>
在IE6及其以上版本浏览器中显示的文字
<![endif]-->

类似的还有:

相关文章

  • CSS hack初探

    1CSS hack是啥? hack的中文意思是:(动词)乱劈、乱砍、开垦。所以最开始听到这个术语的时候,我真的不明...

  • CSS hack 原理

    参考文章: CSS hack大全&详解(什么是CSS hack) 要点总结: css hack 原理是:依据不同浏...

  • 20-IE6浏览器兼容

    CSS Hack 什么是CSS Hack?针对IE的不同版本设置不同的CSS属性, 我们就称之为CSS Hack ...

  • CSS部分属性的IE兼容

    CSS-Hack 什么是CSS Hack?针对IE的不同版本设置不同的CSS属性, 我们就称之为CSS Hack ...

  • 浏览器兼容

    什么是 CSS hack CSS hack就是使你的CSS代码兼容不同的浏览器。CSS hack大致有3种表现形式...

  • HTML2

    1、ie6png的修复 2、CSS Hack常见的有三种形式:CSS属性Hack、CSS选择符Hack以及IE条件...

  • 前端面试总结(七)

    1.什么是CSS Hack? 一般来说是针对不同的浏览器写不同的CSS,就是 CSS Hack。IE浏览器Hack...

  • 浏览器兼容

    CSS hack CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safari,Mo...

  • 浏览器兼容简要了解

    CSS HACK CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safari,Mo...

  • 浏览器兼容问题

    什么是 CSS hack CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safar...

网友评论

    本文标题:CSS hack初探

    本文链接:https://www.haomeiwen.com/subject/yqtxvttx.html