对于CSS3中的圆角属性我们大家都很熟悉了,那就是border-radius。

border-radius虽然很熟悉,但是我们在工作当中绝大多数用到的只不过是其中的一点皮毛而已,比如用于制作圆角矩形,或是圆。

那么本文所要分享的呢,是平时大家可能很少用上但是却有必要了解的内容。

首先给出border-radius具体语法:

border-radius:[ <length> | <percentage> ]{1,4} [ / [<length> | <percentage>]{1,4} ]?
<length>:用长度值设置对象的圆角半径长度。不允许负值
<percentage>:用百分比设置对象的圆角半径长度。不允许负值

以上可能对于了解正则表达式的来说比较好理解,通俗来讲就是,该属性可以同时设置1到4个属性值,每个属性值均可以是具体数值或百分比,百分比的话是相对于该元素的宽高属性来定的。此外还可以用斜杠设置第二组值,若是设置了第二组值,那么前一组将代表水平方向上的值,后一组代表垂直方向上的值。

接下来,我将以具体实例来一步步全面剖析border-radius属性。

先写一个通用的矩形:

<!--HTML-->
<div class="box"></div>
/*CSS*/
.box{ width: 200px; height: 100px; border: 1px solid #000;}

一、只设置一个属性值

① 设置具体值

.box{ border-radius: 20px;}
border-radius: 20px;

这个其实就是我们平时用得最多的一种,就是使该矩形四个角的水平方向和垂直方向上的圆角半径均为20px。

.box{ border-radius: 60px;}
border-radius: 60px;

可以发现,此时设置的border-radius: 60px其实与设置border-radius: 50px效果是一样的,因为该矩形高度为100px,而垂直方向上设置圆角半径最大也就是矩形高度的一半,也就是50px,如果超过了该值,那么显示效果会保持不变,而水平方向呢,则会与其垂直方向的圆角半径保持一致,也是50px的显示效果,不会因为这里设置了60px而显示为60px。简单来说,若水平和垂直方向只设置一个圆角半径值,那么该值的最大值以元素短边的长度为准。

② 设置百分比

.box{ border-radius: 50%;}
border-radius: 50%;

这其实也经常使用,只不过我们平时一般都是用来画圆。这里的50%指的是水平方向上的圆角半径为该矩形宽度的50%,垂直方向即为高度的50%。

二、设置一个以上属性值

① 设置具体值

.box{ border-radius: 20px 50px;}
border-radius: 20px 50px;
.box{ border-radius: 20px 30px 40px;}
border-radius: 20px 30px 40px
.box{ border-radius: 20px 30px 40px 50px;}
border-radius: 20px 30px 40px 50px;

以上这些其实也都很好理解,不管设置多少个值都可以类比margin或padding属性。我们都知道,margin也可以同时设置1到4个属性值,若是设置四个属性值,则依次按照上、右、下、左这样的顺时针方向设置外边距。同理,border-radius也类似,若是设置四个属性值,它是依次按照左上、右上、右下、左下这样的顺时针方向设置圆角半径的。若是设置两个或者三个属性值也是同样的方式类比,这里就不再赘述了,自己慢慢领会。

② 设置百分比

原理与一中所述类似,不再赘述。

三、用斜杠设置第二组值

① 设置具体值

.box{ border-radius: 30px/50px;}
border-radius: 30px/50px;

斜杠前面的30px代表每个角上的水平方向的圆角半径均为30px,斜杠后面的50px代表每个角上的垂直方向的圆角半径均为50px。

.box{ border-radius: 20px 80px/30px 30px;}
border-radius: 20px 80px/30px 30px

可以看到,此时的矩形看起来似乎已经开始扭曲变形,其实原理的话与前面所述是一样的,这个例子的样式也可以写成border-radius: 20px 80px/30px, 显示效果其实是一样的。

其实还有很多可能的组合值,这里便不再举例,原理同上。

② 设置百分比

原理与一中所述类似,不再赘述。

四、单独设置某个角的圆角半径

① 只设置一个属性值

.box{ border-bottom-left-radius: 100%;}
border-bottom-left-radius: 100%;

哈哈~~ 是不是看起来很像一把杀猪刀?

这个其实也同样可以类比margin或padding,因为它们也可以单独设置某个方向上的边距值。除了示例中的border-bottom-left-radius属性之外,还有border-top-left-radius、border-top-right-radius和border-bottom-right-radius属性,具体含义看属性名相信聪明的你也能明白的。

当然同样的,除了设置示例中的百分比之外,也是可以设置具体值的,这个只要懂得举一反三就行啦~~

② 设置两个属性值

.box{ border-bottom-right-radius: 120px 100px;}
border-bottom-right-radius: 120px 100px;

需要注意的是,这里表达水平方向和垂直方向就不是用斜杠分开了,而是直接用空格隔开就行。

兼容性: IE9及以上浏览器都兼容,目前其他现代浏览器也兼容完好,可放心使用。

你不知道的CSS3圆角相关推荐

  1. ie支持css3圆角实现的俩种方式

    1.curvycorners.js引用实现 <title>css3圆角</title> <script src="curvycorners.js" t ...

  2. css3圆角360度转动画,target,框架集,css3过渡动画,css3圆角-阴影-透明度,运动曲线,图片文字遮罩,变形...

    target 模拟后台服务器 框架集 frameset和body不合,所以如果用frameset就不能有body标签 利用框架可以把浏览器窗口划分为若干个区域,每个区域就是一个框架,在其中分别显 示不 ...

  3. CSS3 经典教程系列:CSS3 圆角(border-radius)详解

    <CSS3 入门教程系列>前一篇文章详细介绍了 CSS3 RGBA 特性的用法,今天这篇文章我们在一起来看看 CSS3 中用于实现圆角效果的 border-radius 属性的具体用法. ...

  4. 兼容所有浏览器的CSS3圆角效果

    解决CSS3圆角兼容所有浏览器的方法.本文提到了一种很不错的实现跨浏览器圆角的解决方案. 前一段时间,我经常收到一个关于如何在IE浏览器中使用CSS3的border-radius属性实现圆角HTML元 ...

  5. 关于CSS3圆角矩形的一些学习探讨

    视频课堂https://edu.csdn.net/combo/detail/802 一.CSS3圆角的优点 传统的圆角生成方案,必须使用多张图片作为背景图案.CSS3的出现,使得我们再也不必浪费时间去 ...

  6. php边框圆角,css3圆角和圆角边框使用方法总结

    在CSS3出现之前,想要实现圆角的效果可以通过图片或者用margin属性实现,传统的圆角生成方案,需要多张图片作为背景图案.CSS3出现以后,就不需要浪费时间去制作多张图片了,大大的减少了工作量,提高 ...

  7. css 渐变 椭圆,CSS3圆角和渐变2种常用功能详解

    Css3圆角讲解:想必大家对于图片,背景圆角,都不陌生吧, 圆角语法:border-radius:圆角值: CSS3圆角的优点 传统的圆角生成方案,必须使用多张图片作为背景图案.CSS3的出现,使得我 ...

  8. 超多的CSS3圆角渐变网页按钮

    <!DOCTYPE html> <head> <title>超多的CSS3圆角渐变按钮</title> <style type="tex ...

  9. 【转】CSS3 圆角 阴影 渐变 透明 旋转等功能详述

    本文转载自yu0319@126<CSS3圆角阴影渐变透明旋转等功能详述> 随着浏览器的升级,CSS3已经可以投入实际应用了. 但是,不同的浏览器有不同的CSS3实现,兼容性是一个大问题.上 ...

最新文章

  1. 安装suricata
  2. php 段落加上标签,php – 如何在段落中添加ReadMore
  3. c++ pat 乙级 ---1004 成绩排名
  4. js脚本锁计算机软件,JS使用插件cryptojs进行加密解密数据实例
  5. 思科虚拟机配置dhpc服务器,思科模拟器配置DHCP
  6. 迁移是10g-11g ogg正好有用武之地N种方法
  7. 如何检验java环境变量是否配好_如何验证Java环境变量配置成功
  8. Java连接数据库的步骤
  9. matlab 最小割集(需手动分析排除)
  10. lighttpd 使用
  11. 「MBR」- 主引导记录(Master Boot Record) @20210315
  12. 为何现在欠钱的人,都不爱还钱,太气人了...
  13. python像数常用函数_八卦象数疗法的作用机理探讨
  14. Ubuntu中连不上网,百度 ping 不通
  15. 千克 磅 磅 千克 的转换
  16. Matlab中set-gca函数的使用
  17. 985复旦大学,软件工程学硕停止招生!
  18. 重复字符串的处理问题
  19. 【数据结构初阶】单链表补充内容+又双叒叕刷链表题
  20. 乔布斯《遗失的访谈》全文:尘封16年的预见

热门文章

  1. 初分配和再分配图解_针织好看暖和的儿童帽子图解教程,宝妈们千万不要错过...
  2. antd vue关闭模态对话框_Vue.extend 登录注册模态框
  3. python get请求 url传参_requests的get请求url参数、url重定向处理及cookies
  4. php切割文件上传,php+ajax实现文件切割上传功能示例
  5. 关于c语言的基本知识,第二章_关于C语言的基本知识.ppt
  6. create报错不是函数_各种SQL中关于日期函数的那些事(建议收藏)
  7. 动图处理_100+动图带你看懂百大加工工艺(成型、表面处理、链接、切割)
  8. 阅读宋立恒《AI制胜:机器学习极简入门》第2章:机器学习中的数据预处理
  9. 安卓案例:利用XML配置菜单
  10. 【codevs2452】【SCOI2005】【BZOJ1088】扫雷Mine