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

第一类:块状元素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。因为优先级相同且想冲突的属性设置后一个会覆盖掉前一个,所以书写的次序是很重要的。

常见浏览器的兼容性问题(面试重点)相关推荐

  1. 我所碰到的面试题之------前端常见浏览器兼容性问题解决方案---

    我所碰到的面试题之------前端常见浏览器兼容性问题解决方案--- 参考文章: (1)我所碰到的面试题之------前端常见浏览器兼容性问题解决方案--- (2)https://www.cnblog ...

  2. 【转】常见浏览器兼容性问题与解决方案css篇

    小满语:说到兼容性问题,不得不说一下IE浏览器,尤其是IE9以前,兼容性差的要哭,来,擦擦眼泪,学习一下兼容性问题的解决方案~本篇主要是布局后加样式后导致浏览器显示不统一的情形: 所谓的浏览器兼容性问 ...

  3. 常见浏览器兼容性问题与解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求 ...

  4. 常见浏览器兼容性问题与解决方式

    所谓的浏览器兼容性问题,是指由于不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,不管用户用什么浏览器来查看我们的站点或者登陆我们的系统,都应该是统一的 ...

  5. 常见浏览器兼容性问题及解决方案

    常见浏览器兼容性问题及解决方案: 1.不同浏览器的默认内外边距和内外补丁不同. 解决方案:css设置 *{margin:0; padding:0;} *是通配符,匹配所有html标签. 2.块级元素f ...

  6. 常见浏览器兼容性问题大全

    常见浏览器兼容性问题与解决方案 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或 ...

  7. Web前端面试指导:谈谈浏览器的兼容性

    题目点评 这个 问题是非常抽象的,越是抽象的问题 越能 表现出我们的表达能力,而面试官就喜欢根据你的回答来追问, 不断地 打断你的思路,这个 时候 不要慌, 一定要 坚信自己. 回答思路 我们 在开发 ...

  8. 【面试重点系列】操作系统常见面试重点题(万字图解)

    [面试重点系列]操作系统常见面试重点题

  9. 「mysql优化专题」90%程序员面试都用得上的索引优化手册(5)【面试重点】

    本专题讲到索引查询优化,恭喜你,已经达到mysql优化的中级水平.这篇我们要讲的是mysql优化中重点中的重点--索引优化.面试官百分百必问 目录 多关于索引,分为以下几点来讲解: 一.索引的概述(什 ...

最新文章

  1. oralce 异常处理 exception
  2. 深入浅出讲解:php的socket通信
  3. Eclipse android
  4. 通过WM_COPYDATA消息完成进程间通信
  5. 总结一些C/C++的知识点
  6. aspx后台调用前台jquery_jQuery调用Asp.Net后台方法
  7. 测试Lock锁-可重入锁(Java)
  8. TM数据单窗算法和单通道算法反演地表温度(IDL实现)
  9. 计算机组成原理(白中英) 第八章 课后题答案
  10. 2021年01月18号学习产品经理之电商项目从0-1
  11. VUE前端+Node后台模拟打印机Web即时打印
  12. putty使用私钥登录
  13. CUDA安装出现图形驱动程序安装失败
  14. 深信服校园招聘c/c++软件开发A卷
  15. Vue中el-table追加行后固定列滚动错位问题
  16. 苹果8屏幕测试软件,iPhone8人脸识别软件
  17. 速途网范锋:重要合作可能决定网络企业生死
  18. html实现轮播图--小圆圈呈中间大两边小的样式
  19. Android Sandbox(沙箱)开源工具介绍
  20. rv1109/rv1126 编译并部署QT项目(详解)

热门文章

  1. ET框架学习——消息系统之七
  2. 02,Python网络爬虫第二弹《http和https协议》
  3. 黄聪:C# 写Excel 代码
  4. 如何诱导 ChatGPT 露出真实面目?
  5. pythonrtk_GPS-RTK 测量的原理和优点都有哪些
  6. 《数据清洗》第七章操作题
  7. 鼠标滑过显示操作按钮闪烁问题
  8. openKylin荣获OSCHINA“2022 年度优秀开源技术团队” 奖项!
  9. 【技术教程】在EasyCVR平台中打开第三方桌面端应用的实现过程
  10. 钧瓷产业数字化,将促使禹州走向更高级的社会形态——钧共体