兼容所有浏览器的CSS3圆角[译]

作者:神采飞扬 来源:前端观察 时间:2009-10-13 21:11:00 

译序:本文提到了一种很不错的实现跨浏览器圆角的解决方案,但是说的不够全面,前端观察最近将整理更多更全面的资源给大家,敬请期待。

前一段时间,我经常收到一个关于如何在IE浏览器中使用CSS3的border-radius属性实现圆角HTML元素的问题。你或许知道CSS3的border-radius 属性被Safari、Firefox和Chrome等浏览器原生支持,但是由于某些原因IE并不支持它。


那么要想在IE中实现圆角,你不得不使用一些技巧,比如使用带有背景图片的CSS类(看一下这篇文章)。

而我知道的在各个浏览器中实现圆角的较简单快速的方案是结合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类(例如roundedCornersroundedCorners_1roundedCorners_2等)你可以像这样在前面的代码中定义:



...curvyCorners(setting, ".roundedCorners");curvyCorners(setting, ".roundedCorners_1");curvyCorners(setting, ".roundedCorners_2");...

HTML代码如下:

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

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

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

感兴趣的童鞋可以下载源码

原文: 兼容所有浏览器的CSS3圆角

译自: CSS3 rounded corners for every browser?

标签:圆角,css,浏览器
0
投稿

猜你喜欢

  • 带你深入了解Access数据库的4种安全方式

    2008-11-28 14:34:00
  • OverFlow – 一个秘密武器

    2010-09-25 12:51:00
  • asp如何读取Access数据库的表名?

    2009-11-18 20:48:00
  • SQL Server 2005恢复Master库

    2011-05-16 13:11:00
  • chr()函数参照表 chr13 chr10 chr34

    2009-09-03 13:22:00
  • Asp中Server.ScriptTimeOut脚本超时属性需要注意的一点

    2008-10-18 14:53:00
  • 实例剖析:MySQL数据库优化详解

    2008-11-22 12:19:00
  • 在ASP中使用SQL语句之8:随机数的用法

    2007-08-11 13:15:00
  • Request.ServerVariables("HTTP_REFERER")的用法

    2008-06-19 13:33:00
  • EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页

    2011-04-08 10:40:00
  • Facebook是如何设计的[译]

    2009-09-17 13:10:00
  • ASP中数据库调用中常见错误的现象和解决

    2007-09-20 13:24:00
  • 一个asp伪静态的程序实现方法

    2010-06-28 18:56:00
  • asp连接mysql数据库详细实现代码

    2012-12-04 19:56:39
  • MySQL 定时器EVENT学习

    2010-10-14 13:55:00
  • js三维正方体(兼容ie/ff)

    2008-04-12 14:38:00
  • 最大限度优化你的Asp性能

    2007-10-01 18:04:00
  • 新年伊始,看各大网站新春LOGO

    2009-01-01 19:35:00
  • ie8下ewebeditor无效的解决办法

    2010-02-28 10:31:00
  • 再谈动态添加样式规则

    2009-09-02 13:10:00
  • asp之家 网络编程 m.aspxhome.com