Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >CSS3圆角详解

CSS3圆角详解

作者头像
ruanyf
发布于 2018-09-21 07:17:23
发布于 2018-09-21 07:17:23
9700
举报

CSS3是样式表(style sheet)语言的最新版本,它的一大优点就是支持圆角。

网页设计大师Nicholas Zakas最新文章,清晰易懂地解释了CSS3圆角的各个方面,非常值得学习。以下就是我翻译的中文版。

=========================================

CSS3圆角详解

作者:Nicholas Zakas

译者:阮一峰

原文:http://msdn.microsoft.com/en-us/scriptjunkie/gg508841.aspx

发表日期:2010年12月8日

一、CSS3圆角的优点

传统的圆角生成方案,必须使用多张图片作为背景图案。CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,而且还有其他多个优点:

  * 减少维护的工作量。图片文件的生成、更新、编写网页代码,这些工作都不再需要了。

  * 提高网页性能。由于不必再发出多余的HTTP请求,网页的载入速度将变快。

  * 增加视觉可靠性。某些情况下(网络拥堵、服务器出错、网速过慢等等),背景图片会下载失败,导致视觉效果不佳。CSS3就不会发生这种情况。

二、border-radius属性

CSS3圆角只需设置一个属性:border-radius(含义是"边框半径")。你为这个属性提供一个值,就能同时设置四个圆角的半径。所有合法的CSS度量值都可以使用:em、ex、pt、px、百分比等等。

比如,下面是一个div方框:

现在设置它的圆角半径为15px:

  border-radius: 15px;

这条语句同时将每个圆角的"水平半径"(horizontal radius)和"垂直半径"(vertical radius)都设置为15px。

border-radius可以同时设置1到4个值。如果设置1个值,表示4个圆角都使用这个值。如果设置两个值,表示左上角和右下角使用第一个值,右上角和左下角使用第二个值。如果设置三个值,表示左上角使用第一个值,右上角和左下角使用第二个值,右下角使用第三个值。如果设置四个值,则依次对应左上角、右上角、右下角、左下角(顺时针顺序)。

  border-radius: 15px 5px;

  border-radius: 15px 5px 25px;

  border-radius: 15px 5px 25px 0px;

(左下角的半径为0,就变成直角了。)

border-radius还可以用斜杠设置第二组值。这时,第一组值表示水平半径,第二组值表示垂直半径。第二组值也可以同时设置1到4个值,应用规则与第一组值相同。

  border-radius: 15px 5px / 3px;

  border-radius: 15px 5px 25px / 3px 5px;

  border-radius: 15px 5px 25px 5px / 3px 5px 10px 15px;

三、单个圆角的设置

除了同时设置四个圆角以外,还可以单独对每个角进行设置。对应四个角,CSS3提供四个单独的属性:

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

这四个属性都可以同时设置1到2个值。如果设置1个值,表示水平半径与垂直半径相等。如果设置2个值,第一个值表示水平半径,第二个值表示垂直半径。

  border-top-left-radius: 15px;

  border-top-left-radius: 15px 5px;

四、浏览器支持

IE 9、Opera 10.5、Safari 5、Chrome 4和Firefox 4,都支持上述的border-radius属性。早期版本的Safari和Chrome,支持-webkit-border-radius属性,早期版本的Firefox支持-moz-border-radius属性。

目前来看,为了保证兼容性,只需同时设置-moz-border-radius和border-radius即可。

  -moz-border-radius: 15px;   border-radius: 15px;

(注意:border-radius必须放在最后声明,否则可能会失效。)

另外,早期版本Firefox的单个圆角的语句,与标准语法略有不同。

  * -moz-border-radius-topleft(标准语法:border-top-left-radius)   * -moz-border-radius-topright(标准语法:border-top-right-radius)   * -moz-border-radius-bottomleft(标准语法:border-bottom-left-radius)   * -moz-border-radius-bottomright(标准语法:border-bottom-right-radius)

五、注意事项

虽然各大浏览器都支持border-radius,但是在某些细节上,实现都不一样。当四个角的颜色、宽度、风格(实线框、虚线框等)、单位都相同时,所有浏览器的渲染结果基本一致;一旦四个角的设置不相同,就会出现很大的差异。比如,下面这段代码在不同的浏览器中,渲染结果就相差很大。

  border-color: black;   border-style: solid dashed;   border-width: 1px 2px 3px;   border-top-color: red;   border-radius: 5%;

另外,并非所有浏览器,都支持将圆角半径设为一个百分比值。

因此,目前最安全的做法,就是将每个圆角边框的风格和宽度,都设为一样的值,并且避免使用百分比值。

(完)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010年12月 9日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CSS3圆角 border-radius
HTML5学堂:圆角是用一段与角的两边相切的圆弧替换原来的直角。在原有网页当中,如果需要实现圆角效果,可以使用背景图的实现,但是这样会造成背景图大小和数量的增加,从而使得服务器请求次数和需要加载的代码量增加,降低加载速度。 CSS3圆角的优势: CSS3提供了更简便快捷的属性border-radius之后,实现边框圆角就非常的简单了,而且多了很多个优点,一方面减少了图片的HTTP的请求,一方面提高了网站的性能。还有一方面就是减少代码,提高了维护性。既然CSS3圆角提供了那么多的好处,我们看看CSS3的bor
HTML5学堂
2018/03/12
1.9K0
CSS3圆角 border-radius
一篇文章带你了解CSS3圆角知识
border-radius属性实际是border-top-left-radius, border-top-right-radius, border-bottom-right-radius 和 border-bottom-left-radius 属性的简写。
前端皮皮
2020/11/26
5080
一篇文章带你了解CSS3圆角知识
使用css3来实现边框圆角效果
经常看到别人的网站有个边框来修饰文字区域,类似圆角矩形把文字环绕起来,特别有感觉,于是就试着用图片边框来修饰,但是用图片过多会拉慢网页的加载速度,能不能使用css3来实现边框圆角效果呢?当然border-radius要在firefox或Safari 和 Chrome才能实现
ytkah
2022/03/14
9600
使用css3来实现边框圆角效果
CSS3圆角边框“完全解读”
HTML5学堂小编:圆形,一个很奇妙的形状,在各种地方都可以看得到,特别是现在各类网站,都会有各种的圆形。圆角的制作曾经困扰了开发者很久,以至于以前开发者只能使用图片来替代。但是当CSS3的这个border-radius出现之后,对于开发者而言简直就是福利,只需要在需要圆的地方给上一句代码就可以了。一起来学习学习吧~~~ 如何理解border-radius border-radius——CSS3的圆角属性。但是除了圆角的定义外,它还可以做点别的事情。radius其实指的是边框所在圆的半径,这个CSS3属性不
HTML5学堂
2018/03/13
2.1K0
CSS3圆角边框“完全解读”
css3 Border属性
 css3中关于Border的属性一共有三个:圆角border-radius,图片边框border-p_w_picpath,边框多颜色border-color,其中圆角border-radius是常用的一个属性。
py3study
2020/01/13
5520
CSS3圆角、opacity 透明度、rgba 背景色设置
设置某一个角的圆角,比如设置左上角的圆角: border-top-left-radius:30px 60px;
Devops海洋的渔夫
2019/05/31
1.5K0
前端学习(16)~css3属性学习(十)
text-shadow 可以设置多个阴影,每个阴影之间使用逗号隔开。我们来看个例子。
Vincent-yuan
2020/03/19
6750
盒子模型(CSS重点)
其实,CSS就三个大模块: 盒子模型 、 浮动 、 定位,其余的都是细节。要求这三部分,无论如何也要学的非常精通。
星辰_大海
2020/09/30
1.6K0
30 个案例教你用纯 CSS 实现常见的几何图形
我们知道,如果设置一个盒子的宽高为 0,盒子就会变成一个点。此时再给上下左右四个 border 一定的宽度和不同的颜色,那么单纯由 border 填充的盒子看起来是这样的:
Chor
2021/02/24
5.5K0
30 个案例教你用纯 CSS 实现常见的几何图形
使用 CSS3 实现圆角效果
我爱水煮鱼博客上使用的图片比较多,虽然我采用了服务器缓存,gzip 压缩以及对 CSS 和图片文件设置了一个比较合理的过期时间,但是还是比较慢。所以减少图片的使用还是速度加快的王道,所以我今天学习了下使用 CSS3 技术不需要图片即可实现圆角,把侧边栏标题背景的圆角效果和搜索框的圆角效果用 CSS3 实现。记录一下以便以后使用。 W3C 很早就制订了实现了 CSS 圆角的 CSS3 属性:border-radius,Firefox 和 Safari 也通过私有属性实现了该功能:
Denis
2023/04/15
5230
从零开始学 Web 之 CSS3(二)颜色模式,文字阴影,盒模型,边框圆角,边框阴影
红橙黄绿青蓝紫红:颜色从 0~360 顺序,各占30度。比如红色为0,黄色为120,绿色为240。
Daotin
2018/08/31
1.6K0
从零开始学 Web 之 CSS3(二)颜色模式,文字阴影,盒模型,边框圆角,边框阴影
01-移动端开发教程-CSS3新特性(上)
根据文章内容总结撰写摘要,以json格式返回。
老马
2017/12/20
1.6K0
css圆角边框怎么设置颜色_word图片怎么设置圆角大小
css+div是页面设计的法宝,通过css+div能够设计出各种效果!本文给大家简单介绍下css圆角边框怎么设置,大家可以参考,也可以直接拿过去使用,当然要修改下具体的参数。
全栈程序员站长
2022/11/03
4.7K0
纯CSS实现小三角提示信息
实现后的效果如下: 不带边框的 带边框的 在此提供两种实现方式: 1、不带边框的 css: *{margin:0;padding:0;} body{ backg
牛老师讲GIS
2018/10/23
1.3K0
纯CSS实现小三角提示信息
CSS3边框
1、border-radius 圆角是做网页永远绕不过的话题,以前基本是通过背景图片做的,有了CSS3后可以使用简单的属性搞定,可以通过border-radius设置元素的圆角半径。 border-radius: 5px; 对于正方形border-radius设置为边长的一半,就变成圆了。 width: 100px; height: 100px; border-radius: 50px; border-radius是缩写格式,其实border-radius和border属性一样,还可以把各个角单独拆分出来,
小胖
2018/06/27
1.8K0
CSS3边框与圆角
1. CSS3 圆角 border-radius 属性 一个最多可指定四个border -*- radius属性的复合属性,这个属性允许你为元素添加圆角边框! 语法:border-radius: 1-4 length|% / 1-4 length|%; 兼容性:IE9+、FireFox4+、Chrome、Safari5+、Opera 多值 四个值:左上,右上,右下,左下 三个值:左上,右上和左下,右下 两个值:左上和右下,右上和左下 一个值:四个圆角值相同 扩展属性 bord
Leophen
2019/08/23
1.5K0
CSS3 圆角边框 阴影 浮动详解
在 CSS3 中,新增了圆角边框样式,这样我们的盒子就可以变圆角了。 border-radius 属性用于设置元素的外边框圆角。 语法: border-radius:length;
小城故事
2023/03/10
1.7K0
CSS3 圆角边框 阴影 浮动详解
纯CSS3绘制腾讯QQ的企鹅Logo
经常能够看到一些用CSS3绘制的精致图形,它们通常由矩形,圆形,椭圆,三角形,梯形等组合而成。要想绘制我们自己的图形,就要先了解下基本图形的绘制方法了。
Javanx
2019/09/05
1.1K0
纯CSS3绘制腾讯QQ的企鹅Logo
CSS魔法堂:重拾Border之——不仅仅是圆角
前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-top-left/right-radius的水平半径之和大于元素宽度时,实际值会按比例分配元素宽度时,不禁会问"我真的懂border吗?"。本系列将稍微深入探讨一下那个貌似没什么好玩的border! 《CSS魔法堂:重拾Border之——解构Border》 《CSS魔法堂:重拾Border之——图片作边框》
^_^肥仔John
2018/01/18
1.4K0
CSS魔法堂:重拾Border之——不仅仅是圆角
圆角与文本
text-stroke:宽度 颜色; 描边,加上兼容性前缀 text-stroke-width: 宽度 text-stroke-color: 颜色
踏浪
2019/07/31
9800
相关推荐
CSS3圆角 border-radius
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文