常见的浏览器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倒计时页面跳转实例小结
Sep 11 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
Sep 18 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
May 11 Javascript
JS设置网页图片vspace和hspace属性的方法
Apr 01 Javascript
Bootstrap每天必学之日期控制
Mar 07 Javascript
JS实现的二叉树算法完整实例
Apr 06 Javascript
详解webpack+vue-cli项目打包技巧
Jun 17 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
Jul 13 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
Aug 17 Javascript
node.js支持多用户web终端实现及安全方案
Nov 29 Javascript
jquery实现拖拽小方块效果
Dec 10 jQuery
字节飞书面试promise.all实现示例
Jun 16 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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
php实现的简单日志写入函数
2015/03/31 PHP
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
Python运维开发之psutil库的使用详解
2018/10/18 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
推普周国旗下讲话稿
2014/09/21 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
办公室个人总结
2015/02/28 职场文书
民事上诉状范文
2015/05/22 职场文书
教师旷工检讨书
2015/08/15 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python