任务13-浏览器兼容

2017-02-18  本文已影响22人  mint9602

1.如何调试 IE 浏览器?

  1. IE浏览器7+自带的开发者工具,IE6可以采用border的方法或是下载virtural IE6进行辅助开发
  2. 采用模拟器的方式去模拟不同版本下的IE浏览器,如IEtester或chrome的付费插件Test IE
  3. 通过安装虚拟机的方式,安装不同版本的IE的运行环境去达到调试IE浏览器的目的

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

.box{
color:red; /* for all browsers */
_color:black; /*  for ie6 */
*color:green;  /* for ie6~7 */
color:pink\9;  /*  for ie6~10 */
}

选择器前缀法:

*body{
/* only for ie6 */
}
*+p{
/*  for ie7 */
}
@media screen\9{
}
div{
/*   for ie6~7 */
}

ie cc:

<!--[if IE]>
这段文字只在IE浏览器显示
<![endif]-->
<!--[if IE 6]>
这段文字只在IE6显示
<![endif]-->
<!--[if gte IE 6]>
这段文字只在IE6以上(包括)版本显示
<![endif]-->
<!--[if lt IE 6]>
这段文字只在IE6以下(不包括)版本显示
<![endif]-->
<!--[if !IE]>
这段文字只在非IE浏览器显示
<![endif]-->
属性前缀法:
.box{
_color:black; /*  for ie6 */
}
选择器前缀法:
*body{
margin:0;
}
条件注释法:
<head>
<!--[if IE 6]>
<body class="ie6">
<![endif]-->
</head>
- ie7
选择器前缀法:
*+body{
margin:0;
}
条件注释法:
<head>
<!--[if IE 7]>
<body class="ie7">
<![endif]-->
</head>
- ie6~7
  属性前缀法:
.box{
*color:black; /*  for ie6~7 */
}
选择器前缀法:
@media body\9{
margin:0;
}
条件注释法:
<head>
<!--[if IE lte 7]>
<body class="ie6 ie7">
<![endif]-->
</head>

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

selector{
filter:alpha(opacity=50); /* for IE*/
-moz-opacity:0.5;  /*for old versions of the Mozilla browsers*/
-khtml-opacity: 0.5;  /* for old versions of Safari*/
opacity: 0.5;
}
/* 最小宽度 */
.min_width{ 
min-width:300px; _width:expression(parseInt(this.clientWidth) < 300 ? "300px" : this.clientWidth);
}
/* 最大宽度 */
.max_width{ 
max-width:600px; _width:expression(parseInt(this.clientWidth) > 600 ? "600px" : this.clientWidth);
}

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

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

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

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

  1. IE盒模型:width=border+padding+content。
    W3C盒模型:width=content.
  2. IE678使用标准盒模型:
    在html最前面添加<!DOCTYPE html>声明。
  3. box-sizing:border-box作用:
    使盒模型设定成IE盒模型的方式来计算宽度。
上一篇下一篇

猜你喜欢

热点阅读