您现在的位置是:网站首页> 编程资料编程资料
浅谈遇到的几个浏览器兼容性问题针对IE浏览器的兼容问题小结避免不必要的浏览器兼容性问题的5个技巧兼容主流浏览器的CSS透明代码(必看篇)浅谈浏览器的兼容性(必看篇)关于遇到的浏览器兼容问题及应对方法(推荐)
2021-09-04
792人已围观
简介 这篇文章主要介绍了浅谈遇到的几个浏览器兼容性问题,详细的介绍了几种我遇到的问题和解决方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
背景
解决浏览器的兼容性问题是一件很烦的事情,其中并没有太多高深的技巧,但是开发需要,也不得不去解决它,最近在开发项目中也遇到一些兼容性的问题,希望把这些问题的解决方式记录下来,下次遇到就直接拿过来用,也希望对他人有一些帮助。
兼容性问题及解决方式
1.object-fit在ie11和edge中不兼容,可以一些css hacks
使用background-size和background-position替换object-fit设置图片的样式
.loadingImage { width: 100%; height: 100%; transition: all 1s ease; object-fit: cover; }
上述代码中可以修改为如下:
.loadingImage { width: 100%; height: 100%; background-size: cover; background-position: center; background-image: url(url); } 对于视频播放,object-fit:cover可以解决视频不会随着屏幕缩放的问题
.video { width: 100%; height: auto; position: relative; left: 50%; top: 50%; transform: translate(-50%, -50%); object-fit: cover; } 可以使用如下css设置video标签,解决object-fit不兼容ie和edge的问题
.video { width: 100%; height: auto; position: relative; left: 50%; top: 50%; transform: translate(-50%, -50%); object-fit: fill; } 2.window.onload事件会在图片等资源加载完成后执行方法,但是它不会检测视频资源是否加载完成,可以使用如下代码检测视频是否加载完成
let video = document.getElementById('video') if (video.readyState === 4) { console.log('finish!') } 3.css的transition执行完成后会触发transitionend事件,但是存在兼容性,可以使用下面代码解决浏览器间的兼容性
function checkTransitionEvent() { var el = document.createElement('div') var transitions = { 'transition':'transitionend', 'OTransition':'oTransitionEnd', 'MozTransition':'transitionend', 'WebkitTransition':'webkitTransitionEnd' } for(t in transitions){ if( el.style[t] !== undefined ){ return transitions[t]; } } } 4.onwheel事件兼容性
support() { let support = "onwheel" in document.createElement("div") ? "wheel" : // Modern browsers support "wheel" document.onmousewheel !== undefined ? "mousewheel" : // Webkit and IE support at least "mousewheel" "DOMMouseScroll"; return support }, 5.wheel事件的wheelDelta和detail属性在不同浏览器下值不同,可以使用如下代码对其进行normalize,参考https://stackoverflow.com/questions/5527601/normalizing-mousewheel-speed-across-browsers
var wheelDistance = function(evt){ if (!evt) evt = event; var w=evt.wheelDelta, d=evt.detail; if (d){ if (w) return w/d/40*d>0?1:-1; // Opera else return -d/3; // Firefox; TODO: do not /3 for OS X } else return w/120; // IE/Safari/Chrome TODO: /3 for Chrome OS X }; var wheelDirection = function(evt){ if (!evt) evt = event; return (evt.detail<0) ? 1 : (evt.wheelDelta>0) ? 1 : -1; }; 6.requestAnimationFrame兼容性
let cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame || function(id) { clearTimeout(id) }; let requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) { return setTimeout(callback, 1000 / 60) }; 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- CSS 实现滚动的图片栏 实例代码DIV+CSS仿百度图片栏目搜索页面模板特效源码基于jquery+css3实现的通栏响应式图片轮播动画特效源码CSS新特性:圆角边框多栏Gird布局背景设置
- CSS 小结笔记之变形、过渡与动画的示例浅谈CSS3中的变形功能-transform功能CSS3 三维变形实现立体方块特效源码使用CSS的border属性构建变形边框的方法总结CSS3中设置3D变形的transform-style属性详解深入剖析CSS变形transform(3d)CSS制作图形变形弹出效果的示例分享
- CSS3 Flex 弹性布局实例代码详解CSS3中的弹性布局em运用入门详解 1em等于多少像素css3弹性盒子flex实现三栏布局的实现10分钟理解CSS3 FlexBox弹性布局css flex 弹性布局详解CSS弹性布局FLEX,媒体查询及移动端点击事件的实现
- css和html的四种结合方式CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 详解CSS Sprite雪碧图的应用CSS Sprites雪碧图技术基础学习指南
- 详解css外边距折叠(margin collapsing)如何只使用CSS创建折叠标题效果的示例代码详解CSS外边距折叠引发的问题纯CSS实现可折叠树状菜单纯CSS实现圆角折叠菜单的方法CSS 实现 图片鼠标悬停折叠效果
- CSS3 创建网页动画实现弹跳球动效果jQuery+css3实现不断变色的弹跳球碰撞动画特效源码独具个性的CSS3弹跳Loading动画特效源码CSS弹跳动画效果的实现方法
- css3实现椭圆轨迹旋转的示例代码js+CSS3 3D旋转木马特效插件微信小程序实现可实时改变转速的css3旋转动画实例代码CSS3打造百度贴吧的3D翻牌效果示例CSS3实现简易版的刮刮乐效果纯css3实现图片翻牌特效css实现旋转翻牌动画效果
- css中grid属性的使用详解CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 纯css实现Material Design中的水滴动画按钮CSS3实现紫色发光按钮悬停特效基于CSS 属性实现按钮悬停边框和背景动画集合CSS实现鼠标移动到图片或按钮上改变大小的方法示例CSS实现菜单按钮动画css 单选按钮图标替换的方法纯CSS实现数字加减按钮的最佳方案
