常见的浏览器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 相关文章推荐
qTip2 精致的基于jQuery提示信息插件
Feb 17 Javascript
js每隔5分钟执行一次ajax请求的实现方法
Nov 27 Javascript
jQuery中die()方法用法实例
Jan 19 Javascript
js实现跨域的方法实例详解
Jun 24 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
May 10 Javascript
headjs实现网站并行加载但顺序执行JS
Nov 29 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
Jan 25 Javascript
微信小程序使用wxParse解析html的实现示例
Aug 30 Javascript
快速解决vue-cli在ie9+中无效的问题
Sep 04 Javascript
vue+iview/elementUi实现城市多选
Mar 28 Javascript
详解Vue源码学习之双向绑定
Apr 10 Javascript
js加减乘除精确运算方法实例代码
Jan 17 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
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
jQuery预加载图片常用方法
2015/06/15 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python封装对象实现时间效果
2020/04/23 Python
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
python安装教程
2018/02/28 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
python进行TCP端口扫描的实现
2018/12/21 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
pandas数据拼接的实现示例
2020/04/16 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
团代会主持词
2014/04/02 职场文书
最常使用的求职信
2014/05/25 职场文书
家具公司总经理岗位职责
2014/07/08 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
行政诉讼答辩状
2015/05/21 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python