[散分]CSS3 border-radius圆角的优雅实现

飘零雾雨 2010-07-22 04:58:02
转载请注明出处:css探索之旅;本文地址:CSS3 border-radius圆角的优雅实现

  在css3尚未真正普及前,我们要实现圆角效果,还是需要颇费苦心的。一方面需要照顾还占有强势地位的低版本IE用户群,另一方面由于css3 目前还属草案阶段,有些浏览器暂且以私有属性的方式去实现css3的一些东西。如目前的Firefox3.6.6实现圆角,就必须使用私有属性-moz-border-radius。

  所有的这些,让我们看到,圆角的标准化实现目前还处理尤抱琵琶半遮面的阶段。不过,曙光已现,只待w3c加快推进css3的进程和IE9或更高版本IE的推出。

  到那时,至于还在使用低版本IE的用户,你或许可以强势点,不兼顾这个群体;又或许你可以采取优雅降级的方式,给低版本IE用户一个“普通版”;再不然,你也可以单独为低版本IE另做一份。相信可以找到一个适合你的处理方式。

  这是闲话,点到即止。接下来,还是让我们来看看标准化的圆角实现。DEMO:css3 border-radius圆角详解

  首先,我们要知道css3的圆角属性为:border-radius,其次还需了解一个矩形有4个角,也就是说,我们可以一一给每个角设置是否具有圆角属性。

  border-radius最多可以设置4个值,分别是矩形4个圆角的半径。你可以如以下这般设置:

1. border-radius:10px

你可以只设置1个值,其表达的是说当前设置这个属性的元素,四个角都为圆角,且每个圆角的半径都为10px。当四个圆角的大小相同时,会这样设置。
2. border-radius:10px 5px

你也可以设置为2个值,第1个值代表左上圆角和右下圆角,第2个值代表右上圆角和左下圆角。当左上圆角和右下圆角大小相同,且右上圆角和左下圆角大小相同时,会这样设置。
3. border-radius:10px 5px 1px

你也可以设置为3个值,第1个值代表左上圆角,第2个值代表右上圆角和左下圆角,第3个值代表右下圆角。当左上圆角和右下圆角大小不同,且右上圆角和左下圆角大小相同时,会这样设置。
4. border-radius:10px 9px 8px 7px

你也可以将4个值分别设置,它们代表:左上圆角,右上圆角,右下圆角,左下圆角。当4个圆角的大小不同时,会这样设置。

  当然,你也可以将4个角拆分成4个单独的属性来设置:

1. 左上圆角:border-top-left-radius
2. 右上圆角:border-top-right-radius
3. 右下圆角:border-bottom-right-radius
4. 左下圆角:border-bottom-left-radius

  以上这些都属于css3圆角实现的标准属性,Chrome5 and Later, Safari5 and Later, Opera10.53 and Later都已支持,在当前Firefox3.6.6版本下,依然需要私有属性来实现。

  Firefox实现圆角的私有属性分别为:

1. 全圆角:-moz-border-radius
2. 左上圆角:-moz-border-radius-topleft
3. 右上圆角:-moz-border-radius-topright
4. 右下圆角:-moz-border-radius-bottomright
5. 左下圆角:-moz-border-radius-bottomleft

  相对于使用背景图片及多标记1个像素1个像素的叠加实现,css3的圆角实现,显得那么雅致,让我们一起期待css3一统的那天吧。
...全文
543 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
抱抱我的小猫 2010-07-29
  • 打赏
  • 举报
回复
暂时用不上,纯帮顶
zhang_2007 2010-07-29
  • 打赏
  • 举报
回复
一直在找,终于让我找到了!
tangcheng_ok 2010-07-27
  • 打赏
  • 举报
回复
好,期待中
亚丁号 2010-07-26
  • 打赏
  • 举报
回复
同意 在次希望 希望HTML5统一天下
漫漫2009 2010-07-26
  • 打赏
  • 举报
回复
JF~
dalmeeme 2010-07-25
  • 打赏
  • 举报
回复
顶,接分。
Yushangyuan 2010-07-25
  • 打赏
  • 举报
回复
搜骨 学学
huangyunzeng2008 2010-07-25
  • 打赏
  • 举报
回复
提前学习了!
BriskJJ 2010-07-25
  • 打赏
  • 举报
回复
jf--------------------jf
cqzs632 2010-07-25
  • 打赏
  • 举报
回复
jf~~jf~~
街头小贩 2010-07-25
  • 打赏
  • 举报
回复
新手接分帮顶
css基地 2010-07-25
  • 打赏
  • 举报
回复
我在做网站的时候用过了,可是IE8都不支持,真的期待IE9能实现!
ihefe 2010-07-25
  • 打赏
  • 举报
回复
这个 http://blog.doyoe.com/ 我一直关注 ,谢谢LZ
kongwu525 2010-07-24
  • 打赏
  • 举报
回复
应该好用吧
ghost9928 2010-07-24
  • 打赏
  • 举报
回复
现在主流的IE浏览器还不支持。。。所以。。。

可使用一些其他的的技术来制作。。。
黎某人 2010-07-23
  • 打赏
  • 举报
回复
圆角一直是一个让人很头疼的问题,还有万恶的IE6等低版本浏览器,扯远了还是盗版XP光盘的问题
fanercute 2010-07-23
  • 打赏
  • 举报
回复
我要接分 接分~~
楼主 加油 顶你~~
分... O(∩_∩)O
healer_kx 2010-07-23
  • 打赏
  • 举报
回复
接分,一般来说我就是 -mozlila-border-radius webkit-border-radius,然后IE就不管了。
期待统一~
chuangda1 2010-07-23
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
接堆分爽爽.
提到这个圆角的问题,不由得让人想到,目前的浏览器还真是有很多欠债的功能没有实现.相对目前其它多媒体技术来说,落后的程度是天壤之别.
加载更多回复(9)

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧