CSS 函数

在 CSS 中,radial-gradient() 函数允许您创建径向渐变作为元素的背景图像。径向渐变是从中心点向外辐射的渐变,颜色从该点以圆形或椭圆形方式向外混合。它们通常用于创建视觉上吸引人的背景效果或模仿照明和阴影。

为了创建基本的径向渐变,您需要至少两种颜色,称为色标。该函数的结果是一个对象,一种特殊的 <image>,数据类型为 <gradient>

概述

  • 径向渐变没有内在维度,这意味着图像没有首选尺寸或长宽比。

  • 图像的形状可以是圆形或椭圆形。

  • 尺寸将匹配所应用元素的大小。

  • 只能使用 <gradient> 数据类型其中使用 <image>

  • repeating-radial-gradient() 函数不能与 <color> 数据类型一起使用,并且属性,例如背景颜色。

  • 为了创建重复的径向渐变,您需要使用 CSS 函数 repeating-radial-gradient()

可能的值

径向渐变通过指定渐变的中心(0%)和结束形状(100%)的大小和形状来定义。函数 Radial-gradient() 可以使用以下值作为参数:

1. <position>:指定渐变的位置。当未指定值时,默认为 <center>。

2. <ending-shape>:值可以是圆(渐变为具有恒定半径的圆)或椭圆(渐变为与轴对齐的椭圆)。当没有指定值时,默认为椭圆。

3. <size>:指定渐变结束形状的大小。

  • 未指定值时,默认为 <farthest-corner>。

  • 该值可以显式指定或通过关键字指定。

  • 当 <ending-shape> 以圆形形式给出时,该值可以作为 <length-percentage> 有两个值,提供椭圆尺寸;其中第一个值是水平半径,第二个值是垂直半径。百分比值与渐变框的尺寸相关。不允许使用负值。

  • 未指定 <ending-shape> 时,渐变的形状由提供的大小决定。

  • 一个 <length> 值指定一个圆。 <length-percentage> 中的两个值指定一个椭圆。

  • 单个<percentage> 值无效。

  • 渐变圆和椭圆接受各种关键字作为其大小,这些关键字在后面的部分。

4。 <linear-color-stop>:由颜色停止点的 <color> 值以及一两个可选的停止位置值组成。

  • 停止位置值可以是 <percentage><length> 值。

  • 值等于 0% 或 0,表示渐变的中心。

  • 值等于100%,表示结束形状与虚拟渐变射线的交点。

5. <color-hint>:确定相邻颜色停止点之间的渐变进程。当未指定值时,颜色过渡的中点是两个颜色停止点之间的中点。

下表列出了渐变圆和椭圆接受作为其大小的关键字:

关键字描述
closest-side

对于圆形:渐变的结束形状与边相交最接近其中心的框的形状。

对于椭圆形:渐变的结束形状满足最接近中心的垂直和水平边。

closest-corner

渐变的结束形状恰好与框距其中心最近的角相交。

farthest-side

对于圆形:渐变的结束形状与距其中心最远的框的边相交。

对于椭圆形:渐变的结束形状渐变与距离中心最远的垂直边和水平边相交。

farthest-corner

渐变的结束形状渐变恰好与框距其中心最远的角相交。这是默认值。

语法

<gradial-gradient()> = 
  gradial-gradient( [ <ending-shape> || to <size> ]? [ at <position> ]?, <color-stop-list> ) 

CSS Radial-gradient(): 组合

径向渐变是两种或多种颜色沿轴的渐进过渡。它由一个中心点、一个结束形状和两个或多个颜色停止点表示。色标放置在从中心向右水平延伸的虚拟渐变射线上。

CSS radial-gradient() 函数

CSS Radial-gradient(): 基本示例

让我们看一个基本径向渐变的示例:

<html>
<head>
<style>
   div {
      height: 150px;
      width: 150px;
   }

  .basic-radial-gradient {
     background-image: radial-gradient(red, yellow);
   } 
</style>
</head>
<body>
   <h1>Basic radial gradient</h1>
   <div class="basic-radial-gradient"></div>
</body>
</html> 

CSS Radial-gradient(): 色标定位

使用百分比或绝对长度值,可以定位径向渐变中的色标。让我们看一个例子:

<html>
<head>
<style>
  div {
   height: 150px;
   width: 150px;
  }

  .position-radial-gradient {
     background-image: radial-gradient(red 35px, yellow 25%, green 55%);
   } 
</style>
</head>
<body>
   <h1>Position radial color stops</h1>
   <div class="position-radial-gradient"></div>
</body>
</html> 

CSS Radial-gradient(): 中心定位

径向渐变的中心可以使用关键字、百分比或绝对长度值来定位。如果只给出一个值,即长度或百分比,那么同样会重复;否则,将重复从左开始的位置和从上开始的位置的顺序。让我们看一个示例:

<html>
<head>
<style>
  div {
   height: 150px;
   width: 150px;
  }

  .center-gradient {
      background-image:
         radial-gradient(
            at 0% 50%,
            lightgreen 30px,
            blue 60%,
            magenta 20%
   );
}
</style>
</head>
<body>
   <h1>Radial gradient center position</h1>
   <div class="center-gradient"></div>
</body>
</html>