兼容所有浏览器的CSS3圆角

原文: 兼容所有浏览器的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一下)。你有更好更简单的方案吗?欢
迎留言给我们,多谢!