浏览器兼容

1.如何调试 IE 浏览器

  • IE7以上可以使用自带的开发者工具进行调试
  • IE7以下:border: 1px solid red;或者outline: 1px solid red;
  • 使用js调试

2.什么是CSS hack?在 CSS 和 HTML里如何写 hack?在 CSS 中 IE 7、IE 8的 hack 方式?

CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一厂商的浏览器的不同版本,如IE6和IE7,对CSS的解析认识不完全一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。
这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。 简单的说,CSS hack的目的就是使你的CSS代码兼容不同的浏览器。当然,我们也可以反过来利用CSS hack为不同版本的浏览器定制编写不同的CSS效果。

在 CSS 和 HTML里如何写 hack?

  • 属性前缀法:例如 IE6能识别下划线"_"和星号" *",IE7能识别星号"*",但不能识别下划线"_",IE6~IE10都认识"\9",但firefox前述三个都不能认识
  • 选择器前缀法(即选择器Hack):例如 IE6能识别html .class{},IE7能识别+html .class{}或者*:first-child+html .class{}
  • IE条件注释法(即HTML条件注释Hack):
    • 只在IE6下生效
  • 在非IE下生效
  • 在IE6以上生效
    ``

3.列举几种 浏览器兼容问题

  • IE6/7不支持inline-block
  • IE6不支持css3属性
  • :hover ie6及以下版本只支持在a元素上有效果

4.针对兼容、多浏览器覆盖有什么看法?渐进增强优雅降级是什么意思?

兼容问题:在开发网页的时候,由于各方面的原因,不可能做到所有的浏览器都兼容。所以我们要根据浏览器市场占有率,兼容主流、淘汰末流。兼容并不是一定要分毫不差的在每个浏览器都很好的实现,对于高级浏览器功能全开,提供最好的用户体验。对于低级浏览器页面展示效果可以降低标准,并建议提醒客户转至高级浏览器享受更好用户体验。

  • 渐进增强:先针对低版本浏览器构建页面,保证基本功能,再针对高级浏览器增加效果。
  • 优雅降级:先针对高版本浏览器构建页面,再针对低版本浏览器进行兼容。

5.reset.css和normalize.css分别是做什么的?为什么推荐用 nomalize.css?

首先,由于不同的浏览器或是浏览器的不同版本在支持和渲染页面时出现的差异,导致开发者需要进行浏览器的兼容。针对这一问题,网络的大牛们想方设法出不同的解决方案,reset.css和normalize.css这两种不同思路的解决兼容性问题的方案应运而生。

首先,由于不同的浏览器或是浏览器的不同版本在支持和渲染页面时出现的差异,导致开发者需要进行浏览器的兼容。针对这一问题,网络的大牛们想方设法出不同的解决方案,reset.css和normalize.css这两种不同思路的解决兼容性问题的方案应运而生。

此时,一种新的解决这一问题的思路诞生——normalize.css。normalize.css在保留有用的浏览器默认样式的基础上,为不同浏览器提供通用样式的规范,即给定通用的样式,针对不同浏览器出现的兼容性问题分门别类的提供优化方案。

6.IE盒模型和标准盒模型有什么区别? 怎样使 IE7、8使用标准盒模型?box-sizing:border-box有什么作用

IE盒模型:宽度=边框+内边距+内容
标准盒模型:宽度=内容宽度

怎样使 IE7、8使用标准盒模型?
>文档开头声明doctype
,IE就会开始标准模式
box-sizing:border-box有什么作用

让标准盒模型变为IE盒模型

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