Sym - 一个用 Java 实现的现代化社区平台 • 源码 • 注册

Pipe - 小而美的开源博客平台 • 体验 • 皮肤
Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载 
Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

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


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步