CSS3 渐变

CSS3 渐变是用于在网页上创建平滑的颜色过渡效果的一种功能。它允许从一种颜色过渡到另一种颜色,甚至可以包含多个颜色。CSS3 渐变主要有两种类型:线性渐变(linear-gradient)和径向渐变(radial-gradient)。线性渐变沿直线过渡,而径向渐变则沿圆形或椭圆形过渡。这些渐变效果可以通过 background 属性应用于元素的背景中,使网页设计更具视觉吸引力。CSS3 定义了两种类型的渐变(gradients):

  • 线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向
  • 径向渐变(Radial Gradients)- 由它们的中心定义

一 线性渐变

线性渐变(linear-gradient)是 CSS3 的一种渐变效果,通过在指定方向上平滑地过渡两种或多种颜色。渐变沿着一条直线进行,可以通过角度值或关键词设置渐变的方向。使用 linear-gradient 函数时,你可以定义多个颜色及其过渡点,以创建各种视觉效果。

1. 语法

background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
  • direction: 渐变的方向,指定渐变从哪里开始到哪里结束。
  • color1, color2, …: 渐变中的颜色,可以是两个或多个颜色。

2. 设置方向(关键词简化渐变方向的设置)

关键词可以简化渐变方向的设置,包括:

to top:从下到上
to right:从左到右
to bottom:从上到下(默认值)
to left:从右到左

  • 线性渐变 - 从上到下(默认情况下)
background-image: linear-gradient(red,yellow,blue);

在这里插入图片描述

  • 线性渐变 - 从下到上
background-image: linear-gradient(to top ,red,yellow,blue);

在这里插入图片描述

  • 线性渐变 - 从左到右
 background-image: linear-gradient(to right,red,yellow,blue);

在这里插入图片描述

  • 线性渐变 - 从右到左
background-image: linear-gradient(to left ,red,yellow,blue);

在这里插入图片描述

  • 线性渐变 - 对角(左上角开始(到右下角))
    可以通过指定水平和垂直的起始位置来制作一个对角渐变。
background-image: linear-gradient(to bottom right ,red,yellow,blue);

在这里插入图片描述

3. 设置方向(使用角度(deg))

如果你想要在渐变的方向上做更多的控制,你可以定义一个角度,而不用预定义方向(to bottom、to top、to right、to left、to bottom right,等等)。

语法

background-image: linear-gradient(angle, color-stop1, color-stop2);

角度是指水平线和渐变线之间的角度,逆时针方向计算。换句话说,0deg 将创建一个从下到上的渐变,90deg 将创建一个从左到右的渐变。

在这里插入图片描述
角度值指定渐变的方向,从起点到终点。单位是度(deg),通常从水平线起始点顺时针计算。

  • 0deg:从下到上
 background-image: linear-gradient(0deg ,red,yellow,blue);

在这里插入图片描述

  • 90deg:从左到右
  background-image: linear-gradient(90deg ,red,yellow,blue);

在这里插入图片描述

  • 45deg:从左上到右下
background-image: linear-gradient(45deg ,red,yellow,blue);

在这里插入图片描述

4 重复的线性渐变(repeating-linear-gradient)

repeating-linear-gradient() 函数用于重复线性渐变:

  background-image: repeating-linear-gradient(red, yellow 10%, blue 20%); 

在这里插入图片描述

二 线性渐变

径向渐变由它的中心定义。

为了创建一个径向渐变,你也必须至少定义两种颜色节点。颜色节点即你想要呈现平稳过渡的颜色。同时,你也可以指定渐变的中心、形状(圆形或椭圆形)、大小。默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthest-corner(表示到最远的角落)。

1. 语法

background: radial-gradient(shape size at position, color1, color2, ...);
  1. shape: 渐变的形状,可以是 circle 或 ellipse(默认是 ellipse)。circle 表示圆形,ellipse 表示椭圆形
background-image: radial-gradient(circle, red, yellow, blue)

在这里插入图片描述

  1. size: 渐变的大小,如 closest-side, farthest-corner 等。
  • closest-side

含义: 渐变的大小将延伸到离中心点最近的边缘(即边界)。
效果: 如果你的元素比较小,渐变的范围会相对较小;如果元素较大,渐变会填满元素的最近边界。

  background-image: radial-gradient(closest-side, red, yellow, blue)
  • farthest-side

含义: 渐变的大小将延伸到离中心点最远的边缘。
效果: 渐变会扩展到元素的最远边界,使渐变填满整个元素。

background-image: radial-gradient(farthest-side, red, yellow, blue)
  • closest-corner

含义: 渐变的大小将延伸到离中心点最近的角落。
效果: 渐变会延伸到元素的最近角落,使得渐变的范围受元素角落的限制。

background-image: radial-gradient(closest-corner, red, yellow, blue)
  • farthest-corner

含义: 渐变的大小将延伸到离中心点最远的角落。
效果: 渐变会扩展到元素的最远角落,使渐变的范围最大化。

background-image: radial-gradient(farthest-corner, red, yellow, blue)
  1. position: 渐变的起始位置,如 center, top left 等。**
  • center

含义: 渐变从元素的中心开始。
效果: 渐变将从元素的中心向外扩展。

background: radial-gradient(circle at center, red, blue);
  • top left, top right, bottom left, bottom right

含义: 渐变从元素的指定角落开始。
效果: 渐变会从元素的角落向外扩展。

background: radial-gradient(circle at top right, green, yellow);
  • top, bottom, left, right

含义: 渐变从元素的边缘中点开始。
效果: 渐变将从指定边缘的中点开始扩展。

background: radial-gradient(circle at top, orange, purple);
  • 自定义位置

含义: 可以使用 x% y% 或 xpx ypx 来指定渐变的起始位置。
效果: 渐变从自定义的具体位置开始。

background: radial-gradient(circle at 20% 30%, pink, blue);
  1. color1, color2, …: 渐变中的颜色,可以有两个或多个。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&白帝&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值