具有线性渐变的背景边框半径

Background border radius with linear gradient

我正在尝试制作 2 个背景,如图所示。我正在尝试使用线性渐变和边界半径,但我只有 90º 边界并且不知道如何更改边界。

这是代码

background-image: linear-gradient(left, #e3e3e3, #e3e3e3 30%, transparent 50%, transparent 100%), radial-gradient(circle at top left, #f00,#e3e3e3);
background-image: -webkit-linear-gradient(left, #e3e3e3, #e3e3e3 30%, transparent 30%, transparent 100%);
border-top-right-radius: 36px;
border-bottom-right-radius: 36px;

你可以这样做:

.box {
  padding:20px;
  display:inline-block;
  font-size:30px;
  background:
    linear-gradient(blue,blue) left/100px 100% no-repeat,
    radial-gradient(circle at left,blue 44%,transparent 45%) 100px 0/74px 74px no-repeat;
}
<div class="box">
 Some content here 
</div>

您还可以引入 CSS 变量以进行更多控制:

.box {
  padding:20px;
  display:inline-block;
  font-size:30px;
  background:
    linear-gradient(blue,blue) left/var(--p,50px) 100% no-repeat,
    radial-gradient(circle at left,blue 44%,transparent 45%) var(--p,50px) 0/74px 74px no-repeat;
}
<div class="box">
 Some content here 
</div>
<div class="box" style="--p:20px">
 Some content here 
</div>
<div class="box" style="--p:150px">
 Some content here 
</div>