在CSS中更改径向渐变的中心点

问题描述 投票:2回答:1

我需要制作如下的多个渐变:

enter image description here

现在看看灰色/白色渐变的中心是如何不同的,在某些情况下,它来自中心,一些来自左中心,一些来自中心 - 底部。

我使用THIS工具生成以下渐变:

background: #f9f9f9;
background: -moz-radial-gradient(center, ellipse cover, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
background: -webkit-radial-gradient(center, ellipse cover, #f9f9f9 0%,#e1e4e8 62%,#d1d6db 100%);
background: radial-gradient(ellipse at center, #f9f9f9 0%,#e1e4e8 62%,#d1d6db 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9f9f9', endColorstr='#d1d6db',GradientType=1 ); 

FIDDLE HERE,现在是否有可能像我在上图中所示的那样制作渐变,还是我必须使用图像?

html css css3 radial-gradients css-gradients
1个回答
6
投票

您的问题分为两部分:

  1. 是否有可能像图像中那样制作渐变?对的,这是可能的。 radial-gradient definition takes the position as a parameter并通过设置正确的值,我们可以产生所需的效果。
  2. 梯度发生器本身可以生成吗?看起来链接的生成器似乎不能这样做,因为方向Orientation设置为径向,它默认位置为中心,没有字段可以更改其值。可能有其他梯度生成器有一个用于设置此值的字段,但您仍需要自己提供中心点。

下面是一个具有不同位置的径向渐变的片段供您参考。

div {
  float: left;
  height: 200px;
  width: 200px;
  margin: 2px;
  background: #f9f9f9;
  }
div:nth-of-type(1){
  background: radial-gradient(ellipse at center, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
}
div:nth-of-type(2){
  background: radial-gradient(ellipse at left bottom, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
}
div:nth-of-type(3){
  background: radial-gradient(ellipse at left top, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
}
div:nth-of-type(4){
  background: radial-gradient(ellipse at right bottom, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
}
div:nth-of-type(5){
  background: radial-gradient(ellipse at right top, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
}
div:nth-of-type(6){
  background: radial-gradient(ellipse at center top, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
}
div:nth-of-type(7){
  background: radial-gradient(ellipse at 10% 20%, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
}
div:nth-of-type(8){
  background: radial-gradient(ellipse at 75% 75%, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
}
div:nth-of-type(9){
  background: radial-gradient(ellipse at 20% 80%, #f9f9f9 0%, #e1e4e8 62%, #d1d6db 100%);
}
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
© www.soinside.com 2019 - 2024. All rights reserved.