1、如何调试 IE 浏览器
①安装不同版本的IE浏览器
②安装IEtester这种模拟器测试工具等
③在IE浏览器里面做调试,IE7以上自带IE模拟器
2、什么是CSS hack?在 CSS 和 HTML里如何写 hack?在 CSS 中 ie6、ie7的 hack 方式?
①CSS hack就是利用IE里面各种“bug”来解决对于新属性不支持的问题,也有是由于浏览器渲染标准不同造成的,所以对于一些浏览器需要写一个特定的属性,不能一个属性通用所有浏览器。
②IE的hack有大致3中方法
一、css属性前缀法
例如:*display:inline;
_display:inline;
二、选择器前缀法
例如:*html .class{}
三、IE条件注释法
例如:
<!--[if IE]>
这段文字只在IE浏览器显示
<![endid]-->
<!--[if IE 6]>
这段文字只在IE6浏览器显示
<![endif]-->
<!--[if gte IE 6]>
这段文字只在IE6以上(包括)浏览器显示
<![endif]-->
<!--[if ! IE 8]>
这段文字在非IE8浏览器不显示
<![endif]-->
<!--[if ! IE]>
this is a good browser
<![endif]-->
③IE7和IE6可读「*」(米字号),IE6又可以读「_」(下划线),但是IE7却无法读取「_」,至于Firefox(非IE浏览器)则完全无法辨识「*」和「_」,因此就可以透过这样的差异性来区分IE6、IE7、Firefox
3、列举几种 浏览器兼容问题
IE7以下不支持min/max-height/width
IE8以下不支持box-sizing
更多可以参考www.caniuse.com
4、针对兼容、多浏览器覆盖有什么看法?渐进增强和优雅降级是什么意思?
是否对一个浏览器兼容需要看浏览器的市场占有率,目标用户的使用浏览器占有率,多浏览器的显示差异有多大。
渐进增强——是指先写基础的样式,然后根据不同浏览器的特性追加样式。
优雅降级——是一开始就构建好完整的页面,然后针对不同浏览器进行调试,修复。
5、reset.css和normalize.css分别是做什么的?为什么推荐使用nomalize.css?
CSS Reset覆盖浏览器的CSS默认属性,将样式重置成相同的效果,且影响的范围很大,讲求跨浏览器的一致性。而Normalize.css注重通用的方案,保留有用的用户代理样式,同时也对一些bug进行了修复
Normalize.css对比CSS Reset
Normalize.css保留了有价值的默认样式
Normalize.css修复了常见bug
Normalize.css不会让调试工具变的杂乱
Normalize.css是模块化的
Normalize.css拥有详细的文档
6、IE盒模型和标准盒模型有什么区别? 怎样使 IE678使用标准盒模型?box-sizing:border-box有什么作用
①ie678怪异模式(不添加 doctype)使用 ie 盒模型,宽度=边框+padding+内容宽度
②chrome, ie9+, ie678(添加 doctype) 使用标准盒模型,宽度= 内容宽度
写上<!doctype HTML>就可以让IE6、IE7和IE8使用标准盒模型
box-sizing:border-box就是让写出来的参数宽高包括padding、border和content,也就是等于IE的怪异盒模型。
网友评论