万恶的IE内核浏览器,这是多少前端程序员头疼的事情。。。
今天给大家介绍一下如何用 PIE.htc 来让IE浏览器支持CSS3的
border-radiusbox-shadowCSS3 Backgrounds (-pie-background)GradientsRGBA属性。

会的朋友提供一下建议,不会的朋友学习一下。

下载地址:PIE.htc
官方网站:http://css3pie.com/
演示地址:http://css3pie.com/demos/gradient-patterns/

要使用 PIE 应用就要先把它引进来,这里不是在 html 文件里面引入,而是在 css 文件里面使用 behavior 来对文件进行导入。这里会涉及到一个路径的问题。比如 当前文件在“/”下 ,CSS文件在“/CSS”下,PIE.htc在“/CSS”下,behavior: url(/css/PIE.htc)而不是behavior: url(PIE.htc)

ps :PIE.htc URL路径是相对于当前HTML文件,不是CSS文件.

以下代码都是基于下面这段公共的样式进行编写:

div{text-align: center;border: 1px solid #204D74;width: 200px;height: 100px;line-height: 100px;}

1. border-radius 圆角

.borderRadius{
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
background: #ABCDEF;
behavior: url(css/PIE.htc);
}

ps :不支持单边的圆角属性,比如: border-top-left-radius,但是你可以这样来写:

.borderRadius{
border-radius: 0px 20px 0px 20px;
-webkit-border-radius: 0px 20px 0px 20px;
-moz-border-radius: 0px 20px 0px 20px;
background: #ABCDEF;
behavior: url(css/PIE.htc);
}

2 . box-shadow 盒子阴影

.boxShadow{
box-shadow: 10px 10px 10px #000;
-webkit-box-shadow: 10px 10px 10px #000;
background: #ABCDEF;
behavior: url(css/PIE.htc);
}

3 . CSS3 Backgrounds 背景渐变

.linearGradient{
background: -webkit-gradient(linear, 0 0, 0 100%, from(#0000FF) to(#ABCDEF)); /*old webkit*/
background: -webkit-linear-gradient(#0000FF, #ABCDEF); /*new webkit*/
background: -moz-linear-gradient(#0000FF, #ABCDEF); /*gecko*/
background: -ms-linear-gradient(#0000FF, #ABCDEF); /*IE10*/
background: -o-linear-gradient(#0000FF, #ABCDEF); /*opera 11.10+*/
background: linear-gradient(#0000FF, #ABCDEF); /*future CSS3 browsers*/
-pie-background: linear-gradient(#0000FF, #ABCDEF); /*PIE*/
behavior: url(css/PIE.htc);
}

ps :只支持linear-gradient(线性渐变)

4 . RGBA

.rgba{
background: rgba(0,0,0,.6);
-pie-background: rgba(0,0,0,.6);
      /*黑色背景,透明值为60*/
behavior: url(css/PIE.htc);
}

ps:不支持box-shadow

5 . IE6 下的 png 图片的透明问题

.png img{
-pie-png-fix: true;
behavior: url(/PIE.htc);
}
.png{
background-image:url(img.png);
-pie-background:url(img.png);
behavior: url(/PIE.htc);
}

ps:图片直接用-pie-png-fix: true,背景图片使用-pie-background来修复IE6下png透明的问题

由于我这边没有IE6内核的浏览器,所以这个就无法测试给大家看了,要是有兴趣的可以自己试试看。不过我觉得这个也没有那么重要了,毕竟IE6基本都被舍弃了,现在很多公司最旧的版本也就兼容到IE7,再老的就变成老古董了。

6 . background-size 背景包含

.backgroundSize{
background:#ABCDEF url(wait.png) center no-repeat;
background-size: contain;
/*behavior: url(css/backgroundsize.min.htc);*/
behavior: url(css/backgroundsize.min.htc);
}

框框的宽高的是200x100,图片的宽高是180x180,这样图片的高就超过了框的边界,如果使用背景图片就要使用到background-size来让背景图片被包含,但是IE9以下是不支持的。

以上的是我暂时对PIE的用法的一个理解,要是有更多的用法,请给我留言!
如有更多知识,会继续补充!

使用PIE.htc让万恶的IE内核浏览器IE6\7\8支持CSS3部分属性的更多相关文章

  1. X5 内核浏览器对json格式支持的一个小区别

    var json1 = { "data": [{ "type": "pic", "filename": "P6 ...

  2. 让 IE6, 7和 8支持CSS3的HTC文件补丁

    让 IE6, 7和 8支持CSS3 IE6,7并不支持CSS3的属性,IE8也不能很好的支持CSS3.但是有一个小脚本能够做到,它可以让IE支持CSS3,包括:border-radius (round ...

  3. IE6下完美兼容css3圆角和阴影属性的htc插件PIE.htc

    1.(推荐:)css插件PIE.htc,这个才是真正完美兼容css3的圆角和阴影属性在IE6环境下使用的效果,但要注意的是:下面的代码必须写在html文件的head标签内,否则无效(不能从外部引用下面 ...

  4. pie.htc 在IE下不起作用~~~

    一直用的IE11 然后选择其中的兼容模式来测试IE 7~10的情况. 最近由于客户要求 圆角阴影兼容IE,只能选择PIE.HTC的方案. 但是反复测试发现不起作用. 官方文档的几种说明: 1. pie ...

  5. 使用pie.htc时Border-radius的兼容

    如果一个图层中(navin)使用了pie.htc来对ie6,7,8进行兼容,如若上一层(navwrap)的样式中有背景的属性,则此层 (navin) 在ie6,7,8中背景颜色不显示.如下图:此部分的 ...

  6. IE8 兼容CSS3 使用 PIE.htc

    在需要的标签中 div { border:; border-bottom: 10px solid transparent; border-image: url(../images/border-img ...

  7. PIE.htc的使用

    文件下载:http://css3pie.com/download/ 使用: .pie_radius{ width:200px; height:200px; background-color:red; ...

  8. 使用PIE.htc 进行IE兼容CSS3

    步骤: 1.引入文件.注意PIE.htc文件和css文件要放在同一个目录下: 2.在css元素中加上  behavior:url(pie.htc); 3.可以愉快的写css hack啦 ,这时需要的圆 ...

  9. PIE使IE浏览器支持CSS3属性(圆角、阴影、渐变)

    http://www.360doc.com/content/12/1214/09/11181348_253939277.shtml PIE使IE浏览器支持CSS3属性(圆角.阴影.渐变) 2012-1 ...

随机推荐

  1. PAT 1044. Shopping in Mars

    #include <cstdio> #include <cstdlib> #include <vector> #include <climits> #i ...

  2. 【Android】13.0 UI开发(四)——列表控件RecyclerView的横向布局排列实现

    1.0 新建项目,由于ListView的局限性,RecyclerView是一种很好取代ListView的控件,可以灵活实现多种布局. 2.0 新建项目RecyclerviewTest,目录如下: 3. ...

  3. 微信小程序中使用wxParse展示HTML内容

    wxParse的GitHub地址:https://github.com/icindy/wxParse 一.数据内容: 请求地址:https://m.quanchepin.com/index.php?a ...

  4. 扩展运算符&reset运算符

    扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值 var foo = function(a, b, c) { console.log(a); console.log(b); ...

  5. input框中如何添加搜索

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Spark企业级应用开发和调优

    1.Spark企业级应用开发和调优 Spark项目编程优化历程记录,主要介绍了Spark企业级别的开发过程中面临的问题和调优方法.包含合理分配分片,避免计算中间结果(大数据量)的collect,合理使 ...

  7. <Android 应用 之路> 百度地图API使用(1)

    简介 详情请看百度地图官方网站 http://lbsyun.baidu.com/index.php?title=androidsdk/guide/introduction 使用方式 申请密钥,针对移动 ...

  8. 如何优雅地使用Markdown (Sublime 3 + MarkdownEditing+OmniMarkupPreviewer)

    最近开始上手Sublime 3 作为Markdown 的重度使用者自然关于Markdown的插件是必不可少的 . 在这里记录分享一下我常用的两款Markdown插件. MarkdownEditing ...

  9. 使用原生的javascript来实现轮播图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Linux ->> Ubuntu 14.04 LTE下安装JDK 1.8

    先到Oracle官网的下载中心下载JDK8的tar包到本地. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-dow ...