css3深入理解之border-radius
来源:互联网 发布:qq电脑管家网络加速器 编辑:程序博客网 时间:2024/06/05 21:01
border-radius具有两个特性:大值特性和等比例特性。这两个特性主要用来控制当border-radius的值大于元素的outerWidth或outerHeight时,元素边框的变形行为。
大值特性
当border-radius值很大的时候只会用元素的最大的宽或高(包括border)来渲染
<!DOCTYPE html><html><head> <title></title><style> div { border:2px solid #a1a1a1; height:198px; width:198px; background:#dddddd; overflow:hidden; border-radius:200px 0 0 0; }</style></head><body> <div></div></body></html>
改变radius的值:
<style> div { border:2px solid #a1a1a1; height:198px; width:198px; background:#dddddd; overflow:hidden; border-radius:300px 0 0 0; }</style></style>
可以看出两段代码的效果都是一样,因为300px已经超过了元素的outerHeight和outerWidth,所以自动变成了200px。
等比例特性
垂直半径和水平半径的等比例性
border-radius定义的某个角的垂直半径和水平半径的比例是不会变的。
其实上面的例子里也用到了这个特性,只是为了将理解力定位在最大值特性,避免等比例特性的干扰,左上角我只设置了一个值,也即垂直半径和水平半径相等,所以体现不出等比例特性,现在我们更改水平半径和垂直半径,使其不相等:
<style> div { border:2px solid #a1a1a1; height:198px; width:198px; background:#dddddd; overflow:hidden; border-radius:200px 0 0 0/400px 0 0 0; }</style>
根据最大值特性,垂直半径400px已经超出了元素的outerHeight,所以应该会变为元素的最大高度200px,此时由于等比例特性200/400=1/2,所以水平半径=200px*1/2=100px,所以border-radius:200px 0 0 0/400px 0 0 0其实对应于border-radius:100px 0 0 0/200px 0 0 0。
<style> div { border:2px solid #a1a1a1; height:198px; width:198px; background:#dddddd; overflow:hidden; border-radius:100px 0 0 0/200px 0 0 0; }</style>
从结果上也可以看出border-radius:200px 0 0 0/400px 0 0 0和border-radius:100px 0 0 0/200px 0 0 0的效果是一样的。
注意:当border-radius指定的某个角的水平半径和垂直半径都超过元素尺寸的时候,同样遵循这个两个特性。
相邻角的垂直(水平)半径的等比例性
当相邻角的水平(垂直)半径和超过元素的outWidth(outHeight)时候,将按照等比例缩小半径,直至两相邻角的水平(垂直)半径和等于元素的outWidth(outHeight)。
<!DOCTYPE html><html><head> <title></title><style> .div1 { border:2px solid #a1a1a1; height:198px; width:198px; background:#dddddd; overflow:hidden; border-radius:300px 0 0 100px; } .div2 { border:2px solid #a1a1a1; height:198px; width:198px; background:#dddddd; overflow:hidden; border-radius:150px 0 0 50px; }</style></head><body> <div class="div1"></div> <div class="div2"></div></body></html>
因为300+100已经超出了元素的outerWidth(200)和outerHeight(200),所以按照等比例(3/1)缩小成了150和50,从上图也可看出效果。
- css3深入理解之border-radius
- css3深入理解之border-radius
- CSS3之Border-radius
- CSS3属性之border-radius
- css3属性之border-radius
- CSS3属性之border-radius
- CSS3属性之:border-radius
- CSS3之边框圆角:border-radius
- CSS3之圆角border-radius
- CSS3之border-radius半弧展示
- CSS3 border-radius note
- CSS3详解:border-radius
- CSS3 Border-radius
- CSS3 border-radius 属性
- CSS3 Border-radius
- CSS3 圆角(border-radius)
- CSS3 border-radius 属性
- CSS3 border-radius属性
- spring boot中关于redis 保存数据的序列化(数据库中的乱码问题)
- Qt 应用获取本机设备IP
- 【脚本语言系列】关于Python数值计算Pandas,你需要知道的事
- 使用Hibernate Criteria实现in子查询和exists子查询
- Hessian解析及应用(整合Spring)
- css3深入理解之border-radius
- java selenium (三) 环境搭建 基于Maven
- 时间复杂度:O(1)、O(n)、O(n²)、O(nlogn)等是什么意思,白话文解释专业术语。
- hive安装
- Android图片轮播控件ConvenientBanner的简单使用
- 从零开始学Makefile(四)
- JS三元运算符
- 《统计学习方法》学习笔记(5)-- 朴素贝叶斯法
- 文章标题