任务11

什么是 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 什么是 CSS hack 由于不同厂商的浏览器,比如Internet Explorer,Safari,Moz...
    andreaxiang阅读 629评论 0 5
  • 什么是 CSS hack CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safar...
    GaoYangTongXue丶阅读 137评论 1 0
  • 什么是CSS hack CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safari...
    尾巴尾巴尾巴阅读 804评论 0 0
  • 之所以会看《淡淡》是因为被乐嘉老师写的文字吸引了,一开篇就说,这本书有三分之一是写医患关系的,你也可以把它当做一...
    余七青阅读 267评论 0 0
  • 一年过去了,却忘记了当初对这一年的期待,还没有认真的过好一天,却在生命里又重复的过了三百多天 当我想要改变的时候,...
    mo莫墨阅读 200评论 0 1