CSS3:border-radius

定义和用法

border-radius 属性是一个简写属性,用于设置四个 border-*-radius 属性。如下所示:

border-top-left-radius
border-top-right-radius
border-bottom-right-radius
border-bottom-left-radius


如果我们传给它四个值, 这四个值就会被分别 从左上角开始以顺时针顺序应用到元素的各个拐角;

如果只提供了三个值, 则意味着第四个值与第二值相同; 

如果只有两个值, 则意味着第三个值与第一个相同;

我们甚至可以为所有四个角提供完全不同的水平和垂直半径, 方法是在斜杠前指定 1~4 个值, 在斜杠后指定另外 1~4 个值;举例来说, 当 border-radius 的值为10px / 5px 20px 时, 其效果相当于 10px 10px 10px 10px / 5px 20px 5px 20px。


语法

border-radius: 1-4 length|% / 1-4 length|%;

注释:按此顺序设置每个 radius 的四个值,斜杠/左侧表示指定圆角的水平半径,斜杠/右侧表示指定圆角的垂直半径;

若斜杠/前后的两个值一致时(即水平半径和垂直半径相等时,此时画的圆角是正圆而不是椭圆),斜杠/符号可以省略

border-radius: 2em 2em 2em 2em / 2em 2em 2em 2em; 

等价于border-radius: 2em / 2em ;

等价于border-radius: 2em ;

例子 1

border-radius:2em;

等价于:

border-top-left-radius:2em;
border-top-right-radius:2em;
border-bottom-right-radius:2em;
border-bottom-left-radius:2em;

(左上、右上、右下、左下四个圆角的radius都是只有一个值2em,表示的是正圆)

例子 2

border-radius: 2em 1em 4em / 0.5em 3em;

等价于:

border-radius: 2em 1em 4em 1em/ 0.5em 3em 0.5em 3em;


等价于:
border-top-left-radius: 2em 0.5em;
border-top-right-radius: 1em 3em;
border-bottom-right-radius: 4em 0.5em;
border-bottom-left-radius: 1em 3em;

(其中,border-top-left-radius:2em 0.5em表示左上角的圆角是1/4个椭圆,椭圆的水平半径为2em,垂直半径为0.5em)





如何使用border-radius属性

下面是border-radius属性最基本的使用方法。

.round {
	border-radius: 5px; /* 所有角都使用半径为5px的圆角,此属性为CSS3标准属性 */
	-moz-border-radius: 5px; /* Mozilla浏览器的私有属性 */
	-webkit-border-radius: 5px; /* Webkit浏览器的私有属性 */
	border-radius: 5px 4px 3px 2px; /* 四个半径值分别是左上角、右上角、右下角和左下角 */
}

  

关于在IE里怎么实现圆角,可以看《Excellent Article Which Included Ways to Achieve Rounded Corners in IE》这篇文章。

1.用border-radius画圆

实心圆

CSS3圆

如图,是用border-radius属性画出来的一个完美的实心圆。画实心圆的方法是高度和宽度相等,并且把border的宽度设为高度和宽度的一半。代码如下。

#circle {
	width: 200px;
	height: 200px;
	background-color: #a72525;
	-webkit-border-radius: 100px;
}

   
空心圆

CSS3空心圆

通过border-radius属性画空心圆和画实心圆的方法差不多,只是border的宽度只能小于高度和宽度的一半。代码如下。

#circle {
	width: 200px;
	height: 200px;
	background-color: #efefef; /* Can be set to transparent */
      	border: 3px #a72525 solid;
	-webkit-border-radius: 100px;
}

 
 
 
虚线圆

CSS3虚线圆

#circle {
	width: 200px;
	height: 200px;
	background-color: #efefef; /* Can be set to transparent */
      	border: 3px #a72525 dashed;
	-webkit-border-radius: 100px 100px 100px 100px;
}


2.半圆和四分之一圆

半圆

CSS3半圆

以本例来讲,半圆的画法是把宽度设为高度的一半,并且也只设置左上角和左下角的半径。代码如下。

#quartercircle {
	width: 200px;
	height: 200px;
	background-color: #a72525;
	-webkit-border-radius: 100px 0 0 100px;
}

  
四分之一圆

CSS3四分之一圆

四分之一圆的实现方法是把高度和宽度设置为相等,只设置一个圆角,其半径等于高度或宽度。本例代码如下。

#quartercircle {
	width: 200px;
	height: 200px;
	background-color: #a72525;
	-webkit-border-radius: 200px 0 0 0;
}

  

更多玩法

看了这么多实例后,你完全可以自己创造更多玩法,如:

semiquarter.jpg

虚线的半圆和四分之一圆。

moon.jpg

配合position属性做一个月亮。

CSS3 Colour venn diagram

配合position、RGBa和z-index这些属性做一个本文开头的色彩维恩图。




转自:http://www.xincss.com/?p=221

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值