前端从零开始(50)border-radius 圆角

border-radius 圆角

如果想要把元素边界变得圆润,不妨试试这个属性。

1. 官方定义

通过 CSS3,您能够创建圆角边框并且不需使用设计软件,比如 PhotoShop。

2. 慕课解释

通过给一个 html 元素标签的样式增加一条 border-radius 属性,让这个元素的边角由直角边变成圆弧。

3. 语法

它的用法遵循 css 通用的:左上、 右上 、右下 、左下 的原则。

border-radius:value;
属性 描述
border-radius 四个边角值
border-top-left-radius 左上角圆弧值
border-top-right-radius 右上角圆弧值
border-bottom-right-radius 右下角圆弧值
border-bottom-left-radius 左下角圆弧值

包含参数

参数名称 参数类型
value ‘%’
  1. 只有一个参数时:
border-radius:value;

value 代表给这个元素 4 个方向增加一个的圆弧值。

  1. 只有两个参数时,中间用空格分开:
border-radius:value1 value2;

value1 代表 左上、右下,value2 代表 右上、左下角圆弧值。

  1. 只有三个参数时,中间用空格分开:
border-radius:value1 value2 value3;

value1 代表左上 value2 代表 右上 左下 value3 代表右下

  1. 有四个参数时,中间用空格分开
border-radius:value1 value2 value3 value3;

value1 ~ value4 分别代表左上、 右上 、右下 、左下四个角的圆弧值

4. 兼容性

IE Edge Firefox Chrome Safari Opera ios android
9 all all all all all all all

5. 示例

  1. 给 demo 增加右上和左下的圆角
<div class="demo"></div>

可以这样

.demo{
border-radius:0 8px 0 8px;
}

推荐第一种写法,但是也可以这样

.demo{
border-top-right-radius:8px;
border-bottom-left-radius:8px;
}

效果图

前端从零开始(50)border-radius 圆角
图片描述

demo 增加右上和左下的圆角效果图

  1. 制作一个带有圆角的卡片
<div class="card">
<div class="text">
demo1
</div>

</div>
.card{
background: red;
width: 100px;
height: 200px;
line-height: 200px;
text-align: center;
border-radius: 6px;
}
.text{
display: inline-block;
width: 50px;
height: 50px;
line-height: 50px;
background: #fff;
border-radius: 50%;
}

效果图

前端从零开始(50)border-radius 圆角
图片描述

带有圆角的卡片效果图

  1. 给一个 table 增加圆角左上和右上是 8px 右下和左下是直角
<table>
<tr>
<td>姓名</td><td>年龄</td>
</tr>

<tr>
<td>demo</td><td>19</td>
</tr>

</table>
table{
background: red;
border-radius: 8px 8px 0 0;
font-size: 18px;
color: #fff;
border-collapse: collapse;
overflow: hidden;
}

table 增加圆角左上和右上是 8px 右下和左下是直角效果图

6. 经验分享

  1. border-radius:50% 会让一个宽度和高度相等的块级元素变成一个圆。
.demo{
width:100px;
height:100px;
border-radius:50%
}

设置 50% 的好处就是不用再去计算他的宽高,例如上面这个例子 border-radius:50px同样可以让这个元素变成一个圆。

  1. 如果圆角过大,记得要设定 padding ,这样可以避免里面的内容超出元素。

7. 小结

  1. 不要让 border-radius 的 % 值大于 50,因为如果两个相邻的半径和超过了对应的盒子的边的长度,那么浏览器要重新计算以保证它们不重合。虽然表面上看没有问题但是这样会对性能有影响。
  2. 如果用 remem 单位在移动端用border-radius 画圆,在部分机型里面是椭圆的问题,可以通过 50% 来解决 ,或者使用 px 配合缩放 scale 来实现 rem 单位的效果。
  3. 在内联元素span这类标签使用这个属性的时候同样有效但是记得不要使用%这样会导致一些span 标签的圆角不一样因为 % 是参考长和宽计算的。
  4. border-radius 圆角并不会隐藏标签内部元素的内容,如果有内容溢出的情况记得增加overflow:hidden;
  5. 任何元素都可以使用这个属性,包括视频、音频标签等等。
  6. 一般情况下不推荐 border-top-left-radius 这类的写法除非是需要在某种交互过程中需要改变其中一个的圆角值而其它的保持不变。因为这类的标签会影响浏览器渲染的性能。

微信公众号

扫码关注


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/19032.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!