当前位置: 首页 > article >正文

前端常见浏览器兼容性问题解决方案

前言:

不同浏览器的内核不尽相同,所以各个浏览器对网页的解析存在一定的差异。
浏览器内核主要分为两种,一是渲染引擎,另一个是js 引擎
所以浏览器兼容性问题一般指:css兼容、js兼容

浏览器

内核(渲染引擎)

Chrome谷歌

之前Webkit,已改Blink内核

FireFox火狐

Gecko

Safari苹果

Webkit

IE

Trident

Opera欧朋

现已改用Google Chrome的Blink内核

一、css兼容


1. 不同浏览器的标签默认的margin和padding不同

问题症状: 随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。

碰到频率: 100%

解决方案:

  1. CSS里 *{margin:0;padding:0;} 但是性能不好
  2. 一般我们会引入reset.css样式重置;

备注: 这个是最常见的也是最易解决的一个浏览器兼容性问题,所有的CSS文件开头都会用样式重置各个标签的内外补丁是0。


2. css3新属性,加浏览器前缀兼容早期浏览器

-moz- /* 火狐浏览器 /
-webkit- /
Safari, 谷歌浏览器等使用Webkit引擎的浏览器 /
-o- /
Opera浏览器(早期) /
-ms- /
IE */

哪些css3属性需要加:

定义关键帧动画 @keyframes
css3中的变形(transform)、过渡(transtion)、动画(animation)
border-radius 圆角
box-shadow  盒子阴影
flex  弹性布局
....

使用:

.myClass {-webkit-animation-name: fadeIn;-moz-animation-name: fadeIn;-o-animation-name: fadeIn;-ms-animation-name: fadeIn;animation-name: fadeIn;  /* 不带前缀的放到最后 */
}
/* 复杂属性 keyframes */
@-webkit-keyframes fadeIn {0% { opacity: 0; } 100% { opacity: 0; }
}
@-moz-keyframes fadeIn {0% { opacity: 0; } 100% { opacity: 0; }
}
@-o-keyframes fadeIn {0% { opacity: 0; } 100% { opacity: 0; }
}
@-ms-key
http://www.lryc.cn/news/2413359.html

相关文章:

  • mtk+android+之mt6577驱动笔记,MTK6577+Android之音频(audio)移植
  • XSS自动化入侵内网
  • 不加好友,QQ强制聊天三法
  • 国外破解站点大全
  • 【童年回忆】4399造梦西游3,各版本CE教程汇总
  • 各大网站架构总结笔记
  • 摄影基础知识学习笔记之光与色:白平衡 - 水中沙 - 博客大巴
  • 第一周:半导体器件基础(一)
  • Python之网络爬虫完全教程
  • Android 4.4 特性详解
  • c3p0的配置解释
  • 今天安装了VS2008中文版SP1。
  • Ubuntu 12.04 LTS更炫更具吸引力
  • 计算机专用英语词汇1695(持续更新)
  • oracle srvctl命令,oracle11gRAC之srvctl命令:
  • 编写我的第一个FastCGI程序
  • java.time.period计算间隔天数的问题
  • Mendix开发介绍实用篇(一)
  • Fluent UDF教程——壁面温度设定,实现动态高斯热源的施加,DEFINE_PROFILE宏讲解
  • nagios 配置详解
  • FireFox2和FireFox3共存解决方案(附完整图解)
  • 内网DNS服务选型和Bind9安装配置
  • 电视直播录播系统,多路电视直播录播解决方案
  • Android——直播推流SDK
  • 华为鸿蒙2.0系统官网在哪?鸿蒙2.0系统申请入口及适配机型图文介绍
  • (转)用inner join 联结access多个表的用法
  • linux更换域名全站301,网站换域名必看,全站301重定向代码分享
  • 2014台州学院ACM集训队寒假练习赛2
  • AF_INET和PF_INET的细微不同
  • github emoji 表情列表