您的位置:首页 > Web前端 > CSS

兼容所有浏览器的CSS3圆角

2012-03-09 00:00 501 查看
原文: 兼容所有浏览器的CSS3圆角
译自: CSS3 rounded corners for every browser?

在各个浏览器中实现圆角的较简单快速的方案是结合CSS3和JavaScript。

CurvyCorners 是一个为HTML元素创建漂亮的圆角的免费JavaScript库。效果如下:



该脚本的最大优势是可以在Safari/Chrome/Firefox中使用原生的CSS3属性(通过-webkit-border-radius-moz-border-radius 私有属性分别支持)而在IE和Opera中使用JavaScript。

你所需要做的就是在页面中引入curvycorners.js :

<script type=
"text/javascript"
src=
"curvycorners.js"
></script>

然后定义以下样式:

.roundedCorners{

width
:
220px
;

padding
:
10px
;

background-color :
#DDEEF6
;

border
:
1px solid #DDEEF6
;

/* Do rounding (native in Safari, Firefox and Chrome) */

-webkit-border-radius
:
6px
;

-moz-border-radius
:
6px
;

}

然后在上面的样式后面定义以下代码:

<script type=
"text/JavaScript"
>

addEvent
(
window
,
'load'
, initCorners
);

function initCorners
() {

var setting
=
{

tl
:
{ radius:
6
},

tr
:
{ radius:
6
},

bl
:
{ radius:
6
},

br
:
{ radius:
6
},

antiAlias
:
true

}

curvyCorners
( setting,
".roundedCorners"
);

}

</script>

tl , tr , bl , br 分别是:左上角(top-left)、右上角(top-right)、左下角(bottom-left)、右下角(bottom-right)。

如果你有不同的CSS类(例如roundedCorners 、roundedCorners_1 、roundedCorners_2 等)你可以像这样在前面的代码中定义:

...

curvyCorners(
setting, ".roundedCorners"
);

curvyCorners(
setting, ".roundedCorners_1"
);

curvyCorners(
setting, ".roundedCorners_2"
);

...


HTML代码如下:

<div class=
"roundedCorners"
> </div>

这就是在各个浏览器中的效果:



我认为这的确是在各个浏览器中比较简单和快速的实现CSS3圆角的一种方案。但是,如果js脚本被浏览器禁用了怎么办?最靠谱的方案还是使用额外的 使用背景图片的CSS类来实现,或者使用额外的空白标签(Google统计中使用的方法,没有遇到的可以Google一下)。你有更好更简单的方案吗?欢 迎留言给我们,多谢!

$(document).ready(function(){dp.SyntaxHighlighter.HighlightAll('code');});

原文链接:
http://blog.csdn.net/vanessa219/article/details/4644539
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: