调整径向渐变半径大小的方法是指定色标百分比。也就是说,我们需要指定一种颜色必须在哪里结束,另一种颜色必须从哪里开始。
在您提到的渐变中,没有提到颜色停止百分比,因此从元素中心绘制的每个圆圈都具有从#ffeda3
至透明。
background-image: radial-gradient(center center, circle cover, #ffeda3, transparent);
可能的解决方案
现在,根据您希望实际渐变的外观,您可以使用我在下面的代码片段中提供的三种方法中的任何一种:
div.hard-stop {
text-align: center;
background-image: -moz-radial-gradient(center center, circle cover, #ffeda3 30%, transparent 30%);
background-image: -webkit-radial-gradient(center center, circle cover, #ffeda3 30%, transparent 30%);
background-image: radial-gradient(center center, circle cover, #ffeda3 30%, transparent 30%);
}
div.gradual-1 {
text-align: center;
background-image: -moz-radial-gradient(center center, circle cover, #ffeda3, transparent 30%);
background-image: -webkit-radial-gradient(center center, circle cover, #ffeda3, transparent 30%);
background-image: radial-gradient(center center, circle cover, #ffeda3, transparent 30%);
}
div.gradual-2 {
text-align: center;
background-image: -moz-radial-gradient(center center, circle cover, #ffeda3 30%, transparent 35%);
background-image: -webkit-radial-gradient(center center, circle cover, #ffeda3 30%, transparent 35%);
background-image: radial-gradient(center center, circle cover, #ffeda3 30%, transparent 35%);
}
/* Just for demo */
body {
background: black;
}
div{
margin-bottom: 20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
<div class="hard-stop">
<a href="#">Test</a>
<a href="#">Test 2</a>
<a href="#">Test 3</a>
</div>
<div class="gradual-1">
<a href="#">Test</a>
<a href="#">Test 2</a>
<a href="#">Test 3</a>
</div>
<div class="gradual-2">
<a href="#">Test</a>
<a href="#">Test 2</a>
<a href="#">Test 3</a>
</div>
解释
上面的代码片段中使用了三种不同的渐变,下面是对每种渐变的解释:
硬停止梯度:
background-image: radial-gradient(center center, circle cover, #ffeda3 30%, transparent 30%);
这是一个硬停止梯度。也就是说,直到父元素的 30% 为止,所有 1px 圆圈都是彩色的#ffeda3
之后所有 1px 的圆圈都是透明的。正如您所看到的,颜色在 30% 处发生了硬切换。
渐进 - 1:
background-image: radial-gradient(center center, circle cover, #ffeda3, transparent 30%);
这是一个逐渐的运动,直到达到透明。第一个 1px 圆圈有颜色#ffeda3
以及确定后每个 1px 圆圈的颜色,使得在 30% 时标记颜色变得透明。 30% 后,渐变的颜色保持透明。
渐进 - 2:
background-image: radial-gradient(center center, circle cover, #ffeda3 30%, transparent 35%);
该渐变的颜色为#ffeda3
从第一个 1px 圆圈到容器的 30%。从30%标记到35%标记,每个1px圆圈的颜色逐渐变化#ffeda3
至透明。从 35% 开始,每个 1px 圆圈的颜色保持透明。