椭圆
自适应的椭圆
为任何正方形元素设置一个足够大的border-radius,就可以把它变成一个圆:
background: #fb3;
width: 200px;
height: 200px;
border-radius: 100px;
border-radius指定了我们要得到的圆的半径,但是这一数值在大于一半容器大小的情况下,依然会得到一个圆。
然而我们更希望它能根据其内容自动调整并适应。在这个案例中,我们希望得到一个能依据宽高变形为椭圆或圆的自适应圆。
border-radius存在一个效果:它可以单独指定水平与垂直的半径,只需要用一个斜杠(/)分隔这两个值即可。这个特性允许我们在拐角处创建椭圆圆角。
如果border-radius的宽高是容器的宽高的一半,那么将得到一个精确的椭圆,恰好border-radius允许使用百分比值:
border-radius: 50% / 50%;
然而由于border-radius的宽高被设置成了同样的50%,我们可以使用更加简洁的方式。
border-radius: 50%;
半椭圆
现在我们能够生成一个自适应的椭圆了,接下来我们要生成的是半椭圆形。
border-radius允许我们用展开的方式,分别设置它每个角的值:
-
border-top-left-radius -
border-top-right-radius -
border-bottom-right-radius -
border-bottom-left-radius
我们仍可以使用border-radius这个简写方式,只是需要用空格来隔开为每个角设置的值,另外,这四个值会分别从左上角开始以顺时针顺序应用到元素的拐角。
如果要为四个角设置不同的水平和垂直半径,方法是在斜杠前指定14个值,在斜杠后指定另外14个值。斜杆前设置的垂直半径,斜杠后是水平半径。
如果我们需要得到一个垂直的半椭圆形,就需要考虑为元素每个角设置的border-radius的情况,由于这个半椭圆形是垂直的,则它的左右两边对称,唯一需要注意的应当是下面两个角的垂直半径设置成0,上边两角设置成100%,水平的半径每个角都为50%(要多想)。
.box1{
width: 100px;
height: 200px;
border-radius: 50% / 100% 100% 0 0;
background-color: #ffcc33;
}
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mjph1CSw-1589728658303)(3图形/img/35.png)]](https://i-blog.csdnimg.cn/blog_migrate/fa2ca75dad9e05a7e2c974e7720b7b38.png)
四分之一椭圆
和半椭圆形的设置是一样的,无非是每个角的border-radius设置的不一样。
.box2{
margin: 10px;
width:200px;
height:100px;
background-color: #fcc;
border-radius: 0 100% 100% 0 / 0 0 100% 100%;
}
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jo2BZBSh-1589728658307)(3图形/img/36.png)]](https://i-blog.csdnimg.cn/blog_migrate/e6842c681df3b41734646e00915fa494.png)
本篇文章是《css揭秘》一书的笔记,如果侵犯到了原作者的权益,请联系我删除。
有关border-radius的内容最好多加练习,并多多查看官方文档。
本文介绍了如何使用CSS实现自适应的椭圆、半椭圆和四分之一椭圆。通过`border-radius`属性的不同设置,可以创建不同形状的椭圆,包括根据内容自动调整大小的椭圆。同时,详细讲解了如何设置`border-radius`来制作半椭圆,以及如何通过调整各个角的值来创建四分之一椭圆。
1186

被折叠的 条评论
为什么被折叠?



