CSS 径向渐变


目录

    显示目录


CSS 径向渐变

径向渐变由其中心定义。

要创建径向渐变,您还必须定义至少两个色标。

句法

background-image: radial-gradient(shape size at position, start-color, ..., last-color);

默认情况下,形状为椭圆形,大小为最远角,位置为中心。

径向渐变 - 均匀间隔的色标(这是默认值)

以下示例显示了具有均匀间隔色标的径向渐变:

例子

   #grad {
  background-image: radial-gradient(red, yellow, green);
} 

自己尝试一下→

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
  height: 150px;
  width: 200px;
  background-color: red; /* For browsers that do not support gradients */
  background-image: radial-gradient(red, yellow, green);
}
</style>
</head>
<body>

<h1>Radial Gradient - Evenly Spaced Color Stops</h1>

<div id="grad1"></div>

</body>
</html>


径向渐变 - 不同间距的色标

以下示例显示了具有不同间隔色标的径向渐变:

例子

   #grad {
  background-image: radial-gradient(red 5%, yellow 15%, green 60%);
} 

自己尝试一下 →

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
  height: 150px;
  width: 200px;
  background-color: red; /* For browsers that do not support gradients */
  background-image: radial-gradient(red 5%, yellow 15%, green 60%);
}
</style>
</head>
<body>

<h1>Radial Gradient - Differently Spaced Color Stops</h1>

<div id="grad1"></div>

</body>
</html>



设置形状

形状参数定义形状。它可以取值圆或椭圆。默认值为椭圆。

以下示例显示了圆形的径向渐变:

例子

   #grad {
  background-image: radial-gradient(circle, red, yellow, green);
} 

自己尝试一下 →

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
  height: 150px;
  width: 200px;
  background-color: red; /* For browsers that do not support gradients */
  background-image: radial-gradient(red, yellow, green);
}

#grad2 {
  height: 150px;
  width: 200px;
  background-color: red; /* For browsers that do not support gradients */
  background-image: radial-gradient(circle, red, yellow, green);
}
</style>
</head>
<body>

<h1>Radial Gradient - Shapes</h1>

<h2>Ellipse (this is default):</h2>
<div id="grad1"></div>

<h2><strong>Circle:</strong></h2>
<div id="grad2"></div>

</body>
</html>




使用不同大小的关键词

size 参数定义渐变的大小。它可以采用四个值:

closest-side
farthest-side
closest-corner
farthest-corner

例子

具有不同大小关键字的径向渐变:

   #grad1 {
  background-image: radial-gradient(closest-side at 60% 55%, red, yellow, 
black);
}

#grad2 {
      background-image: radial-gradient(farthest-side at 60% 
55%, red, yellow, black);
} 

自己尝试一下→

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
  height: 150px;
  width: 150px;
  background-color: red; /* For browsers that do not support gradients */
  background-image: radial-gradient(closest-side at 60% 55%, red, yellow, black);
}

#grad2 {
  height: 150px;
  width: 150px;
  background-color: red; /* For browsers that do not support gradients */
  background-image: radial-gradient(farthest-side at 60% 55%, red, yellow, black);
}

#grad3 {
  height: 150px;
  width: 150px;
  background-color: red; /* For browsers that do not support gradients */
  background-image: radial-gradient(closest-corner at 60% 55%, red, yellow, black);
}

#grad4 {
  height: 150px;
  width: 150px;
  background-color: red; /* For browsers that do not support gradients */
  background-image: radial-gradient(farthest-corner at 60% 55%, red, yellow, black);
}
</style>
</head>
<body>

<h1>Radial Gradients - Different size keywords</h1>

<h2>closest-side:</h2>
<div id="grad1"></div>

<h2>farthest-side:</h2>
<div id="grad2"></div>

<h2>closest-corner:</h2>
<div id="grad3"></div>

<h2>farthest-corner (default):</h2>
<div id="grad4"></div>

</body>
</html>



重复径向渐变

repeating-radial-gradient() 函数用于重复径向渐变:

例子

重复的径向渐变:

   #grad {
  background-image: 
repeating-radial-gradient(red, yellow 10%, green 15%);
} 

自己尝试一下→

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
  height: 150px;
  width: 200px;
  background-color: red; /* For browsers that do not support gradients */
  background-image: repeating-radial-gradient(red, yellow 10%, green 15%);
}
</style>
</head>
<body>

<h1>Repeating Radial Gradient</h1>

<div id="grad1"></div>

</body>
</html>