常见的浏览器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 相关文章推荐
来自国外的页面JavaScript文件优化
Dec 08 Javascript
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
Chrome扩展页面动态绑定JS事件提示错误
Feb 11 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
微信小程序 地图map详解及简单实例
Jan 10 Javascript
微信小程序左滑删除效果的实现代码
Feb 20 Javascript
Node.js获取前端ajax提交的request信息
Feb 20 Javascript
JavaScript字符串检索字符的方法
Jun 23 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
Vue 源码分析之 Observer实现过程
Mar 29 Javascript
Web安全之XSS攻击与防御小结
Dec 13 Javascript
JavaScript设计模型Iterator实例解析
Jan 22 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
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
jquery教程ajax请求json数据示例
2014/01/13 Javascript
删除条目时弹出的确认对话框
2014/06/05 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
vue $router和$route的区别详解
2020/12/02 Vue.js
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python实现DDos攻击实例详解
2019/02/02 Python
在vscode中配置python环境过程解析
2019/09/28 Python
python多进程并发demo实例解析
2019/12/13 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
中文系学生自荐信范文
2013/11/13 职场文书
《火烧云》教学反思
2014/04/12 职场文书
质量管理标语
2014/06/12 职场文书
公务员爱岗敬业演讲稿
2014/08/26 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
MongoDB使用场景总结
2022/02/24 MongoDB
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技