CSS Hack的介绍

前言

一、CSS Hack是什么?

一般来说是针对不同的浏览器写不同的CSS样式,我们把这个针对不同的浏览器/不同版本写相应的CSS code的过程,叫做CSS hack。

CSS Hack常见的有三种形式:
属性Hack、选择符Hack、条件注释Hack, Hack主要针对IE浏览器

二、CSS hack分类

CSS Hack大致有3种表现形式,CSS属性前缀法、选择器前缀法以及IE条件注释法(即HTML头部引用if IE)Hack,实际项目中CSS Hack大部分是针对IE浏览器不同版本之间的表现差异而引入的。
CSS hack方式一:条件注释法

<!--[if IE]>
    <p>你在非IE中将看不到我的身影</p>
<![endif]-->

<!--[if IE]>
<style>
    .test{color:red;}
</style>
<![endif]-->
 
<!--[if lt IE 9]>
    <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->

条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下被当做注释视而不见。可以通过IE条件注释载入不同的CSS、JS、HTML和服务器代码等。

CSS hack方式二:属性法

.test{ color:#090\09; /*  For IE8+、FF */ 
*color:#f00; / * For IE7 * / 
_color:#ff0; /*  For IE6  */ }

比如IE6能识别下划线“”和星号“”, IE7能识别星号“”,但不能识别下划线” ”,而firefox两个都不能认识。
background-color:red9; 9所有的ie浏览器可识别; background-color:yellow0; 0
是留给ie8的,

CSS hack方式三:选择器符

* html .test{color:#090;} /* For IE6 and earlier */
*+html .test{color:#ff0;} /* For IE7 */
.test{color:#f00;} /* For IE8+ and not IE */

比如IE6能识别 html .class{},IE7能识别+html .class{}

三、选择器的优先级

FF<IE7<IE6,CSS hack

书写顺序一般为FF(FireFox火狐) IE7 IE6

以: " #demo {width:100px;} "为例:

#demo {width:100px;} /*被FIREFOX,IE6,IE7执行.*/
* html #demo {width:120px;} /*会被IE6执行,之前的定义会被后来的覆盖,所以#demo的宽度在IE6就为120px; */
*+html #demo {width:130px;} /*会被IE7执行*/
所以最后,#demo的宽度在三个浏览器的解释为: FIREFOX:100px; ie6:120px; ie7:130px;

IE8+ 最新属性css hack:
"9" 例:"border:1px 9;"这里的"9"可以区别所有IE和FireFox.(只针对IE9 Hack)
"0" IE8识别,IE6、IE7不能.
"*" IE6、IE7可以识别.IE8、FireFox不能.
"_" IE6可以识别"_",IE7、IE8、FireFox不能.

css样式 --- CSS hack   前端样式,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况。基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现。我个人是不太推荐使用hack的,要知道一名好的前端,要尽可能不使用hack的情况下实现需求,做到较好的用户体验。可是啊,现实太残酷,浏览器厂商之间历史遗留的问题让我们在目标需求下不得不向hack妥协,虽然这只是个别情况。今天,结合自己的... 阅读详情

相关推荐

什么是Css Hack

CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的,CSS hack就是让你记住这个标准),以达到应用不同的CSS样式的目的。常用的CSS hack 有三种方式,CSS 内部hack、选择器hack、HTML 头部引用,其中第一种最常用。

weixin_65071380的博客 1939

你知道CSS Hack吗?

什么是CSS Hack? 一般来说是针对不同的浏览器写不同的CSS,就是 CSS Hack。 IE浏览器Hack一般又分为三种,条件Hack、属性级Hack、选择符Hack(详细参考CSS文档:css文档)。 例如: // 1、条件Hack <!--[if IE]> <style> .test{color:red;} </style> <![endif]> // 2、属性Hack .test{ color:#090\9; / For IE8+ /

田兴的博客 3237

CSS Hack是什么意思?css hack有什么用?

第一部分:什么是CSS HackCSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的,CSS hack就是让你记住这个标准),以达到应用不同的CSS样式的目的。 常用的CSS hack 有三种方式,CSS 内部hack、选择器hack、HTML 头部引用,其中第一种最常用。 CSS 内部hack 正经的CSS是这么写的 <!DOCTYPE html> <html> <head&

前端小白-Mr鹏帅 2万+

[css] 什么是hackcsshack有哪些?

[css] 什么是hackcsshack有哪些? 一、总结 1、CSS hack:由于不同厂商的浏览器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一厂商的浏览器的不同版本,如IE6和IE7,对CSS的解析认识不完全一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。 2、hack:本意:修改,

歌谣的博客 6500

CSS Hack技术介绍及常用的Hack技巧集锦

CSS Hack技术介绍及常用的Hack技巧集锦 这篇文章主要介绍CSS Hack技术介绍及常用的Hack技巧集锦,本文讲解了什么是CSS Hack、常用的CSS Hack、IE6对!important的支持、IE6下的多选择符等内容,需要的朋友可以参考下 一、什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CS

cock12345678的专栏 1万+

IE10 CSS Hack介绍及IE11 CSS Hack

ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,但是针对ie10的css hack大家了解吗? 去年微软宣布,win8的Metro版IE10将不再支持插件,并且不再支持条件注释,这显然...

lumot的博客 849

ie11 php css,IE10 CSS Hack介绍及IE11的CSS Hack提前了解

有IE就有hack,看看IE9的css hack,IE8的css hack;上次同事说一个页面IE10下有问题,IE9下测试了一下,也有同样的问题。悲剧了赶紧找IE10的hack。google上翻到的IE10 CSS Hacks 还算比较实用的。记录一下以备后用。一、特性检测:@cc_on我们可以用IE私有的条件编译(conditional compilation)结合条件注释来提供针对ie10的...

weixin_28994935的博客 183

Html+CSS hack技术介绍 以及常用hack

一、什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS HackCSS Hack常见的有三种形式:CSS属性HackCSS选择符Hack以及IE条件注释HackHack主要针对IE浏览器。 1、属性级Hack:比

迎难而上 1336

常用的css hack介绍

CSS Hack常见的有三种形式:CSS属性HackCSS选择符Hack以及IE条件注释HackHack主要针对IE浏览器。 1 /* CSS属性级Hack */ 2 color:red; /* 所有浏览器可识别*/ 3 _color:red; /* 仅IE6 识别 */ 4 *color:red; /* IE6、IE7 识别 */ 5 +color:red; /* ...

weixin_34082854的博客 87

css 识别ie6,CSS hack是什么?IE6\7\8\9\10浏览器的CSS hack大全介绍

CSS hack由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。这个针对不同的浏览器写不同的CS...

weixin_36417642的博客 325

CSS hack是什么?IE6\7\8\9\10浏览器的CSS hack大全介绍

CSS hack由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。 这个针对不同的浏览器写不

N____N的博客 4089

CSS hack介绍

1.什么是CSS hack     由于不同厂商的流览器,对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果。这时,我们为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的CSS样式,我们把这个针对不同的浏览器写相应的CSS code的过程,叫做CSS hack!

ice2spring的博客 311

CSS3 box-shadow兼容loading效果兼IE10+ CSS Hack介绍

一、称为引言的部分 周一的时候,见到条转发较多的微博,是个页面链接,页面中有4个充分发挥CSS3 box-shadow潜力实现精湛的效果。 有4个demo4种效果哦! 比方说第三个的彩色转啊转的loading效果: 是不是帅得掉渣啊! 然而这种效果的实现就像是在大街上耍猴,围观人挺多,喝彩声也不少,但是,看完了,大家各回各家、各找各妈了! 好比上面那个炫炫的酷酷的转转加载效果,全部

pj_me 1652
上一篇: 常见的块级元素,行内元素和空元素
下一篇: src与href的区别、link与@import区别
@柠稔
博客等级 码龄5年 180粉丝 · 67原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值