在CSS中创建曲线三角形弧

在CSS中创建曲线三角形弧,css,Css,有没有可能用CSS创建一个类似弧形三角形的东西?(看蓝色区域) 我可以用一个椭圆形的白色div来创造这种效果,另一个椭圆形div位于蓝色div之上,所以它给人一种弧形的错觉。然而,这是不好的,因为我需要圆弧所在的地方的透明度,而不是有一个白色区域被白色椭圆挡住 我想创建一个整体或两个部分,我可以将它们彼此相邻设置以构成一个整体。您可以通过将边框顶部半径应用于伪元素来实现这一点: div{ 背景:蓝色; } div::之后{ 内容:''; 显示:块; 背景:白色; 边界左上半径:50%; 边界右

有没有可能用CSS创建一个类似弧形三角形的东西?(看蓝色区域)

我可以用一个椭圆形的白色div来创造这种效果,另一个椭圆形div位于蓝色div之上,所以它给人一种弧形的错觉。然而,这是不好的,因为我需要圆弧所在的地方的透明度,而不是有一个白色区域被白色椭圆挡住


我想创建一个整体或两个部分,我可以将它们彼此相邻设置以构成一个整体。

您可以通过将边框顶部半径应用于伪元素来实现这一点:

div{
背景:蓝色;
}
div::之后{
内容:'';
显示:块;
背景:白色;
边界左上半径:50%;
边界右上角半径:50%;
高度:75px;
}

我建议使用两个SVG来完成此操作。这样你就不会有拉伸的经验。然后你把它放在页面的两边。然后他们应该相应地伸展

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="360px" height="288px" viewBox="0 0 360 288" style="enable-background:new 0 0 360 288;">
  <style type="text/css">
    .st0{fill:#03B3DB;}
  </style>
    <path class="st0" d="M91.7,109.1V78.6h190c0,0-38-0.4-104.9,7.4C117.7,92.9,91.7,109.1,91.7,109.1z"/>
</svg>

.st0{fill:#03B3DB;}

您可以添加具有父元素宽度和预定义高度的伪元素

在此基础上,将边界半径设置为50%以使其为椭圆形,并向上添加阴影,将得到您的形状

基本元素需要隐藏溢出,以将阴影保持在矩形内

div{
背景图像:线性渐变(黑色、黑色);
背景尺寸:100%30px;
背景重复:无重复;
高度:30px;
位置:相对位置;
溢出:隐藏;
填充底部:80px;
}
div::之后{
内容:'';
高度:160px;
宽度:100%;
位置:绝对位置;
边界半径:50%;
盒影:0px-80px 0px 100px蓝色;
顶部:30px;
z指数:-1;
}

使用SVG图形怎么样?SVG使用与CSSHmm相同的语法是的,我不明白SVG为什么不能工作。但是CSS将是理想的。很棒的SVG解决方案。谢谢太好了,这么简单聪明的方法。谢谢从第二个角度看,这实际上并不能解决我的问题,因为它提供了与我问题中的解决方案相同的效果(椭圆形部分是白色的,我需要它是透明的)。添加透明颜色不起作用,因为它继承了div的颜色,它是一个伪选择器。抱歉,我没有理解这个要求。我会考虑一下,但是使用一个元素可能是不可能的。这是我一直在寻找的答案,因为它可以在arc下实现透明度。谢谢。很高兴它帮助了你!