CSS hack是什么?IE689浏览器的CSS hack大全介绍

2024-06-24 11:10:11阅读量:32 字体:

1、常见的特殊符号的应用:

IE6:

_selector{property:value;}

selector{property:value;property:value !important;} //IE6 不支持同一选择符中的 !important

IE7:

+selector{property:value;}

IE8:

selector{property:value;}

IE6 & IE7:

*selector{property:value;}

IE6 & IE7 & IE8:

selector{property:value9;}

总结起来,如下:

其中,S表示Standards Mode即标准模式,Q表示Quirks Mode,即兼容模式。

2、条件注释语句( )

所有的IE可识别

仅IE6可识别

IE6以及IE6以上版本可识别

IE7以下版本可识别

lt 表示less than 当前条件版本以下的版本,不包含当前版本。

gte 表示greeter than or equal 当前版本以上版本,并包含当前版本。

lte 表示less than or equal 当前版本以下版本,并包含当前版本。

3、meta声明

由于IE8 可能会将页面按照 IE7 模式进行渲染,针对 多版本IE的现状,通常会采用设置 X-UA-Compatible HTTP 头的方式将页面在IE中采用统一的渲染模式。

CSS hack是什么?IE689浏览器的CSS hack大全介绍

4、其他(/***/注释法)

网上也流传着这样一种ie hack方法

.color1{ color:#F00; color/***/:#00F /***/}/*IE6,IE7,IE8,FF,OP,SA识别*/

.color2{ color:#F00; color /***/:#00F /*9**/}/*IE7,IE8,FF,OP,SA识别*/

.color3{ color:#F00; color/***/:#00F 9}/*IE6,IE7,IE8识别*/

.color4{ color:#F00; color /***/:#00F9}/*IE7,IE8识别*//*“color”和“/***/”之间有个空格*/

分析下:

background-color:blue; 各个浏览器都认识,这里给firefox用;

background-color:red9;9所有的ie浏览器可识别;

background-color:yellow; 是留给ie8的,但笔者测试,发现最新版opera也认识,汗。。。不过且慢,后面自有hack写了给opera认的,所以,我们就认为是给ie8留的;

+background-color:pink; + ie7定了;

_background-color:orange; _专门留给神奇的ie6;

:root #test { background-color:purple9; } :root是给ie9的,网上流传了个版本是 :root #test { background-color:purple;},呃。。。这个。。。,新版opera也认识,所以经笔者反复验证最终ie9特有的为:root 选择符 {属性9;}

@media all and (min-width:0px){ #test {background-color:black;} } 这个是老是跟ie抢着认的神奇的opera,必须加个,不然firefox,chrome,safari也都认识。。。

@media screen and (-webkit-min-device-pixel-ratio:0){ #test {background-color:gray;} }最后这个是浏览器新贵chrome和safari的。

好了就这么多了,特别注意以上顺序是不可以改变的。css hack虽然可以解决个浏览器之间css显示的差异问题,但是毕竟不符合W3C规范,我们平时写css最好是按照标准来,这样对我们以后维护也是大有好处的,实在不行再用。

区别不同浏览器的CSS hack写法:

区别IE6与FF:

background:orange;*background:blue;

区别IE6与IE7:

background:green !important;background:blue;

区别IE7与FF:

background:orange; *background:green;

区别FF,IE7,IE6:

background:orange;*background:green !important;*background:blue;

注:IE都能识别*;标准浏览器(如FF)不能识别*;

IE6能识别*,但不能识别 !important,

IE7能识别*,也能识别!important;

FF不能识别*,但能识别!important;

另外再补充一个,下划线"_",

IE6支持下划线,IE7和firefox均不支持下划线。

于是大家还可以这样来区分IE6,IE7,firefox

: background:orange;*background:green;_background:blue;

注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面。

推荐阅读

  • qq音乐删除访问记录别人能看见吗

    qq音乐删除访问记录别人能看见吗

    qq音乐删除了访问记录别人是不能看到的,可以在访客功能中删除访问记录,通过以下步骤删除qq音乐访问记录: qq音乐删除访问记录别人能看见吗 1、打开qq音乐,切换到个人中心,点击头像”进入...

    阅读: 691

  • 新加好友怎么才能分享屏幕

    新加好友怎么才能分享屏幕

    qq聊天中自带有分享屏幕的功能,只要加了好友,直接点击分享屏幕就可以将屏幕分享给对方。具体操作方法如下: 新加好友怎么才能分享屏幕 1.在qq中找到要分享屏幕的好友,点击进入对话界面。 2.点击对话...

    阅读: 767

  • 手机锁屏微信语音视频没有提示声音

    手机锁屏微信语音视频没有提示声音

    手机锁屏微信语音视频没有提示声音可能是关闭了,接收语音和视频通话邀请提醒,如果关闭了就不会有提醒,可以通过设置重新开启这个功能,具体操作步骤如下: 手机锁屏微信语音视频没有提示声音 1、打开微信app...

    阅读: 773

  • 荣耀60声音小怎么办

    荣耀60声音小怎么办

    如果荣耀60手机的声音比较小的话,可以去系统内进行相应的调整,把手机的声音调大,具体的操作步骤如下: 荣耀60声音小怎么办 1、打开手机的设置,点击声音和振动”按钮,进入声音和振动的设置页...

    阅读: 853

  • ipad pro怎么录屏

    ipad pro怎么录屏

    ipad pro设备有录屏的功能,有需要的用户可以去手机的控制中心内打开按键进行录屏,具体的操作步骤如下: ipad pro怎么录屏 1、进入手机的桌面中,从手机屏幕的右上角往下滑,呼出控制中心的界面...

    阅读: 902

  • 苹果平板如何隐藏app软件

    苹果平板如何隐藏app软件

    苹果平板没有隐藏app软件的功能,但是可以把app下载到资源库中,这样就不会显示在平板的桌面上,操作方法如下: 苹果平板如何隐藏app软件 1、打开平板的设置,点击主屏幕”按钮,进入主屏幕...

    阅读: 750