在各个浏览器中实现圆角的较简单快速的方案是结合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>
完整的实例代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css3 border-radius兼容性</title> <style> /*2. 其次,定义以下样式*/ .roundedCorners,.roundedCorners2{ width:300px; height:200px; padding:10px; background-color:#ddeef6; border:1px solid #f30; margin:20px; -moz-border-radius: 6px; /* Firefox */ -webkit-border-radius: 6px; /* Safari 和 Chrome */ } </style> <!--1. 首先,引入curvycorners.js 文件--> <script src="js/curvycorners.js" type="text/javascript"></script> <!--3. 然后在上面的样式后面定义以下 js 代码--> <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 }; //如果想给不同的css类设置圆角属性,你可以执行多次代码,如下: curvyCorners(setting, ".roundedCorners"); curvyCorners(setting, ".roundedCorners2"); } </script> </head> <body> <div class="roundedCorners"></div> <div class="roundedCorners2"></div> </body> </html>