CSS 函数

在 CSS 中,函数 conic-gradient() 在创建包含围绕中心点旋转颜色过渡的渐变的图像时非常有用。生成的图像是一个特殊图像,具有 <gradient> 数据类型。

给出的名称是圆锥曲线,因为图像看起来像从上方看锥体,因为一侧的颜色比另一侧更亮。

概述

  • 圆锥曲线没有内在的梯度尺寸,这意味着图像没有首选尺寸或长宽比。

  • 图像的尺寸将与其应用的元素的尺寸或图像的尺寸相匹配。

  • <gradient> 数据类型只能在 使用 <image> 的地方使用。

  • conic-gradient() 函数不能与 <color> 数据类型和属性,例如背景颜色。

  • 为了创建重复的圆锥曲线,您需要使用CSS 函数 repeating-conic-gradient(),填充 360 度旋转。

可能的值

函数 conic-gradient() 可以使用以下值作为参数:

1. <angle>:值指定顺时针方向的渐变旋转。将值作为角度,前面加上关键字 from。

2. <position>:

  • 确定渐变的中心。

  • 使用与background-position属性相同的长度、顺序和关键字。

  • 未指定值时,设置默认值是中心。

3. <angular-color-stop>:由颜色停止点的 <color> 值以及停止位置的一个或两个可选值组成,该值是沿颜色停止的角度渐变的圆周轴。

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

语法

<conic-gradient()> = 
  conic-gradient( [ [ from <angle> ]? [ at <position> ]? ] || , 
  <color-interpolation-method> , <angular-color-stop-list> ) 

CSS conic-gradient() - 组合

圆锥渐变是两种或多种颜色围绕渐变弧(圆的圆周)逐渐过渡,而不是在从渐变中心开始的渐变线上。

  • 颜色过渡发生在圆心周围,从顶部开始并沿顺时针方向进行。

  • 圆锥渐变是通过指示旋转角度来定义的、渐变中心,最后指定颜色停止点列表。

  • 颜色停止点是使用角度值放置的,这与使用长度和百分比的线性和径向渐变不同。给出值。

  • 用于指定值的单位为 deg(度数)、grad(梯度)、rad(弧度)、turn(圈数)。有 360 度、400 度、2pie 弧度和 1 圈。

  • 渐变位置的值与 2 值背景的语法类似 -位置。

  • 渐变的周长是渐变的弧度。梯度的起点是中午 12:00 或北方。渐变的旋转由顺时针方向的起始角度决定。

  • 成角度的颜色停止点及其起点和终点决定渐变的颜色。使用相邻颜色色标之间的颜色提示,您可以更改颜色之间的过渡。

CSS conic-gradient() 函数

支持二次曲线渐变的浏览器接受百分比值,其中 100% 等于 360 度。

CSS conic-gradient(): 自定义

可以通过多种方式自定义渐变。您可以在渐变弧上添加更多有角度的颜色停止点,使用 <angle> 更改颜色停止点的位置,通过颜色提示将颜色过渡中点移动到两个颜色停止点之间的任意点,等等。

色标列表应按升序排列。较低值的后续色标会覆盖前一个色标的值,从而导致硬过渡。

不仅仅是圆形图形,还可以使用圆锥渐变创建棋盘格。

CSS conic-gradient(): 基本示例

为了创建基本的圆锥渐变,您只需要两种颜色。默认情况下,渐变中心位于 50% 50% 标记处;渐变的开始面朝上。让我们看一个例子:

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

   .basic-conic-gradient {
      background: conic-gradient(red, yellow);
      border-radius: 50%;
   }
</style>
</head>
<body>
   <h1>Basic Conic Gradient</h1>
   <div class="basic-conic-gradient"></div>
</body>
</html> 

CSS conic-gradient(): 中心定位

圆锥渐变的中心可以使用关键字、百分比或绝对长度来定位,与关键字 at。让我们看一个例子:

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

   .position-center-gradient {
      background: conic-gradient(at 0% 20%, red 10%, gold 40%, green 50%);
   }
</style>
</head>
<body>
   <h1>Position Center Gradient</h1>
   <div class="position-center-gradient"></div>
</body>
</html> 

CSS conic-gradient(): 角度变化

以下是角度变化的示例。

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

   .angle-change-gradient {
      background: conic-gradient(from 35deg, red 10%, gold 50%, green 75%, lightgreen);
      border-radius: 30%;
   }
</style>
</head>
<body>
   <h1>Angle Change Gradient</h1>
   <div class="angle-change-gradient"></div>
</body>
</html>