gpt4 book ai didi

css - 单个半径 `border-radius` 作为特定边的百分比

转载 作者:太空宇宙 更新时间:2023-11-04 02:35:48 26 4
gpt4 key购买 nike

我需要根据 div 的尺寸更改 divborder-radius - 但不要变成椭圆形,或者形成药丸形状。例如,宽度、高度为 250,35 的 div 应具有 7pxborder-radius,而其中之一为 280,70应具有 15pxborder-radius - 始终为高度的 20%,但始终使用圆形舍入。在网站的另一部分,我需要边框半径等于 min(width, height)/5。如果没有 JavaScript,我如何完成此操作?

在所有情况下,宽度和高度都是任意的。我当前的解决方案是在不遵循默认大小的元素上要求明确的 border-radius,这将不允许调整大小。

.box {
width: 250px;
height: 35px;
border-radius: 7px;
background-color: black;
color: white;
line-height: 35px;
text-align: center;
margin: 5px auto;
}
.two {
width: 280px;
height: 70px;
border-radius: 14px;
line-height: 70px;
}
.three {
border-radius: 20%;
}
.four {
border-radius: 999px;
}
.five {
/* calculated from initial values, note that they are wrong with the larger size */
border-radius: 2.8%/20%;
width: 280px;
height: 70px;
line-height: 70px;
}
<div class="box one">yes</div>
<div class="box two">yes</div>
<div class="box three">no</div>
<div class="box four">no</div>
<div class="box five">no</div>

最佳答案

这里有 8 个 border-radius 值要使用,因为 Angular 是椭圆而不是圆(尽管它可以是):

MDN Link

border-top-left-radius: 1em 5em;

border-top-right-radius: 1em 5em;

border-bottom-right-radius: 1em 5em;

border-bottom-left-radius: 1em 5em;

从您的问题来看,该元素的比例似乎是 4:1,因此我们可以将其应用于 border-radius

.box {
border-radius: 5%/20%;
}

.box {
width: 250px;
height: 35px;
border-radius: 5%/20%;
background-color: black;
color: white;
line-height: 35px;
text-align: center;
margin: 5px auto;
}
.two {
width: 280px;
height: 70px;
}
.three {
width: 300px;
height: 75px;
}
.four {
width: 400px;
height: 100px;
}
<div class="box one">yes</div>
<div class="box two">yes</div>

<div class="box three">yes</div>
<div class="box four">yes</div>

关于css - 单个半径 `border-radius` 作为特定边的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35705489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com