调整居中径向渐变的半径
Resize the radius of a centred radial gradient
我正在重新设计我当前的项目,并找到了一种使用以下方法淡化 div 背景的左右边缘的简单方法。我一直在尝试编辑中心圆的半径,以使其更小。如果整个渐变样式不消失,我似乎无法改变它。
我正在尝试将黄色区域设置为文本的背景,逐渐淡化为透明。我需要怎么做才能获得更透明和更少颜色的圆圈?
background-image: radial-gradient(center center, circle cover, #ffeda3, transparent);
background-image: -o-radial-gradient(center center, circle cover, #ffeda3, transparent);
background-image: -ms-radial-gradient(center center, circle cover, #ffeda3, transparent);
background-image: -moz-radial-gradient(center center, circle cover, #ffeda3, transparent);
background-image: -webkit-radial-gradient(center center, circle cover, #ffeda3, transparent);
调整径向渐变半径的方法是指定色标百分比。也就是说,我们需要指定一种颜色的结束位置和另一种颜色的开始位置。
在您提到的渐变中,没有提到颜色停止百分比,因此从元素中心绘制的每个圆的颜色从 #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%);
从第一个 1px 圆到容器的 30%,此渐变的颜色为 #ffeda3
。从 30% 标记到 35% 标记,每个 1px 圆圈的颜色从 #ffeda3
逐渐变为透明。从35%开始,每个1px圆的颜色保持透明
我正在重新设计我当前的项目,并找到了一种使用以下方法淡化 div 背景的左右边缘的简单方法。我一直在尝试编辑中心圆的半径,以使其更小。如果整个渐变样式不消失,我似乎无法改变它。
我正在尝试将黄色区域设置为文本的背景,逐渐淡化为透明。我需要怎么做才能获得更透明和更少颜色的圆圈?
background-image: radial-gradient(center center, circle cover, #ffeda3, transparent);
background-image: -o-radial-gradient(center center, circle cover, #ffeda3, transparent);
background-image: -ms-radial-gradient(center center, circle cover, #ffeda3, transparent);
background-image: -moz-radial-gradient(center center, circle cover, #ffeda3, transparent);
background-image: -webkit-radial-gradient(center center, circle cover, #ffeda3, transparent);
调整径向渐变半径的方法是指定色标百分比。也就是说,我们需要指定一种颜色的结束位置和另一种颜色的开始位置。
在您提到的渐变中,没有提到颜色停止百分比,因此从元素中心绘制的每个圆的颜色从 #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%);
从第一个 1px 圆到容器的 30%,此渐变的颜色为 #ffeda3
。从 30% 标记到 35% 标记,每个 1px 圆圈的颜色从 #ffeda3
逐渐变为透明。从35%开始,每个1px圆的颜色保持透明