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

各个浏览器之间常见的兼容性问题

转载自:https://blog.csdn.net/zytyxz/article/details/78492428?utm_source=blogxgwz0,看到大佬的兼容性问题总结,觉得很不错,分享一下,也可以自己经常看看:

众所周知,浏览器的兼容性问题是开发人员经常会遇到的问题,它是由于不同浏览器的不同对代码的解析不同,而产生的在页面上显示的效果不同。那么,现在我把从工作当中发遇到的有关兼容性问题及解决方案做个简单总结,供各位参考:

 

第一类:块状元素float后,有添加了横向的margin,在IE6下比设置的值要大(属于双倍浮动的bug)

解决方案:给float标签添加display:inline,将其转换为行内元素

 

第二类:表单元素行高不一致

解决方案:给表单元素添加float:left(左浮动);或者是vertical-align:middle;(垂直对齐方式:居中)

 

第三类:设置较小高度的容器(小于10px),在IE6下不识别小于10px的高度;

解决方案:给容器添加overflow:hidden;

 

第四类:当在a标签中嵌套img标签时,在某些浏览器中img会有蓝色边框;

解决方案:给img添加border:0;或者是border:none;

 

第五类:min-height在IE6下不兼容

解决方案:

1)min-height:value;

      _height:value;

2)min-height:value;

     height:auto!important;

     height:value;

 

第六类:图片默认有间隙

解决方案:

1)给img标签添加左浮动float:left;

2)给img标签添加display:block;

 

第七类:按钮默认大小不一

解决方案:

1)用a标签来模拟按钮,添加样式;

2)如果按钮是一张背景图片,那么直接给按钮添加背景图;

 

第八类:百分比的bug

解决方案:父元素宽度为100%,子元素宽度各为50%,在IE6下各个元素宽度之和超过100%

解决方案:给右边浮动的子元素添加clear:right;

 

第九类:鼠标指针bug

描述:cursor:hand;只有ie浏览器识别,其他浏览器不识别

解决方案:cursor:pointer;IE6以上浏览器及其他内核浏览器都识别;

 

第十类:透明度属性

解决方案:针对IE浏览器:filter:alpha(opacity=value);(取值范围1--100)

兼容其他浏览器:opacity:value;(取值范围0--1)

 

第十一类:上下margin的重叠问题

描述:给上边元素设置了margin-bottom,给下边元素设置了margin-top,浏览器只会识别较大值;

解决方案:margin-top和margin-bottom中选择一个,只设置其中一个值;

 

关于hack


我很少使用hacker的,可能是个人习惯吧,我不喜欢写的代码IE不兼容,然后用hack来解决。不过hacker还是非常好用的。使用hacker我可以把浏览器分为3类:IE6 ;IE7和遨游;其他(IE8 chrome ff safari opera等)

◆IE6认识的hacker 是下划线_ 和星号 *

◆IE7 遨游认识的hacker是星号 *

比如这样一个CSS设置:

height:300px;*height:200px;_height:100px; 

IE6浏览器在读到height:300px的时候会认为高时300px;继续往下读,他也认识*heihgt, 所以当IE6读到*height:200px的时候会覆盖掉前一条的相冲突设置,认为高度是200px。继续往下读,IE6还认识_height,所以他又会覆盖掉200px高的设置,把高度设置为100px;

IE7和遨游也是一样的从高度300px的设置往下读。当它们读到*height200px的时候就停下了,因为它们不认识_height。所以它们会把高度解析为200px,剩下的浏览器只认识第一个height:300px;所以他们会把高度解析为300px。因为优先级相同且想冲突的属性设置后一个会覆盖掉前一个,所以书写的次序是很重要的。
---------------------
作者:zytyxz
来源:CSDN
原文:https://blog.csdn.net/zytyxz/article/details/78492428?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/secretAngel/p/9802871.html

相关文章:

  • 为什么需要RPC,而不是简单的HTTP接口
  • 和开源硬件相关的几个词,免费、山寨、创客教育,以及未来 | COSCon'18
  • 2018云计算行业现状及2020年云计算发展趋势
  • 当我们谈论Promise时,我们说些什么
  • 谷歌推迟公布Google+漏洞遭参议员不满
  • 今日头条完成超25亿美元融资 软银GA与KKR参与
  • iOS开发中实用的lldb命令
  • 网络时间戳
  • 昨天1024程序员节,我故意写了个死循环~
  • Git常用命令记录
  • Algs4-2.1.32运行时间曲线图
  • BZOJ 3812 : 主旋律
  • 《JavaScript实用效果整理》系列分享专栏
  • 浅谈web中前端模板引擎的使用
  • pytorch实战(2)-----回归例子
  • 分享的文章《人生如棋》
  • (三)从jvm层面了解线程的启动和停止
  • 【EOS】Cleos基础
  • 2017届校招提前批面试回顾
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • 30秒的PHP代码片段(1)数组 - Array
  • android图片蒙层
  • css的样式优先级
  • docker python 配置
  • ERLANG 网工修炼笔记 ---- UDP
  • Java超时控制的实现
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Linux Process Manage
  • PHP的类修饰符与访问修饰符
  • Spark RDD学习: aggregate函数
  • SQL 难点解决:记录的引用
  • use Google search engine
  • Vue官网教程学习过程中值得记录的一些事情
  • 测试如何在敏捷团队中工作?
  • 动态规划入门(以爬楼梯为例)
  • 基于webpack 的 vue 多页架构
  • 前端自动化解决方案
  • 如何选择开源的机器学习框架?
  • 思考 CSS 架构
  • 听说你叫Java(二)–Servlet请求
  • 延迟脚本的方式
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 一起参Ember.js讨论、问答社区。
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • zabbix3.2监控linux磁盘IO
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (四)汇编语言——简单程序
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)h264中avc和flv数据的解析