提示:PIE.htc URL路径是相对于当前HTML文件,不是CSS文件.
比如 当前文件在“/”下 ,CSS文件在“/CSS”下,PIE.htc在“/CSS”下,behavior: url(/css/PIE.htc) 而不是behavior: url(PIE.htc);
一、border-radius 圆角
代码如下:
.radius{
border: 1px solid #696
padding: 60px 0
text-align: centerwidth: 200px
-webkit-border-radius: 8px
-moz-border-radius: 8px
border-radius: 8px
background: #EEFF99
behavior: url(/PIE.htc)/* 可以让IE 6,7,8模拟部分的CSS3属性 */
}
说明:不支持单边的圆角属性,比如: border-top-left-radius,但是你可以这样来写:
border-radius 圆角
代码如下:
border-radius: 5px 10px 15px 20px/*top-left, top-right, bottom-right, bottom-left*/
二、box-shadow 盒子阴影
代码如下:
border: 1px solid #696
padding: 60px 0
text-align: centerwidth: 200px
-webkit-box-shadow: #666 0px 2px 3px
-moz-box-shadow: #666 0px 2px 3px
box-shadow: #666 0px 2px 3px
background: #EEFF99
behavior: url(/PIE.htc)/* 可以让IE 6,7,8模拟部分的CSS3属性 */
说明:不支持text-shadow(文本阴影)
box-shadow 盒子阴影
三、border-image 图片边框
代码如下:
color: white
border: 8px solid #013D7A
-webkit-border-radius: 8px
-moz-border-radius: 8px
-webkit-border-image: url(img/border.png) 8 8 8 8 stretch
-moz-border-image: url(img/border.png) 8 8 8 8 stretch
border-image: url(img/border.png) 8 8 8 8 fill stretch
behavior: url(PIE.htc)
用到的图片:
border-image 图片边框
四、CSS3 Backgrounds 背景渐变
代码如下:
.gradient{
background: #CCC/*fallback for non-CSS3 browsers*/
background: -webkit-gradient(linear, 0 0, 0 100%, from(#CCC) to(#EEE))/*old webkit*/
background: -webkit-linear-gradient(#CCC, #EEE)/*new webkit*/
background: -moz-linear-gradient(#CCC, #EEE)/*gecko*/
background: -ms-linear-gradient(#CCC, #EEE)/*IE10*/
background: -o-linear-gradient(#CCC, #EEE)/*opera 11.10+*/
background: linear-gradient(#CCC, #EEE)/*future CSS3 browsers*/
-pie-background: linear-gradient(#CCC, #EEE)/*PIE*/
behavior: url(PIE.htc)
}
说明:只支持linear-gradient(线性渐变)
linear-gradient 线性渐变
高级运用:
代码如下:
background-size: 50px
background-color: #0ae
background-image: -webkit-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
background-image: -moz-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
background-image: -ms-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
background-image: -o-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
background-image: linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
-pie-background: linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent) 0 0 / 50px #0ae
behavior: url(/PIE.htc)
更多demo:
五、RGBA 颜色值
代码如下:
.rgba{
padding: 60px 0
background: #000
background: rgba(0,0,0,.2)
-pie-background: rgba(0,0,0,.2)
}
说明:不支持box-shadow
RGBA 颜色值
六、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)
}
说明:图片直接用-pie-png-fix: true,背景图片使用-pie-background来修复IE6下png透明的问题
ie有很多的版本,低于ie9是不支持html5的,ie9和以上的版本才支持html5;至于css3,一般也要ie9以上,但是有一些属性还是不能支持,要使用css3的某个属性的时候,最好还是到w3c查一查支持的浏览器。无法全部完美解决,如果能完美解决就不存在兼容这个概念了。有很多js可以让一些老版本ie支持css3特性,但只是针对性的,没有哪个js能解决所有css3兼容问题,所以想通过js来最大程度让低版本ie支持css3的多种特性的话,你得同时引用几十个js,这个是得不偿失的,并且他们之间有没冲突你也不知道。
不要试图去搞定兼容问题,应该学会适当的降级处理,当一个css3效果遇到低版本ie时,在保障内容能正确显示、阅读的情况下,让效果略为下降