说说css hack,说真的,我也是才去了解这个东西
2024-09-05 03:11:54
之前在很多地方看到css hack,今天狠下心,看看到底是什么鬼,所有我去百度了,然后看了一篇文章,然后写个小总结。
css hack就是通过加一些特定的符号,不同的浏览器可以识别特定符号的样式,以此达到在不同的浏览器下面,可以看到不同的css样式。
1.大部分特殊字符IE浏览器支持,其他主流浏览器firefox,chrome,opera,safari不支持 (opera可识别除外)。
2.\9 :所有IE浏览器都支持
3._和- :仅IE6支持
4.* :IE6、E7支持
5.\0 :IE8、IE9支持,opera部分支持
6.\9\0 :IE8部分支持、IE9支持
7.\0\9 :IE8、IE9支持
各种CSS hack情况介绍
1.区别IE和非IE浏览器
#tip{
background:blue;/*非IE背景蓝色 因为所有浏览器都能解释*/
background:red\9;/*IE6、IE7、IE8、IE9背景紅色 因为\9在IE6.7.8.9中可以识别,覆盖上面样式 IE10跟11应该不识别,IE11测试确定*/
}
2.区别IE6、IE7(方法1)
#tip{
*background:black;/*IE7背景变黑色*/
_background:orange;/*IE6背景变橘色*/
}
3.区别IE6、IE7(方法2)
#tip{
background:black!important;/*IE7背景变黑色*/
background:orange;/*IE6背景变橘色*/
}
IE浏览器下hack总结
element{
color:#666\9; //IE8 IE9
*color:#999; //IE7
_color:#EBEBEB; //IE6
}
可以看出,利用字符识别无法区分IE8和IE9,我们可以从伪类的识别来区分
element{
color:#666\9; //IE8
*color:#999; //IE7
_color:#EBEBEB; //IE6
}
:root element{color:#666\9;}//IE9
【说明】:“:root”伪类IE系列只有IE9支持,其他主流浏览器均支持,利用这一点来区分IE8和IE9。另外考虑到opera部分支持,完全支持:root,所以不使用。
兼容各大主流浏览器(最新版本)css hack汇总如下(最全的):
.element{
color:#000; /*w3c标准*/
[;color:#f00;]; /*Webkit(chrome和safari)*/
color:#666\9; /*IE8*/
*color:#999; /*IE7*/
_color:#333; /*IE6*/
}
:root .element{color:#0f0\9;} /*IE9*/
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (
-webkit-min-device-pixel-ratio:0) { .element{color:#336699;}} /*opera*/
@-moz-document url-prefix(){ .element{color:#f1f1f1;}} /*Firefox*/
最新文章
- c# http get请求与post请求实例
- Linux脚本学习
- PowerDesigner 16.5 反向PostgreSQL9.01 中 Unable to list the columns. SQLSTATE = 22003不良的类型值 short : t 解决方法
- PHP 程序员的技术成长规划
- c#抽象类相关
- Windows Embedded CE 6.0开发环境的搭建
- MySQL-视频跟随练习笔记
- win7删除桌面文件需要刷新才会消失(2种解决方法)
- Android控件拖动的实现
- 20.DOM
- 关闭浏览器事件 onbeforeunload和onunload
- js 获取两个时间戳之间相隔多少天多少小时多少分多少秒
- (转)基于C#的socket编程的TCP异步实现
- php json_encode在CI框架中的使用细节
- 【CSS系列】获取实时数据做进度
- 初学者下载使用Python遇到的问题看它就行了
- (转)SQL Server 列转行
- python装饰器简单使用
- CodeForces 785A Anton and Polyhedrons
- 20145214 《Java程序设计》第6周学习总结
热门文章
- JDK的新特性
- 报错 ";Host '192.168.209.1' is not allowed to connect to this MySQL server";
- c++ throw异常(学习)
- 小记LoadRunner 11 安装VC2005运行环境报错处理
- iOS-自定义导航控制器
- python中Requests的重试机制
- unity读取灰度图生成等值线图
- CG标准函数
- windows7-tomcat配置
- C# volatile 摘录