博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
柯大侠整理的常见浏览器兼容问题
阅读量:5734 次
发布时间:2019-06-18

本文共 1727 字,大约阅读时间需要 5 分钟。

HTML中的兼容问题

  • 不同浏览器的标签默认的外补丁和内补丁不同;
场景:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。解决方法:上来先消除默认样式*{margin:0;padding:0;};复制代码
  • 块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大(即双倍边距bug);
场景:常见症状是IE6中后面的一块被顶到下一行;解决方法:在float的标签样式控制中加入 display:inline;将其转化为行内属性复制代码
  • IE6中 z-index失效
场景:元素的父级元素设置的z-index为1,那么其子级元素再设置z-index时会失效,其层级会继承父级元素的设置,造成某些层级调整上的BUG;原因:z-index起作用有个小小前提,就是元素的position属性要 是relative,absolute或是fixed。解决方案:1.position:relative改为position:absolute;2.去除浮动;3.浮动元素添加position属性(如relative,absolute等)。复制代码
  • 在写a标签的样式,写的样式没有效果,其实只是写的样式被覆盖了
正确的a标签顺序应该:link/ visited/hover/active复制代码
  • 24位的png图片,ie6中不兼容透明底儿
解决方式:使用png透明图片呗,但是需要注意的是24位的PNG图片在IE6是不支持的解决方案有两种:1.使用8位的PNG图片;2.为IE6准备一套特殊的图片复制代码

js在不同浏览器中的兼容问题

  • 事件监听的兼容

IE不支持addEventListener; 解决:给IE使用attachEvent

var addHandler = function(el, type, handler, args) {    if (el.addEventListener) {        el.addEventListener(type, handler, false);    } else if (el.attachEvent) {        el.attachEvent('on' + type, handler);    } else {        el['on' + type] = handler;    }};var removeHandler = function(el, type, handler, args) {    if (el.removeEventListener) {        el.removeEventListener(type, handler, false);    } else if (el.detachEvent) {        el.detachEvent('on' + type, handler);    } else {        el['on' + type] = null;    }};复制代码
  • event.target的兼容,引发事件的DOM元素。

IE6789不支持event.target; 解决方法:event.srcElement;

// 以下为兼容写法target = event.target || event.srcElement;复制代码
  • 阻止系统默认的兼容

IE6789不支持event.preventDefault;

// 以下为兼容写法event.preventDefault ? event.preventDefault() : (event.returnValue = false);复制代码
  • 阻止事件冒泡的兼容

IE6789不支持event.stopPropagation;

// 以下为兼容写法event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = false);复制代码

转载于:https://juejin.im/post/5cd13d1cf265da03775c66bf

你可能感兴趣的文章
zabbix创建钉钉报警
查看>>
企业官网建立海外用户与思迈光电的桥梁
查看>>
强烈推荐|你不可不知的性能优化内幕
查看>>
安装可以查看PMM 源码的Go环境
查看>>
HTTPS中间人攻击实践(原理·实践)
查看>>
互联网行业高弹性系统构建最佳实践
查看>>
Avro序列化和RPC实现
查看>>
[New Feature]阿里云对象存储OSS支持版本管理特性
查看>>
Java使用POI读取和写入Excel指南
查看>>
Spark DataFrame 的 groupBy vs groupByKey
查看>>
SQLServer之PRIMARY KEY约束
查看>>
React.js 要点
查看>>
Flux7 Docker 系列教程(九):用于镜像操作的 10 个 Docker Remote API
查看>>
Paraview: Calculate Derivatives of 3-D Unstructured Dataset
查看>>
MySQL存储过程及用户权限管理
查看>>
Python数据分析之anaconda安装和使用
查看>>
阿里云为鑫广进提供SAP系统集成一体化解决方案
查看>>
Confluence 6 性能优化
查看>>
Android 分享几个应用源码
查看>>
微信公众号开发(二)
查看>>