浅谈 线性渐变(linear-gradient)

本文详细介绍了如何使用CSS创建线性渐变,包括从上到下的默认渐变、自定义方向、多种颜色过渡、颜色定位以及斜向渐变。通过实例展示了如何设置颜色值、使用透明度实现部分淡出效果,以及通过百分比和长度值控制颜色变化的位置。此外,还提到了浏览器兼容性和负长度值可能导致的裁剪现象。文章以丰富的示例帮助读者理解并掌握CSS线性渐变的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有两种新的图像类型完全由CSS实现:线性渐变和径向渐变。这两种渐变又各分为二;循环渐变和不循环渐变。渐变最常在背景中使用。不过,本篇只讨论线性渐变。



 渐变指从一个颜色到另一个颜色的平滑过渡。例如,白色到黑色的渐变从白色开始,经过一系列不同深度的灰色之后,最终变为黑色。渐变的平缓或骤变程度取决于渐变的作用空间。如果在100像素的长度内由白色变为黑色,渐变累进的过程中每次变暗1%。(此话摘自《css权威指南》),如下图所示:

body {
            background-image: -webkit-linear-gradient(left,white,black);
        }


(1)一些简单的线性渐变

效果如下图所示

 

 第一个可能是最简单的渐变了,只有两个颜色。这里,渐变从背景定位区域的顶部由第一个颜色变到背景定位区域底部的第二个颜色。这个渐变之所以是从上到下的,是因为渐变的默认方向是top,如果想使用其他方向,可以在声明渐变时先提供一个方向。

(2)渐变颜色

渐变中的颜色值可以使用任何类型,包括带 alpha 通道的值(例如rgba() 和transparent等关键字)。因此,完全可以从不透明度为零的颜色开始(或到不透明度为零的颜色终止),实现部分淡出的渐变效果。

如下图所示:

 可以看到,第一个盒子从灰色变成了浅灰色,第二个由黄色逐渐变为透明。

当然,渐变的颜色不限于两个,只要你想,想用多少个颜色就用多少个,如下图所示:

 第一个渐变有6种颜色,两两之间以逗号分隔,而且用的都是颜色的名称,第二个由不透明到透明,各颜色分布均匀。

(3)定位

在每个颜色值之后可以(但不强求)提供一个位置值。这样可以把常规情况下均匀累进的色标变换成其他方式。
如下图所示:

颜色后面加距离的意思是:到这个距离时,该更换下一个颜色了,例如,30px-100px之间是黄色,100px-150px为粉色,依次类推。

但我要是最后位置放在300px那里,但是盒子只有200px,就会出现裁剪,只能到200px那里,剩下的都被裁剪了。在超出范围之前,只能显示这么多渐变。

如下图所示: 

 色标位置的长度值不限于px,任何长度值都可以,em、cm和英寸等都能用。此外,在同一个渐变中甚至可以混用不同的单位,但是一般不推荐这么做,如果愿意,还可以使用负的长度值,不过那样就会出现裁剪的情况,0px之前的颜色会被剪掉,此处就不做例子了哈。

既然我们能每隔几十px放一个颜色,那我们同样也能用百分数值放置颜色,位于50%处的颜色在盒子的中点,以下图为例:

 “急变”效果实现条纹:

 (4)斜线渐变

 如果想让渐变从左上到右下,可以添加一个left top,反过来也可以。

由于现在浏览器多渐变支持并不好,所以大多数情况下需要加浏览器私有前缀,此处我用的是edge,所以需要加-webkit-这个前缀,当然,以上所有情况不考虑IE浏览器 

(好了,以上就是所有内容了,如果有错,请务必指正,如果觉着写的可以的话,能不能给个三连)

CSS中,可以使用多种方法来混合颜色,以创建新的混合色。一种常用的方法是使用线性渐变linear-gradient)。您可以使用linear-gradient函数来定义两种或更多种颜色的渐变效果。 例如,如果您想要将深蓝色(midnightblue)和黑色(black)混合在一起,可以使用以下CSS代码: background-image: linear-gradient(to top, midnightblue, black); 这将创建一个从底部向上的渐变,从深蓝色逐渐过渡到黑色。您可以根据需要调整渐变的方向和颜色。 另外,还有其他一些CSS属性和方法可以用于颜色混合,如mix-blend-mode属性、rgba()函数、和HSL颜色模式。这些方法可以根据不同的需求和效果来选择使用。 总的来说,根据您的需求和想要实现的效果,可以选择使用不同的CSS方法和属性来混合颜色,以达到您想要的最终效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [在CSS中为背景混合两种颜色](https://blog.csdn.net/weixin_39642622/article/details/117896299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [浅谈网页设计中的色彩理论](https://download.csdn.net/download/weixin_38747592/15557094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值