用 CSS linear-gradient 为元素背景绘制线性渐变:从两色过渡到多色与角度控制

发布时间:2026/10/5 8:57:31

用 CSS linear-gradient 为元素背景绘制线性渐变:从两色过渡到多色与角度控制 文档教程知识库【免费下载链接】til:memo: Today I Learned项目地址https://gitcode.com/gh_mirrors/ti/til点击查看免费下载linear-gradient()是 CSS 内置的渐变函数仅需一行代码即可为任意元素的背景填充平滑的线性渐变色是现代 Web 界面设计中高频使用的基础视觉技巧。本文以 TIL 仓库 css/style-a-background-with-a-linear-gradient.md 中的两色渐变示例为起点完整覆盖其核心用法并延伸讲解渐变方向、角度、多色渐变、透明度与颜色停靠点等实战参数帮助你在按钮、页面横幅、卡片等场景中直接落地可运行代码。最简单的两色线性渐变linear-gradient()在函数最简形式下只需要传入两个颜色值浏览器就会在默认的**垂直方向从上到下**上绘制一条平滑过渡的渐变。仓库原文给出的完整示例代码如下.container { background: linear-gradient(#00449e, #e66465); }将这段样式应用到 HTML 后所有带container类的元素其背景都会从#00449e深蓝平滑过渡到#e66465珊瑚红。其中#00449e是渐变起点颜色默认位于顶部#e66465是渐变终点颜色默认位于底部。该声明写在background简写属性中等价于把它交给background-image属性——渐变本质上被浏览器当作一张由函数生成的背景图像来处理。配套的 HTML 结构只需要一个普通元素即可验证效果div classcontainer渐变背景示例/div你可以在 CodePen 等在线编辑器中直接粘贴这段 CSS 观察效果也可以将.container替换成body、header等任意选择器让整个页面或特定区块拥有渐变背景。控制渐变方向关键词与角度默认的从上到下只是最简单的形态。linear-gradient()的第一个参数可以用来指定渐变的方向常见写法有两种方向关键词——使用to加方位词组合/* 从左到右 */ .hero { background: linear-gradient(to right, #00449e, #e66465); } /* 沿对角线从左上角到右下角 */ .diagonal { background: linear-gradient(to bottom right, #00449e, #e66465); }角度值——使用deg单位精确控制方向0deg表示从下到上90deg表示从左到右角度按顺时针递增.angled { background: linear-gradient(45deg, #00449e, #e66465); }从实现原理看linear-gradient()生成的是一条以指定角度穿越元素盒模型的渐变轴颜色沿该轴的垂直方向依次过渡未指定方向时浏览器使用默认值180deg即自上而下这正是仓库原示例垂直两色渐变的由来。多点渐变与颜色停靠位置linear-gradient()并不局限于两个颜色可以传入任意数量的颜色浏览器会均匀地在它们之间插值过渡.sunset { background: linear-gradient(to right, #ff9a9e, #fad0c4, #a18cd1); }还可以用**百分比或长度**显式指定某个颜色停靠点的位置从而精细控制每种颜色出现的区域宽度.bar { background: linear-gradient( to right, #00449e 0%, #e66465 50%, #f8e9a1 100% ); }上例中#00449e从0%处开始、#e66465在50%处、#f8e9a1在100%处结束三个停靠点把渐变均匀切分为两个过渡区间。省略位置时浏览器会将各颜色按等距规则自动分布。让渐变带透明度HSL、RGBA 与 alpha渐变色同样可以携带透明度alpha 通道从而让渐变背景透出下层内容或叠加出层次感。仓库中的 css/define-hsl-colors-with-alpha-values.md 详细介绍了现代hsl()语法用斜杠分隔 alpha 值的写法它可以与linear-gradient()直接组合.overlay { background: linear-gradient( to bottom, hsl(220deg 100% 50% / 0), hsl(220deg 100% 50% / 0.8) ); }上面的写法会生成一个从完全透明到 80% 不透明度的蓝色渐变常用于图片上方的文字可读性遮罩层。也可以使用rgba()达到同样效果.overlay { background: linear-gradient(to bottom, rgba(0, 68, 158, 0), rgba(0, 68, 158, 0.8)); }渐变与其他背景技术组合使用渐变本质上是一张图像因此它可以与背景图片、纯色背景等机制协同工作这正好呼应了仓库中另一篇笔记的用法——css/conditional-styling-for-unsupported-css-features.md 展示了supports条件下background-image作为回退方案的写法。例如可以给一张真实图片叠加半透明渐变以增强前景内容可读性.banner { background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(banner.png); background-size: cover; }同时渐变也可以作为动态背景的基础仓库中的 css/create-a-pulsing-background-with-css-animation.md 展示了用keyframes在两种背景颜色间来回过渡的脉冲动画而 css/animate-smoothly-between-two-background-colors.md 进一步解释了动画状态下浏览器如何自动插值。如果将animation与linear-gradient结合即可做出渐变不断流动的视觉效果这是页面横幅与品牌宣传区的常见设计手法。快速参考常用写法汇总需求写法两色垂直渐变最简background: linear-gradient(#00449e, #e66465);水平渐变background: linear-gradient(to right, #00449e, #e66465);对角渐变background: linear-gradient(to bottom right, #00449e, #e66465);指定角度background: linear-gradient(45deg, #00449e, #e66465);多色渐变background: linear-gradient(to right, #00449e, #e66465, #f8e9a1);带停靠点位置background: linear-gradient(to right, #00449e 0%, #e66465 50%, #f8e9a1 100%);带透明度的遮罩background: linear-gradient(to bottom, rgba(0,68,158,0), rgba(0,68,158,0.8));小结从仓库原笔记出发linear-gradient(#00449e, #e66465)这一行代码已经足以让元素获得美观的垂直两色渐变而通过方向关键词、角度、多颜色与停靠点、alpha 透明度等参数linear-gradient()可以覆盖横幅、按钮、遮罩、动态背景等绝大多数日常场景。结合本仓库 css 目录下的 HSL 语法、supports回退与 CSS 动画等相邻主题你可以把最简单的渐变扩展为一套完整的视觉设计工具链。赞分享文档教程知识库【免费下载链接】til:memo: Today I Learned项目地址https://gitcode.com/gh_mirrors/ti/til点击查看免费下载相关推荐CSS 背景与渐变实战指南从背景色、背景图片到线性渐变的完整解析CSS 背景与渐变实战指南从背景色、背景图片到线性渐变的完整解析 导读 背景background是网页视觉层中最容易被低估的部分——它往往在元素布局看起文档教程教育如何快速配置node-startup让Node.js应用随Linux系统自动重启如何快速配置node startup让Node.js应用随Linux系统自动重启 Node.js应用部署到Linux服务器后最头疼的问题之一就是服务器重启后运维freeCodeCamp 视觉设计课程实战用 CSS linear-gradient() 打造平滑的线性渐变背景freeCodeCamp 视觉设计课程实战用 CSS linear gradient 打造平滑的线性渐变背景 本文以 freeCodeCamp 课程文件 Cr前端后端教育创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/5 8:57:31

基于DeepSeek的交通流量预测调参指南:从特征工程到模型落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 8:52:30

Javaweb物流管理系统实战:从JSP+Servlet部署到运单状态流转

简介:基于JavaWeb的物流管理系统项目压缩包,适合正在学习JavaWeb开发、准备课程设计或希望了解物流业务信息化流程的读者。包内共717个文件,包含97个Java源码、82个JSP页面、77个Jar依赖库、51个XML配置以及大量前端资源,并配有do…

2026/10/5 8:52:30

基于Python与YOLOv8的鱼类疾病检测系统实战指南

简介:基于Python与YOLOv8开发的鱼类疾病检测系统源码,面向水产养殖从业者、计算机视觉学习者和算法工程师,用于对多种鱼类常见病症(如出血、眼部缺陷、鳍部缺陷、溃疡)进行自动化识别与实时监测。系统支持图片、视频及…

2026/10/5 11:12:38

MySQL内存占用过高排查与调优实战指南

最近又被一个老问题找上门:一台8核16G的MySQL服务器,内存长期占用95%以上,swap被疯狂使用,业务高峰期SQL响应动不动就超3秒。把服务重启,能清爽一两天,然后内存又慢慢“吃”回去。这种情况我排查了不下十次…

2026/10/5 11:12:38

增广矩阵束二维DOA估计:相干源下的闭式求解与工程实践

简介:本资源面向信号处理、无线通信、雷达与声学成像方向的学习者和研究人员,聚焦二维DOA估计这一经典课题,提供基于增广矩阵束方法的MATLAB实现范例,适合具备一定阵列信号处理基础、希望动手复现并理解L型阵列二维测向流程的读者…

2026/10/5 11:12:38

深入理解volatile:从编译器优化到多线程可见性

如果你写过多线程代码或者嵌入式驱动,十有八九遇过这种诡异场面:代码逻辑怎么检查都没问题,可程序行为就是不对。我印象最深的一次,是在一个传感器数据采集项目里,因为一个布尔标志位浪费了整整一下午。标志位在中断服…

2026/10/5 11:12:38

权限管理系统完整源码Java+MySql+SSM:从建表到AOP鉴权实战

简介:这是一套基于JavaMySQLSSM框架的权限管理系统完整源码,面向计算机专业学生、Java初学者及需要完成毕设或课程设计的开发者,帮助解决角色、菜单与权限动态分配的管理需求。系统采用B/S体系结构与标准MVC模式,划分为表现层、co…

2026/10/5 11:07:38

波特图手推指南:从传递函数到增益相位与稳定性判据

做控制或模拟电路调试的朋友,一定都有过这样的经历:系统莫名其妙振荡了,示波器一看波形开始发散,扫频仪还没接好,脑子里第一个念头就是——增益和相位到底跑到哪里去了。波特图这东西,教科书里讲了一堆渐近…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑