浏览器兼容

2017-11-15  本文已影响0人  gigi1226

1.什么是 CSS hack

不同的浏览器对css有不同的解释行为,这样就会出现不兼容的问题,简单的说,css hack指各版本及各品牌浏览器之间对css解释后,出现网页内容的误差的处理,即对于浏览器不兼容性的处理。
CSS Hack大致有三种表现形式,css内部hack,选择器hack以及以及HTML头部引用(if IE)Hack。实际项目中CSS Hack大部分是针对IE浏览器不同版本之间的表现差异而引入的。

2. 谈一谈浏览器兼容的思路

关于浏览器兼容性,主要是讨论三个大问题

  1. 要不要做
  1. 如果确定做那要做到什么程度,让哪些浏览器支持哪些效果
  2. 如果做,那么根据需求要选择什么技术框架、兼容工具,后期修补等问题

3.列举5种以上浏览器兼容的写法

.clearfix:after{
  content: '';
  display: block;
  clear: both;
}
.clearfix{
  *zoom: 1; /* 仅对ie67有效 */
}

2.inline-block

.target{
   display: inline-block;
  *display: inline;
  *zoom: 1;
}

3.html5shiv、respond

小于ie9这个脚本就生效
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!DOCTYPE html>
<!--[if IEMobile 7 ]> <html dir="ltr" lang="en-US"class="no-js iem7"> <![endif]-->
<!--[if lt IE 7 ]> <html dir="ltr" lang="en-US" class="no-js ie6 oldie"> <![endif]-->
<!--[if IE 7 ]> <html dir="ltr" lang="en-US" class="no-js ie7 oldie"> <![endif]-->
<!--[if IE 8 ]> <html dir="ltr" lang="en-US" class="no-js ie8 oldie"> <![endif]-->
<!--[if (gte IE 9)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html dir="ltr" lang="en-US" class="no-js"><!--<![endif]-->

4.属性前缀

.box{
   color: red;
  _color: blue; /*ie6*/
  *color: pink; /*ie67*/
   color: yellow\9;  /*ie/edge 6-8*/
}

5.条件注释

<!–-[if IE 7]>
<link rel="stylesheet" href="ie7.css" type="text/css" />
<![endif]–->

4.以下工具/名词是做什么的

5. 一般在哪个网站查询属性兼容性?

http://caniuse.com/

上一篇下一篇

猜你喜欢

热点阅读