使用PIE.htc让万恶的IE内核浏览器IE6\7\8支持CSS3部分属性
今天给大家介绍一下如何用 PIE.htc 来让IE浏览器支持CSS3的
border-radius、box-shadow、CSS3 Backgrounds (-pie-background)、Gradients、RGBA属性。会的朋友提供一下建议,不会的朋友学习一下。
下载地址: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.htc让万恶的IE内核浏览器IE6\7\8支持CSS3部分属性的更多相关文章
- X5 内核浏览器对json格式支持的一个小区别
var json1 = { "data": [{ "type": "pic", "filename": "P6 ...
- 让 IE6, 7和 8支持CSS3的HTC文件补丁
让 IE6, 7和 8支持CSS3 IE6,7并不支持CSS3的属性,IE8也不能很好的支持CSS3.但是有一个小脚本能够做到,它可以让IE支持CSS3,包括:border-radius (round ...
- IE6下完美兼容css3圆角和阴影属性的htc插件PIE.htc
1.(推荐:)css插件PIE.htc,这个才是真正完美兼容css3的圆角和阴影属性在IE6环境下使用的效果,但要注意的是:下面的代码必须写在html文件的head标签内,否则无效(不能从外部引用下面 ...
- pie.htc 在IE下不起作用~~~
一直用的IE11 然后选择其中的兼容模式来测试IE 7~10的情况. 最近由于客户要求 圆角阴影兼容IE,只能选择PIE.HTC的方案. 但是反复测试发现不起作用. 官方文档的几种说明: 1. pie ...
- 使用pie.htc时Border-radius的兼容
如果一个图层中(navin)使用了pie.htc来对ie6,7,8进行兼容,如若上一层(navwrap)的样式中有背景的属性,则此层 (navin) 在ie6,7,8中背景颜色不显示.如下图:此部分的 ...
- IE8 兼容CSS3 使用 PIE.htc
在需要的标签中 div { border:; border-bottom: 10px solid transparent; border-image: url(../images/border-img ...
- PIE.htc的使用
文件下载:http://css3pie.com/download/ 使用: .pie_radius{ width:200px; height:200px; background-color:red; ...
- 使用PIE.htc 进行IE兼容CSS3
步骤: 1.引入文件.注意PIE.htc文件和css文件要放在同一个目录下: 2.在css元素中加上 behavior:url(pie.htc); 3.可以愉快的写css hack啦 ,这时需要的圆 ...
- PIE使IE浏览器支持CSS3属性(圆角、阴影、渐变)
http://www.360doc.com/content/12/1214/09/11181348_253939277.shtml PIE使IE浏览器支持CSS3属性(圆角.阴影.渐变) 2012-1 ...
随机推荐
- 用一个小例子来谈谈javascript的运行机制
先上例子! <script type="text/javascript"> console.log('博'); setTimeout(function(){ conso ...
- IDEA 自动生成serialVersionUID
场景:刚转到用IDEA,因为需要生成serialVersionUID,并没有自动生成. 转自:http://blog.csdn.net/liuzongl2012/article/details/451 ...
- Oracle中创建Job实现自动插入值操作
在PL/SQL Developer中创建Job --临时测试表 create table test_job ( id ), c_date date ); --临时序列 create sequence ...
- memset用法详解
原文:http://www.cnblogs.com/PegasusWang/archive/2013/01/20/2868824.html 1.void *memset(void *s,int c,s ...
- Python爬虫编程常见问题解决方法
Python爬虫编程常见问题解决方法: 1.通用的解决方案: [按住Ctrl键不送松],同时用鼠标点击[方法名],查看文档 2.TypeError: POST data should be bytes ...
- Log4net (Log for .net)
Log4net (Log for .net) 开源的记录日志的组件,是从java的Log4J移植到.net 日志文件存放的位置 在项目新建“App_Code”和“App_Data”,该文件夹客户端无法 ...
- https填坑之旅
Boss说,我们买了个权威证书,不如做全站式的https吧,让用户打开主页就能看到受信任的绿标.于是我们就开始了填坑之旅. [只上主域好不好?] 不好...console会报出一大堆warning因为 ...
- ptyhon class定制方法
__iter__ 如果一个类想被用于for ... in循环.须实现一个__iter__()方法,该方法返回一个迭代对象,然后,Python的for循环就会不断调用该迭代对象的__next__() ...
- 【Asp.Net MVC】asp.net mvc Model验证总结及常用正则表达式
转自:http://www.cnblogs.com/easy5weikai/p/3843131.html 关于Model验证官方资料: http://msdn.microsoft.com/zh-cn/ ...
- Linux 命令行 发送邮件
1.mail -s hi xx@yy.com 给xx@yy.com发一封主题为hi的信(没有正文) 编辑完内容后Ctrl-D结束. 2.echo "This is a test mail!& ...