常见的浏览器Hack技巧整理


Posted in Javascript onJune 29, 2017

常见的浏览器Hack技巧整理

如果你经常需要做前端页面,那么你一定多多少少需要解决页面的浏览器兼容问题。而浏览器兼容问题大部分也集中在对IE系列的兼容。这里就总结一下对IE系列的CSS Hack,记录一下,方便以后查阅。

IE Hack

IE系列浏览器的hack大略如下:

  • _nowamagic:1px;-----------ie6
  • *nowamagic:1px;-----------ie7
  • nowamagic:1px\0;----------ie89
  • nowamagic:1px\9\0;--------ie9
  • :root nowamagic:1px;    ----ie9(实际情况可能ie9还是有问题,再用这种方式)

这样就基本上就可以兼容所有IE。

常见的浏览器Hack技巧整理

其中粉红色部分为属性hack,黄色部分为选择器hack,它们可以结合使用。此外Firefox和Chrome也有它们专有的hack,详细hack方式及使用示例如下:

Firefox 与 Chrome 的 Hack

Firefox:

@-moz-document url-prefix()  /*写在选择器外层时(只可写在此处):Firefox 
only*/

Chrome:

@media screen and (-webkit-min-device-pixel-ratio:0)  /*写在选择器外层时(只可写在此处):Chrome only*/

使用示例:

@-moz-document url-prefix()  /*Firefox*/
{
 body
 {
 background-color:pink;
 }
}

浏览器对css的解析是从前到后的,并且采用最后一个样式声明。

CSS 实例

.color{
  background-color: #CC00FF;    /*所有浏览器都会显示为紫色*/
  background-color: #FF0000\9;  /*IE6、IE7、IE8会显示红色*/
  *background-color: #0066FF;    /*IE6、IE7会变为蓝色*/      
  _background-color: #009933;    /*IE6会变为绿色*/
}
background: red;    /* 对FF Opera和Safari有效 */
#background: blue;   /* 对 IE6 和 IE7有效 */
_background: green;   /* 只对IE6有效 */
/*/background: orange;*/   /** 只对IE8有效 **/
!important     /*FF、IE7有效*/
*     /*IE都有效*/

IE8是可以和IE7兼容的,简单一行代码,让IE8自动调用IE7的渲染模式。只需要在页面中加入如下HTTP meta-tag:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />,只要IE8读到这个标签,它就会自动启动IE7兼容模式,保证页面完整展示。

混用起来大约是这样:

:root .demo { 
 background:#963\9; /* 仅IE9适用 */ 
} 
.demo { 
 width: 300px; 
 height: 200px; 
 background: #036; /* 所有浏览器都适用 */ 
 background: #09F\9; /* IE6~IE9 */ 
 background: #09F\0; /* IE8~IE9 */ 
 background: #09F\0/; /* IE8 */ 
 *background: #F60; /* IE6/IE7 */ 
 +background: #F60; /* IE6/IE7 */ 
 @background: #F60; /* IE6/IE7 */ 
 >background: #F60; /* IE6/IE7 */ 
 _background: #ccc; /* IE6 */ 
} 
@media all and (min-width:0) { 
 .demo { 
 background: #F06; /* webkit and opera */ 
 } 
} 
 
@media screen and (-webkit-min-device-pixel-ratio:0){ 
 .demo {background:#609;}/*webkit (& Opera9.2)*/ 
}

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
基于prototype扩展的JavaScript常用函数库
Nov 30 Javascript
JavaScript EasyPager 分页函数
May 25 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
Sep 09 Javascript
jQuery中even选择器的定义和用法
Dec 23 Javascript
JS实现获取剪贴板内容的方法
Jun 21 Javascript
jquery  实现轮播图详解及实例代码
Oct 12 Javascript
webpack实现热加载自动刷新的方法
Jul 30 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
Dec 25 Javascript
vue如何截取字符串
May 06 Javascript
JavaScript的垃圾回收机制与内存管理
Aug 06 Javascript
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 Vue.js
JavaScript函数柯里化
Nov 07 Javascript
详解webpack+gulp实现自动构建部署
Jun 29 #Javascript
bootstrapvalidator之API学习教程
Jun 29 #Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
Jun 29 #Javascript
jQuery开源组件BootstrapValidator使用详解
Jun 29 #jQuery
详解webpack 多页面/入口支持&amp;公共组件单独打包
Jun 29 #Javascript
详解webpack 如何集成第三方js库
Jun 29 #Javascript
详解webpack介绍&amp;安装&amp;常用命令
Jun 29 #Javascript
You might like
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
制作美丽的拉花
2021/03/03 冲泡冲煮
浅析SVN常见问题及解决方法
2013/06/21 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
动态表格Table类的实现
2009/08/26 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
JS 对象介绍
2010/01/20 Javascript
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
javascript 中的事件委托详解
2016/10/25 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
JS获取当前地理位置的方法
2017/10/25 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
python删除列表内容
2015/08/04 Python
实用自动化运维Python脚本分享
2018/06/04 Python
python 执行终端/控制台命令的例子
2019/07/12 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
地球鞋加拿大官网:Earth Shoes Canada
2020/11/17 全球购物
高一家长会邀请函
2014/01/12 职场文书
营业用房租赁协议书
2014/11/26 职场文书
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android