浏览器兼容

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条件注释法

例如:






③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) 使用标准盒模型,宽度= 内容宽度

写上就可以让IE6、IE7和IE8使用标准盒模型

box-sizing:border-box就是让写出来的参数宽高包括padding、border和content,也就是等于IE的怪异盒模型。

你可能感兴趣的:(浏览器兼容)