在面试的时候,常常会被问到,浏览器的兼容性有哪些?原因,解决办法是怎么,常用hack的技巧 ?

不同浏览器都会带有自己的浏览器默认样式,一般我们需要把它们浏览器默认自带的形状给清楚,一般我们通过reset.css(我们企业里开发前端界面都用这个来清楚浏览器默认样式)

display:inline-block(IE7及以上不支持)

需要对低版本IE特殊处理:{display:inline-block;*display:inline;*zoom:1;}

display:inline-block 什么时候会表明间隙?怎样去除间隙?

父元素font-size设置成,子元素再次设置font-size

display:inline-block滥用容易出现布局方面的难题,特别在左中右、左右等布局方面的难题尤为突出。因此即使是左右布局的话,尽量都用浮动来替代

z-index

z-index在IE7及以上版本的话,有时会发现不是谁z-index设置的越高谁就表明在最下面。碰到这样难题需要增设父元素有相对定位属性元素的z-index。先比较父元素的z-index再比较子元素的

IE6双边距

IE6中,元素向左浮动并且增设了右边的外边距出现了这么的双边距bug。同理,元素向右浮动并且增设右边距也会出现同样的现象。同一行或者有多个浮动元素,第一个浮动元素会出现这个双边距bug各种浏览器兼容问题,其他的浮动元素则不会。只需要给浮动元素加上display:inline;这样的CSS属性就可以了。

margin-top,margin-bottom的bug

父元素的第一个子元素设置了margin-top,会作用于父元素(值为父元素的margin-top与该margin-top两者中的最大值),而子元素和父元素的列宽则没有发生改变。

IE8-(IE8及以上)rgba模式不兼容的解决方案

IE8以及以上用调色, filter:Alpha(opacity=20);

CSS Hack

怎么是CSS hack

由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析不一样,使得在不同浏览器的环境中展现出不一致的界面展现作用。这时,我们为了获得统一的界面效果,就需要针对不同的浏览器或不同版本写特殊的CSS样式,我们把这个针对不同的浏览器/不同版本写相应的CSS code的过程,就叫CSS hack!

CSS hack的方法

由于不同的浏览器和浏览器各版本对CSS的支持及解析结果不一样,还有CSS优先级对浏览器展现作用的影响,我们可以据此针对不同的浏览器情景来应用不同的CSS。

CSS hack分类

科普

lte:就是Less than or equal to的简写,也就是小于或等于的含义。

lt :就是Less than的简写,也就是小于的含义。

gte:就是Greater than or equal to的简写,也就是大于或等于的含义。

gt :就是Greater than的简写,也就是大于的含义。

! :就是不等于的含义,跟javascript里的不等于判断符相同

CSS Hack大致有3种表现形式,CSS属性前缀法、选择器前缀法还有IE条件注释法(即HTML头部引用if IE)Hack,实际项目中CSS Hack大部分是针对IE浏览器不同版本之间的表现差别而引入的。

特性前缀法(即类外部Hack):例如 IE6能识别下划线""和星号" * ",IE7能识别星号" * ",但不能识别下划线"",IE6~IE10都认识"\9",但firefox前述三个都不能认识.

.all IE{property:value\9;} .gte IE 8{property:value\0;} .lte IE 7{*property:value;} .IE 8/9{property:value\0;} .IE 9{property:value\9\0;} .IE 7{+property:value;} .IE 6{_property:value;} .not IE{property//:value;}

选择器前缀法(即选择器Hack):例如 IE6能识别html .class{},IE7能识别+html .class{}如果*:first-child+html .class{}。

IE条件注释法(即HTML条件注释Hack):针对所有IE(注:IE10+已经不再支持条件注释):各种浏览器兼容问题,针对IE6及以上版本: 。这类Hack不仅对CSS生效,对写在判断句式里面的一切源码就会生效。

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-118629-1.html

html面试要带电脑吗,前端面试巧妙回答浏览器兼容问题相关推荐

  1. html前端小教程—各浏览器兼容视频插入方法

    今天分享下"html前端小教程-各浏览器兼容视频插入方法"这篇文章,文中根据实例编码详细介绍,或许对大家的编程之路有着一定的参考空间与使用价值,需要的朋友接下来跟着云南仟龙Mark ...

  2. python程序员面试宝典 勘误_《前端面试江湖》勘误合集(二)

    吐个槽,作者可能把主要的功力都放在写目录上了吧... 书接上文 第二章 JavaScript中级面试题(9题) 103题:印刷错误&答案错误缺少的部分应该是 107题:印刷错误缺少右花括号这种 ...

  3. 前端自动化测试之多浏览器兼容测试平台F2etest全面踩坑记录

    PPT更详尽:F2etest兼容性平台&UIrecorder脚本录制回放 本文参考:http://shaofan.org/f2etest/,https://www.jianshu.com/p/ ...

  4. 聊聊一直困扰前端程序员的浏览器兼容-【css】

    1.为什么会出现浏览器兼容问题? 由于各大主流浏览器由不同的厂家开发,所用的核心架构和代码也很难重和,这就为各种莫名其妙的Bug(代码错误)提供了温床.再加上各大厂商出于自身利益考虑而设置的种种技术壁 ...

  5. java面试带电脑吗?java面试要准备什么?

    最近面试java开发的朋友有点多哦,前段时间有个老弟面试对方要去他带电脑,他不知道是为什么.那么java面试带电脑吗?java面试要准备什么?今天来谈谈这个问题. java面试带电脑吗? 面试要求带电 ...

  6. 【前端面试】HTML5+CSS3初级面试3

    1.写出media type的几种使用方法. 1)方法一 : <link href="style.css" media="screen print" .. ...

  7. 2018年中高级前端面试题目小结

    2018年中高级前端面试题目小结 前言 关于前端面试,及面试题目,我之前有很多文章总结过,可以在右侧搜索面试,进行查找.其实面试中可以问的问题很多,最近几年,我也面试过很多工作2-4年的前端,我一般会 ...

  8. 【前端面试】HTML5+CSS3初级面试1

    最近刚好在看前端的面试,把看到的内容总结一下,方便大家一起学习. 1.简单说一下对HTML5+CSS3的了解. HTML5和CSS3不仅是两项新的Web技术标准,而且代表了下一代HTML和CSS技术. ...

  9. 小米前端面试、字节跳动前端面试、百分点前端面试-面试总结

    小米前端开发面试(社招,南京) 小米面试问的问题都会涉及到具体的原理,每个技术点都要求深入的理解.小米的前端社招面试基本会经过四轮技术面试,面试通过之后HR会和你联系询问你的薪资期望,之后小米会有两天 ...

  10. java面试可以带作品吗?java面试要带什么?

    很多人在面试java后端等岗位的时候,在面试条件中会被要求携带作品.那么java面试需要准备的作品是指什么?java面试可以带作品吗?帮您解答java面试需要带作品吗相关内容细节,希望能给您带来帮助. ...

最新文章

  1. hdu1025 Constructing Roads In JGShining#39;s Kingdom(二分+dp)
  2. BB陆逊高达(3Dmax)
  3. TCP/IP协议 和 如何实现 互联网上点对点的通信
  4. java 打开sql数据库_idea 使用Java连接SQL Server数据库教程
  5. python自动化办公知识点整理汇总_python自动化办公小结
  6. 信息学奥赛C++语言:由大到小输出1~100的整数
  7. ubuntu 64 12.04 oracle,Ubuntu 12.04 (amd64)安装Oracle 11g 总结
  8. python `__del__`
  9. 如何在Mac上备份和共享文本替换?
  10. 机器学习-数据归一化方法(Normalization Method)
  11. python嵩天ppt_嵩天python课程笔记1
  12. matlab中dzdx,MatConvnet工具箱使用手册翻译理解一
  13. 《持续集成实践指南》第3章 Gitlab基本配置与使用
  14. html5 mp4在线播放器,HTML5 Web播放器-Video.js
  15. 银行营销策略数据分析 - 智能定位
  16. 2021-04-06人事老李走了
  17. JAVA网课|字符串
  18. LLRB——红黑树的现代实现
  19. 大学生对网络直播的看法
  20. Mac上抓住每一次灵感迸发的App

热门文章

  1. 机械臂拉格朗日法逆动力学建模仿真(附MATLAB代码)
  2. unity算法面试_Unity面试准备
  3. 《圆明园的毁灭》教学设计方案
  4. C++ WindowsAPI 教程:MessageBox函数详解(原创)
  5. 五款机房教学管理系统,你的教室安装了吗
  6. tomcat编码配置gbk_修改Tomcat编码方式的两种方法
  7. Delphi各个版本的官方下载地址
  8. 锐捷客户端linux登录密码忘记,锐捷S3760忘记密码的恢复方法
  9. Excel 2010实战技巧精粹
  10. 计算机安装系统说明,电脑操作系统安装方法-详细图解说明-简单安装Windows系统...