如何让IE7,8支持CSS3圆角的方法

html-css015

如何让IE7,8支持CSS3圆角的方法,第1张

css3的border-radius在IE7和8是不兼容的,即无效,那么如果要IE8及以下版本的浏览器兼容圆角,只能用图片来实现。即做一张圆角效果的图片,然后通过这张图片来实现圆角效果。

1、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: center width: 200px

-webkit-border-radius: 8px

-moz-border-radius: 8px

border-radius: 8px

background: #EEFF99

behavior: url(/PIE.htc) 

}

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

border-radius 圆角

border-radius: 5px 10px 15px 20px 

2、box-shadow 盒子阴影

复制代码

border: 1px solid #696

padding: 60px 0

text-align: center width: 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)

复制代码

说明:不支持text-shadow(文本阴影)

box-shadow 盒子阴影

3、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 图片边框

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透明的问题

PIE.htc下载: download

解决IE浏览器部分版本不支持background-size属性问题

ie6,ie7,ie8下对css background-size并不支持,导致不可以控制背景图片的大小样式。那么如何在ie下兼容background-size呢?

让背景图片完全填充div

在css中添加如下代码:

div.a{

width: 1440px

height: 667px

background:url(slide-bg.jpg) top left no-repeat

-ms-background-size:cover

background-size:cover

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(

src='slide-bg.jpg',

sizingMethod='scale')

}

一、只能同时4角圆角,不能单独设置;

二、div上可以正常使用,测试text文本框,会出现异常;

三、CSS文件要和页面在同一目录下,否则无效

四、当前元素一定要有定位属性,像是position:relative或是position:absolute属性。

五、z-index值一定要比周围元素的要高,否则……只能说抱歉了~~

实例:

box {

  -moz-border-radius: 15px /* Firefox */

  -webkit-border-radius: 15px /* Safari 和 Chrome */

  border-radius: 15px /* Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 */

 

  -moz-box-shadow: 10px 10px 20px #000 /* Firefox */

  -webkit-box-shadow: 10px 10px 20px #000 /* Safari 和 Chrome */

  box-shadow: 10px 10px 20px #000 /* Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 */

  behavior: url(ie-css3.htc) /* 通知IE浏览器调用脚本作用于'box'类 */

}

范围:IE7以上支持

建议:不要考虑兼容IE圆角了,现在大多网站根本不管IE的css3属性,牺牲小部分用户部分体验,满足大部分用户才是明智之举。还有css3.htc这个文件其实里面就是js写的,对浏览器性能影响太大了,所以真心不建议你用。