任务11

作者: nicole914 | 来源:发表于2017-03-09 16:41 被阅读0次

什么是 CSS hack

由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果。这时,我们为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的CSS样式,我们把这个针对不同的浏览器/不同版本写相应的CSS code的过程,叫做CSS hack!

谈一谈浏览器兼容的思路

  • 要不要做
    产品的角度(产品的受众、受众的浏览器比例、效果优先还是基本功能优先)
    成本的角度 (有无必要做某件事)
  • 做到什么程度让
    哪些浏览器支持哪些效果
  • 如何做
    根据兼容需求选择技术框架/库(jquery)
    根据兼容需求选择兼容工具(html5shiv.js, respond.js, css reset, normalize.css, Modernizr)
    postCSS
    条件注释、CSS Hack、js 能力检测做一些修补

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

  • 条件注释
<!--[if IE 6]>
    <p>You are using Internet Explorer 6.</p>
<![endif]-->
.box{
  color: red;
  _color: blue; /*ie6*/
  *color: pink; /*ie67*/
  color: yellow\9;  /*ie/edge 6-8*/
}
.clearfix:after{
  content: '';
  display: block;
  clear: both;
}
.clearfix{
  *zoom: 1; /* 仅对ie67有效 */
}
  • 浏览器前缀
.boxshadow #MyContainer { 
border: none;
 -webkit-box-shadow: #666 1px 1px 1px;
 -moz-box-shadow: #666 1px 1px 1px;
} 
  • 使用Modernizr
<script src="Scripts/Modernizr.js" type="text/javascript"></script>

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

  • 条件注释
    于HTML源码中被IE有条件解释的语句。条件注释可被用来向IE提供及隐藏代码。
  • IE Hack
    为了兼容IE系列浏览器的CSS hack。
  • js 能力检测
    使用JS检测浏览器是否支持特定的功能来确定解决方案
  • html5shiv.js
    使用html5shiv.js,可以在IE9以下的浏览器中模拟HTML5分区元素的使用,并提供基本的样式。
  • respond.js
    Respond.js 是一个小脚本,用于为 IE6-8 以及其它不支持 CSS3 媒体查询功能的浏览器提供媒体查询的 min-width 和 max-width 特性,实现响应式网页设计。
  • css reset
    将浏览器的默认样式全部去掉。即通过重新定义标签样式,“覆盖”浏览器的CSS默认属性。
  • normalize.css
    normalize.css让不同的浏览器在渲染网页元素的时候形式更统一。normalize.css比CSS reset处理方式更温和,保留一些元素有用的默认样式,纠正错误和常见的浏览器的不一致性。
  • Modernizr
    Modernizr是一个JavaScript库,用来检测浏览器是否支持HTML5和CSS3特性,在根元素添加相应类名来实现浏览器兼容。
  • postCSS
    postCSS是一个后处理器,它提供了一个解析器,可以将CSS解析成抽象语法树,通过PostCSS这个平台,我们能够开发一些插件。
    它能解决的问题有:
    它能够为 CSS 提供额外的功能;
    通过在 PostCSS 这个平台上,我们能够开发一些插件,来处理我们的CSS,比如热门的:autoprefixer
    我们能够使用JavaScript来开发插件
    比如热门插件如autoprefixer,它可以帮我们处理兼容问题,只需写标准语法的CSS,autoprefixer可以帮我的自动生成兼容性代码

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

Can I use

相关文章

  • 任务11

    代码1非felx:http://js.jirengu.com/dowum/13代码1flex:http://js....

  • 任务11

    http://js.jirengu.com/diyew/1/edit?html,css,output http:/...

  • 任务11

    单栏flex写法 单栏inline-block写法 两栏float写法 两栏flex写法 三栏float写法 三栏...

  • 任务11

    第一题 http://js.jirengu.com/mekep第二题 http://js.jirengu.com/...

  • 任务11

    什么是 CSS hack 由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safar...

  • 任务11

    题目1: 下面的代码输出多少?修改代码让 fnArri 输出 i。使用 两种以上的方法 输出:10方法1创建立即执...

  • 任务11

    http://js.jirengu.com/rudulolapuhttp://js.jirengu.com/yec...

  • 任务11

    下面的代码输出多少?修改代码让 fnArr[i]() 输出 i。使用 两种以上的方法 输出i的两种方法: 封装一个...

  • 任务11

    1:http://js.jirengu.com/luwar/1/edit?html,css,output2:htt...

  • 任务11

    代码1: http://js.jirengu.com/jurigapoqo/1/代码2: http://js....

网友评论

      本文标题:任务11

      本文链接:https://www.haomeiwen.com/subject/xoougttx.html