以前在CSS2的基础上做圆角还能算得上是门学问!!各种图片、各种嵌套(《精通CSS——高级web标准解决方案》中有介绍,过程在这就不说了,网上一查就查得到,总之就是:没用CSS3之前觉得很高端,用了CSS3之后就不想再看到它了)。
但是自从CSS3的圆角属性border-radius出现之后,广大前端工程师可以省去了很多烦恼,不仅减少了工作量,还能提高网站的性能。只可惜高贵的低版本IE不支持CSS3的绝大部分属性……或者说几乎都不支持,虽然牛人们有写很多针对IE的兼容方案,但是我不推荐用。圆角很多时候只是在视觉上更优雅,基本不影响用户使用。你看不到圆角只能怪你和低版本IE做朋友!!!!

好,现在开始正式介绍这个高贵的属性

语法

在CSS3中,我们可以使用box-radius属性实现容器的圆角效果。什么半圆,椭圆,大圆,小圆都不是问题。

border-radius完整的语法

E{border-top-right-radius | border-bottom-right-radius | border-bottom-left-radius | border-top-left-radius | border-radius}

border-radius中的值的大小决定了圆弧的形状,单位可以是px也可以是%。每个角的圆弧其实就是以在这个角上设定的值的大小为半径画出的圆的1/4弧线。

设置一个值

border-radius:50px;

//CSS
.test{
width:200px;
height:200px;
background:#368;
margin:80px auto;/*为了使元素居中,没有别的意思*/
-webkit-border-radius:50px;
-moz-border-radius:50px;
-o-border-radius:50px;
border-radius:50px;
} //HTML
<div class="test"></div>

效果如下:

为使得效果更加明显,现在将border-radius的值修改为100px,也就是div.test的宽度的一半:

可以看到,现在变成一个完整的圆形了!!!!如果我们过圆心,分别在水平方向和竖直方向各做一条线就能看出,其实每个角的圆弧其实就是以这个值为半径画出的圆的1/4弧线。

设置两个值

border-radius:100px 50px;/*代码和上面的类似,只是修改了border-radius,故不在重复。*/

经测试,在谷歌,火狐,IE9,10下效果如下

如果我们像上图一样。将左上角定为“左”,右上角定位“右”,以此类推,会发现两个值的border-radius的规则就像是margin,padding的规则一样:第一个值表示上下,第二个值表示左右。

设置三个值

border-radius:100px 50px  0px;//*三个值*/

效果如下:

border-radius:100px 50px 25px 0px;

效果如下:

就像之前说的一样,border-radius值的设定就像padding,miargin一样,很简单。

结束语

好的,现在来总结一下的使用:
只有一个值的时候,四个角都以相同的弧度成圆角。
只有两个值的时候,第一个值表示左上角和右下角,第二个表示右上角和左下角
有三个值的时候,第一个值表示左上角,第二个值,也就是中间的值白哦是右上角和左下角,第三个值表示右下角
有四个值的时候,按照左上,右上,右下,左下的顺序表示

全文到此结束,有错误的地方欢迎指正!!

CSS3中的border-radius的更多相关文章

  1. 原来css中的border还可以这样玩

    原来css中的border还可以这样玩 前面的话: 在看这篇文章之前你可能会觉得border只是简单的绘制边框,看了这篇文章,我相信你也会跟我一样说一句"我靠,原来css中的border还可 ...

  2. CSS3中flexbox如何实现水平垂直居中和三列等高布局

    最近这些天都在弥补css以及css3的基础知识,在打开网页的时候,发现了火狐默认首页上有这样一个东西.

  3. css3中变形与动画(三)

    transform可以实现矩阵变换,transition实现属性的平滑过渡,animation意思是动画,动漫,这个属性才和真正意义的一帧一帧的动画相关.本文就介绍animation属性. anima ...

  4. html5 css3中的一些笔记

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" > <title> ...

  5. 理解CSS3中的background-size(对响应性图片等比例缩放)

    理解CSS3中的background-size(对响应性图片等比例缩放) 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用ba ...

  6. CSS3 中border-image详解

    CSS3 border-image详解.应用及jQuery插件 一.border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊 ...

  7. css中的border还可以这样玩

    在看这篇文章之前你可能会觉得border只是简单的绘制边框,看了这篇文章,我相信你也会跟我一样说一句"我靠,原来css中的border还可以这样玩".这篇文章主要是很早以前看了别人 ...

  8. CSS3中的background-size(对响应性图片等比例缩放)

    background-size的基本属性 background-size: 可以设定背景图像的尺寸,该属性是css3中的,在移动端使用的地方很多,比如最常见的地方在做响应性布局的时候,比如之前做的项目 ...

  9. CSS3中text-overflow支持以...代替超出文本

    CSS3中text-overflow支持以...代替超出文本. 1.div1:默认状态.超出文本默认显示在div外 2.div2:text-overflow:ellipsis; 使用text-over ...

  10. CSS3中的弹性流体盒模型技术详解

    先回顾一下CSS1 和 CSS2中都已经定义了哪些布局方面的属性,这样也会增加我们理解弹性布局.   其实我们现在有很多一部分人,你们刚刚接触CSS层叠样式表,或者接触有一段时间了,但是却没有很好的去 ...

随机推荐

  1. load和ready

    <一>ready和load ready先执行,load后执行 DOM文档加载的步骤: () 解析HTML结构. () 加载外部脚本和样式表文件. () 解析并执行脚本代码. () 构造HT ...

  2. Spring--依赖注入

    Spring 能有效地组织J2EE应用各层的对象.不管是控 制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的 管理下有机地协调.运行.Spring将 ...

  3. C#_socket拆包_封包_模拟乱序包

    拆包一直是个硬伤呀,MLGB的,服务端各种乱数据,果断整理下 拆包思路:设计一个网络协议,一般都会分包,一个包就相当于一个逻辑上的命令. .如果我们用udp协议,省事的多,一次会收到一个完整的包,但U ...

  4. 设置MAVEN_OPTS的推荐方法

    运行mvn eclipse:eclipse时,经常会出现因为maven项目过大,导致内存不足java栈溢出的error,需要更改MAVEN启动内存 http://stackoverflow.com/q ...

  5. MVC-05 Model(1)

    在开发应用程序的过程中,经常需要处理许多大大小小的数据,例如,SQL Server数据库存取.连接AD(Active Directory)数据库进行验证.调用外部Web Service取得数据等.除了 ...

  6. 脑波设备mindwave介绍

    脑波,又称之为脑电波,是人大脑发出的电波,非常的微弱,只能通过设备来检测. 人的脑波在不同状态下,会不同,因此可以通过脑波来量化分析人的精神状态. 科学家讲脑电波分为四种,以下为详细解释(摘自百度百科 ...

  7. PHP第一章学习——了解PHP(下)

    继续昨天的部分! —————————————————————————————— 首先Ubuntu下安装Apache软件: ubuntu更新源有问题,又要解决半天! 我现在很冷静! 安装Apache教程 ...

  8. ajenti试用感受

    ajenti试用感受_展现技术动态_百度空间 ajenti试用感受   今天看开源中国介绍一款名为"服务器管理系统"的开源软件发布了,名为ajenti,页面感觉不错,对机器的采集信 ...

  9. hdu 4738 (双联通求桥)

    2013 ACM/ICPC Asia Regional Hangzhou Online 题目大意:有n个岛,曹操在一些岛之间建了一些桥,每个桥上有一些士兵把守,周瑜只有一个炸弹只能炸掉一个桥,炸弹需要 ...

  10. IOS文件沙盒

    在进行IPhone开发的时候,常常需要将简单的数据保存到文件中,以便下次再重新打开的时候能够读取文件中保存的数据. 下面就来做一个简单的demo: 步骤: 1.创建一个SingleView项目,带有x ...