ie8浏览器html圆角问题,css3 border-radius不支持IE8/IE7的四种解决方法

border-radius是css3的属性,因此比较早的浏览器是不会支持该属性的,如何才能实现border-radius兼容老版本的浏览器呢?

第一种方法:ie-css3.htc

我们可以使用网上提供的一个插件来解决这个问题。

第一步:下载.htc文件:下载

第二步:使用behavior通知浏览器调用脚本,代码如下:

box {

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

-webkit-border-radius: 15px; /* Safari 和 Chrome http://www.manongjc.com/article/1214.html */

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

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

}

第二种方法:DD_roundies实现圆角

DD_roundies下载地址:

DD_roundies.js:http://pan.baidu.com/s/1o68wluE

DD_roundies.min.js:http://pan.baidu.com/s/1jGqTwI6

实现代码:

http://www.manongjc.com/article/1214.html

DD_roundies.addRule('.test', '10px 10px', true);

第三种方法:SVG实现图片圆角效果

本处的实现原理适用于各种SVG规则的或不规则的图形。

SVG实现图片圆角关键是借助元素.

举个板栗,如果实现名为test.jpg的图片圆形效果,大小100px * 100px, 则SVG代码如下:

SVG圆角效果

图形元素都有一个fill属性,让其值url锚向的id就可以了。

第四种方法:Canvas实现图片圆角效果

本规则适用于各种Canvas绘制的规则或不规则图形。

Canvas实现图片圆角的关键是使用“纹理填充”。

Canvas中有个名为createPattern的方法,可以让已知尺寸的图片元素转换成纹理对象,作填充用。

举个板栗,如果实现名为test.jpg的图片圆形效果,大小100px * 100px, 则主要JS代码如下:

// canvas元素, 图片元素

var canvas = document.querySelector("#canvas"), image = new Image();

var context = canvas.getContext("2d");

image.onload = function() {

// 创建图片纹理 http://www.manongjc.com/article/1214.html

var pattern = context.createPattern(image, "no-repeat");

// 绘制一个圆

context.arc(50, 50, 50, 0, 2 * Math.PI);

// 填充绘制的圆

context.fillStyle = pattern;

context.fill();

};

image.src = "test.jpg";

让Canvas上下文的fillStyle属性值等于这个纹理对象就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值