gpt4 book ai didi

html - 使用 CSS 倒圆 Angular

转载 作者:行者123 更新时间:2023-11-28 04:04:57 25 4
gpt4 key购买 nike

我有CSS代码

#box {
width: 200px;
height: 50px;
background-color: blue;
border-top-left-radius: 9999px;
border-bottom-left-radius: 9999px;
position: relative;
margin: 30px;
text-align: center;
color: white;
padding-top: 10px;
}

#box::before,
#box::after {
content: "";
width: 0;
height: 0;
right: 0;
position: absolute;
}

#box::before {
border-right: 10px solid blue;
border-top: 10px solid blue;
border-left: 10px solid transparent;
border-bottom: 10px solid transparent;
bottom: -20px;
}

#box::after {
border-right: 10px solid blue;
border-top: 10px solid transparent;
border-left: 10px solid transparent;
border-bottom: 10px solid blue;
position: absolute;
top: -20px;
}
<div id="box">#box</div>

它给出了一些类似的形状

box with inverted scooped corners

我需要的形状是 enter image description here

我需要曲线而不是右上角(#box::before)和右下角(#box::after)三 Angular 形中的斜边,如图片。

有没有办法用纯CSS实现?

codesandbox demo

谢谢

最佳答案

您可以使用 box-shadow 属性创建一个凹形半径。

  1. 此技术创建了一个 overflow hidden 的透明正方形。

    enter image description here

  2. 然后创建一个带有框阴影的透明圆圈。

    enter image description here

  3. 然后我们将圆圈的位置调整为仅查看四分之一

    enter image description here


片段

#box {
position: relative;
width: 200px;
height: 50px;
background-color: blue;
border-radius: 9999px 0 0 9999px;
margin: 30px;
text-align: center;
color: #fff;
padding-top: 10px;
}

#top,
#bottom {
position: absolute;
height: 30px;
width: 30px;
right: 0;
overflow: hidden;
}

#top {
top: -30px;
}

#bottom {
bottom: -30px;
}

#top::before,
#bottom::before {
content: '';
position: absolute;
right: 0;
height: 200%;
width: 200%;
border-radius: 100%;
box-shadow: 10px 10px 5px 100px blue;
z-index: -1;
}

#top::before {
top: -100%;
}
<div id="box">
<div id="top"></div>
#box
<div id="bottom"></div>
</div>

关于html - 使用 CSS 倒圆 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57799896/

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