CSS渐变背景全解析:从linear-gradient到多色混合实战
1. 从一行CSS说起为什么渐变背景值得单独拎出来讲很多人第一次接触CSS渐变是在某个深夜赶项目的时候——设计师丢过来一张背景图说“就这个渐变效果你切一下”。你打开一看从左上角的深蓝到右下角的浅紫中间还夹着一层若隐若现的粉。你心想这不就是linear-gradient一行的事吗结果写出来一对比颜色过渡生硬、方向不对、中间那层粉根本出不来。于是你开始翻文档、调角度、改色标折腾了半小时才勉强接近。这个场景太常见了。HTML背景颜色的渐变与多种颜色的混合看起来是CSS里最基础的知识点之一但真正要做到“指哪打哪”把设计稿里的渐变一比一还原甚至用纯代码做出有层次、有质感的背景里面有不少门道。它解决的核心问题是在不依赖图片资源的前提下用纯CSS生成平滑、可控、多色的背景过渡效果从而减少HTTP请求、提升页面加载速度、方便动态调整主题色。这篇文章适合谁看如果你是刚入门前端的新手正在被linear-gradient的角度和色标搞得头晕那这篇能帮你把基础打牢如果你已经写了几年页面但每次遇到复杂渐变还是靠“试”来调那这篇能帮你建立一套可复用的方法论。我会从渐变的基本语法讲起一路拆到多色混合的插值逻辑、色标位置的精确控制、以及实际项目中踩过的坑。所有代码都可以直接复制到浏览器里跑边看边试效果最好。2. 渐变的基本盘linear-gradient的语法与角度计算2.1 语法结构拆解从“方向”到“色标”的完整链路linear-gradient()的完整语法看起来是这样的background: linear-gradient(方向, 色标1, 色标2, ...);方向可以是一个角度如45deg也可以是关键词如to right、to bottom right。色标则是“颜色 可选位置”的组合比如red 0%、blue 50%、green 100%。如果不写位置浏览器会自动均匀分配。这里有一个很多人忽略的细节色标的位置可以是百分比也可以是具体长度值如100px。百分比是相对于渐变线的长度来计算的而长度值则是绝对距离。在实际项目中百分比更常用因为它能自适应容器尺寸但在某些需要精确控制渐变“压缩”或“拉伸”的场景下长度值反而更直观。举个例子下面这段代码background: linear-gradient(90deg, #ff6b6b 0%, #4ecdc4 50%, #ffe66d 100%);它会在水平方向上从左到右依次经过红、青、黄三种颜色每种颜色在对应的位置达到“纯色峰值”。注意这里的“50%”不是指容器宽度的50%而是指渐变线的50%。当角度为90deg时渐变线就是水平方向所以两者恰好重合。但如果角度变成45deg渐变线的长度会变成容器对角线的一半左右百分比对应的实际像素位置就会发生变化。2.2 角度到底怎么算从“钟表指针”到“数学坐标系”CSS渐变的角度定义和数学里的极坐标系不太一样它用的是“钟表指针”模型0deg指向正上方12点钟方向90deg指向正右方3点钟方向180deg指向正下方6点钟方向270deg指向正左方9点钟方向。角度按顺时针方向增加。这个模型和很多人直觉中的“0度在右边”是相反的所以第一次写的时候容易搞反。我自己的记忆方法是把渐变线想象成一根从容器中心伸出去的指针0deg就是指针竖直向上然后顺时针旋转。如果你想从左到右渐变那就是指针指向右边对应90deg如果想从左上到右下那就是指针指向右下对应135deg。这里有一个实用的换算技巧关键词和角度的对应关系。to top等于0degto right等于90degto bottom等于180degto left等于270deg。而to top right这种对角线关键词对应的角度取决于容器的宽高比并不是固定的45deg。如果你需要精确控制对角线渐变的角度建议直接用角度值避免关键词带来的不确定性。注意当容器不是正方形时to top right的渐变线会指向容器的右上角但角度会随着宽高比变化。比如一个宽200px、高100px的容器to top right的实际角度大约是63.4deg而不是45deg。这个细节在还原设计稿时经常被忽略导致渐变方向和设计稿有偏差。2.3 色标插值浏览器到底在“混”什么当你在两个色标之间写red和blue时浏览器会在RGB色彩空间里做线性插值。也就是说它把红色rgb(255,0,0)和蓝色rgb(0,0,255)的每个通道分别取平均值中间点就是rgb(127.5,0,127.5)也就是一种偏紫的颜色。这种插值方式在大多数情况下没问题但在某些颜色组合下会显得“脏”。比如从红色到绿色中间会经过rgb(127.5,127.5,0)也就是一种暗黄色而不是很多人期望的明亮过渡。这是因为RGB插值是在“立方体”色彩空间里走直线而人眼感知的颜色变化并不是线性的。如果你对渐变质量要求很高可以考虑使用oklab或lch色彩空间进行插值。现代浏览器已经支持在渐变中指定色彩空间比如background: linear-gradient(in oklab, red, green);这样插值出来的中间色会更符合人眼感知过渡更自然。不过需要注意的是这种写法在旧版浏览器上可能不生效需要做好降级处理。3. 多色混合的进阶玩法色标位置与硬边过渡3.1 色标位置的“挤压”与“拉伸”控制渐变节奏默认情况下多个色标会均匀分布在渐变线上。但你可以通过指定位置来改变渐变的“节奏”。比如background: linear-gradient(90deg, red 0%, red 30%, blue 70%, blue 100%);这段代码的效果是前30%是纯红色中间40%是从红到蓝的过渡最后30%是纯蓝色。通过调整30%和70%这两个位置你可以控制过渡区域的宽度。位置越靠近过渡越急促位置越远过渡越平缓。这个技巧在实际项目里非常有用。比如你想做一个“顶部纯色、底部渐变”的背景就可以把第一个色标的位置设得大一些background: linear-gradient(180deg, #1a1a2e 0%, #1a1a2e 40%, #16213e 100%);这样顶部40%的区域是纯深色下面60%才逐渐过渡到稍浅的颜色视觉上更有层次感。3.2 硬边过渡用“重复色标”做出条纹效果如果你把两个色标的位置设成一样的比如background: linear-gradient(90deg, red 50%, blue 50%);那么红色和蓝色之间就没有过渡区域直接“硬切”。利用这个特性你可以做出条纹、棋盘格等图案。比如下面这个红蓝相间的条纹背景background: linear-gradient( 90deg, #ff6b6b 0%, #ff6b6b 25%, #4ecdc4 25%, #4ecdc4 50%, #ffe66d 50%, #ffe66d 75%, #1a1a2e 75%, #1a1a2e 100% );每个颜色占25%的宽度相邻颜色之间没有过渡形成清晰的色块。这种写法比用多个div或者背景图要轻量得多而且可以随时调整颜色和比例。实操心得做条纹背景时建议把色标位置写成“前一个颜色的结束位置等于后一个颜色的开始位置”这样逻辑最清晰。如果写成red 0%, red 25%, blue 25%, blue 50%虽然效果一样但读起来更直观维护起来也方便。3.3 多色混合的“插值陷阱”为什么中间色总是发灰前面提到过RGB插值在某些颜色组合下会产生“脏”的中间色。这个问题在多色混合时会更明显。比如从橙色到紫色再到青色中间经过的区域可能会变得灰蒙蒙的。解决这个问题有两个思路。第一个是手动插入中间色标在过渡区域加一个你期望的颜色强制浏览器经过它。比如background: linear-gradient(90deg, orange, #ff88aa 50%, purple);这样中间就会经过一个偏粉的颜色而不是直接橙紫混合出来的灰褐色。第二个思路是使用oklab或lch色彩空间让浏览器在感知均匀的空间里插值。这两种色彩空间的设计目标就是让“数值上的中间”等于“视觉上的中间”所以过渡会更自然。不过兼容性需要留意建议用supports做特性检测supports (background: linear-gradient(in oklab, red, blue)) { .gradient { background: linear-gradient(in oklab, red, blue); } }4. 径向渐变与锥形渐变不止是“线性”一条路4.1 radial-gradient从中心向外扩散的圆形与椭圆radial-gradient()的语法和线性渐变类似但多了一个“形状和大小”的参数background: radial-gradient(circle at center, #ff6b6b, #1a1a2e);这里的circle at center指定了渐变的形状是圆形中心在容器正中间。你也可以写成ellipse at top left让渐变从左上角以椭圆形状向外扩散。径向渐变的一个关键参数是“大小”它决定了渐变圆的半径。可选值有closest-side、farthest-side、closest-corner、farthest-corner等。默认是farthest-corner也就是渐变圆会延伸到离中心最远的那个角。如果你想让渐变在容器边缘刚好结束可以用closest-side。实际项目中径向渐变常用来做“聚光灯”效果或者“光晕”背景。比如background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.3), transparent 60%);这会在容器的左上区域打出一团柔和的白光适合做卡片的高光效果。4.2 conic-gradient围绕中心旋转的“色轮”conic-gradient()是后来才被广泛支持的它让颜色围绕中心点旋转变化非常适合做饼图、色轮、进度环等效果。基本语法background: conic-gradient(red, yellow, lime, aqua, blue, magenta, red);这段代码会生成一个完整的色轮从红色开始依次经过黄、绿、青、蓝、紫最后回到红色。每个颜色占据的角度是均匀分配的。如果你只想做半圈可以指定角度范围background: conic-gradient(from 0deg, #ff6b6b, #4ecdc4 180deg, transparent 180deg);这里的from 0deg指定了起始角度180deg之后直接变成透明形成一个半圆形的渐变。注意conic-gradient在旧版浏览器上支持度不如linear-gradient和radial-gradient如果项目需要兼容较老的浏览器建议做好降级方案比如用背景图兜底。4.3 repeating-*让渐变自动重复三种渐变都支持repeating-前缀比如repeating-linear-gradient、repeating-radial-gradient、repeating-conic-gradient。它们的作用是让渐变在达到终点后自动从头开始形成重复图案。比如下面这个“理发店灯柱”效果background: repeating-linear-gradient( 45deg, #ff6b6b 0px, #ff6b6b 20px, #ffffff 20px, #ffffff 40px );每40px一个循环红白相间倾斜45度。这种效果用纯CSS实现比切图要灵活得多改颜色、改间距都是一行代码的事。5. 实战用多色渐变做一个“动态极光背景”5.1 需求拆解与方案选型假设我们要做一个登录页的背景要求是深色底、有流动的极光效果、颜色在蓝紫青之间变化、不能太刺眼、要能自适应不同屏幕尺寸。这个需求如果用背景图需要准备多张不同分辨率的图片而且改颜色很麻烦。用CSS渐变则灵活得多。我的方案是用多层radial-gradient叠加配合background-blend-mode做颜色混合再用CSS动画让渐变缓慢移动。这样既不需要图片资源又能做出有层次的光晕效果。5.2 分层叠加用“多背景”构建深度CSS允许在一个元素上设置多个背景用逗号分隔。每一层背景可以独立设置渐变、位置、大小。比如.aurora { background: radial-gradient(ellipse at 20% 30%, rgba(100, 200, 255, 0.4), transparent 50%), radial-gradient(ellipse at 80% 70%, rgba(150, 100, 255, 0.4), transparent 50%), radial-gradient(ellipse at 50% 50%, rgba(50, 255, 200, 0.3), transparent 60%), #0a0a1a; }这里有三层径向渐变分别位于左上、右下和中心颜色分别是淡蓝、淡紫和淡青最后用深色#0a0a1a打底。三层叠加后颜色会在重叠区域自然混合形成丰富的色彩层次。5.3 混合模式让颜色“融”在一起默认情况下多层背景是简单的“上层覆盖下层”上层不透明的地方会完全遮住下层。但如果你把颜色设置成半透明比如rgba上层就会和下层混合。不过这种混合是简单的Alpha混合效果比较平淡。background-blend-mode可以让背景层之间用更丰富的混合模式如screen、overlay、soft-light进行混合。比如.aurora { background-blend-mode: screen, screen, screen; }screen模式会让颜色变亮适合做光晕效果。多层screen叠加后重叠区域会变得更亮形成“光斑”的感觉。实操心得background-blend-mode的层数要和背景层数对应。如果背景有4层混合模式也要写4个值最后一个可以省略默认normal。写的时候容易漏掉导致混合效果不对。建议先写背景层再数一下有几层然后补上对应数量的混合模式。5.4 动画驱动让渐变“动”起来静态的渐变再好看看久了也会腻。加一点缓慢的动画能让背景“活”起来。最简单的做法是改变background-positionkeyframes aurora-move { 0% { background-position: 0% 0%, 100% 100%, 50% 50%; } 50% { background-position: 30% 20%, 70% 80%, 40% 60%; } 100% { background-position: 0% 0%, 100% 100%, 50% 50%; } } .aurora { animation: aurora-move 20s ease-in-out infinite; }这里每个背景层的位置都在缓慢移动周期是20秒缓动函数是ease-in-out让运动更自然。注意background-position的值的数量要和背景层数一致否则浏览器会按默认值处理可能导致动画不生效。5.5 性能与兼容性检查多层渐变加动画对性能有一定要求。在低端设备上如果动画区域很大可能会出现掉帧。我的经验是尽量用transform和opacity做动画避免频繁触发重绘。但background-position的动画确实会触发重绘所以如果页面本身很复杂建议把渐变背景放在一个独立的、尺寸固定的伪元素上用will-change: background-position提示浏览器优化。兼容性方面background-blend-mode在主流浏览器上支持良好但如果你需要支持很老的版本可以做一个纯色兜底.aurora { background: #0a0a1a; background: radial-gradient(...), radial-gradient(...), #0a0a1a; }这样即使渐变不支持至少还有一个深色背景不会出现白屏。6. 常见问题与排查技巧实录6.1 渐变不生效先检查这三个地方第一个常见问题是语法写错。比如把linear-gradient写成linear-gradiant或者忘了写background属性直接写linear-gradient。CSS对拼写很敏感一个字母错了整个声明就会被忽略。第二个问题是颜色值格式不对。比如#ff6b6只有5位应该是6位或者rgb(255,0,0,0.5)这种写法rgb不支持第四个参数应该用rgba。第三个问题是渐变被其他背景覆盖。如果你在同一个元素上写了多个background声明后面的会覆盖前面的。检查一下是否有其他样式规则优先级更高。6.2 渐变方向反了角度和关键词的对应关系前面讲过CSS的0deg指向正上方90deg指向正右方。如果你想要“从左到右”的渐变应该用90deg或to right。很多人会直觉地写成0deg结果发现渐变是从下到上的。另外to bottom right这种对角线关键词实际角度取决于容器宽高比。如果你需要精确的45度对角线直接用135deg更可靠。6.3 中间色发灰试试插入中间色标或换色彩空间RGB插值导致的“脏中间色”是渐变中最常见的美学问题。最快的解决方法是手动插入一个中间色标强制浏览器经过你期望的颜色。如果项目允许使用oklab色彩空间能让过渡更自然。6.4 渐变在移动端显示不一致注意视口单位和设备像素比移动端浏览器的视口单位和桌面端不同100vh在移动端可能会包含地址栏的高度导致渐变被截断。建议用100dvh动态视口高度或者用min-height: 100vh配合padding来规避。另外某些移动端浏览器对渐变的渲染精度不同可能会出现“色带”现象颜色过渡不平滑出现一条条明显的色阶。解决方法是在渐变中加入微小的噪点或者用background-image叠加一层极淡的噪点图。6.5 常见问题速查表问题现象可能原因解决方法渐变完全不显示语法拼写错误、颜色值格式错误检查linear-gradient拼写确认颜色值位数渐变方向与预期相反角度定义理解错误记住0deg向上、90deg向右或用关键词中间色发灰发暗RGB插值在感知上不均匀插入中间色标或使用oklab色彩空间移动端渐变被截断100vh包含地址栏高度改用100dvh或min-height渐变出现色带浏览器渲染精度不足叠加噪点图或增加色标数量动画卡顿background-position触发重绘用伪元素隔离加will-change提示最后再分享一个小技巧调试渐变时可以在浏览器开发者工具里直接修改色标位置和颜色实时看效果。Chrome的样式面板支持点击颜色块调出取色器还能拖动色标调整位置比在代码里反复改要快得多。调好之后再把值复制回代码里效率能提升不少。

相关新闻

从搜索到强化学习:AI算法脉络与实训避坑全解析

从搜索到强化学习:AI算法脉络与实训避坑全解析

简介:PDF文档为吴飞教授《人工智能导论:模型与算法》电子版,适合高校学生、考研备考生及入门开发者系统学习AI基础理论与核心算法。内容覆盖人工智能概述、搜索求解、逻辑与推理、监督学习、无监督学习、深度学习、强化学习与博弈对抗&#x…

2026/10/15 9:45:41 阅读更多 →
Hyperframes超帧技术:从30fps到120fps的丝滑慢动作原理与实战

Hyperframes超帧技术:从30fps到120fps的丝滑慢动作原理与实战

前阵子有位朋友在群里发了条水下慢动作视频,画面里的水母触手像被放慢了十倍的丝绸。评论区好几个人追着问他用的哪款高速摄影机,结果他查了一圈才搞清楚,素材其实是普通手机在 30fps 下拍的,后期通过一种被大家叫作hyperframes的…

2026/10/15 9:45:41 阅读更多 →
SpringBoot+Vue家电电商平台开发实战

SpringBoot+Vue家电电商平台开发实战

1. 项目背景与核心价值家电销售展示平台是一个典型的B2C电商系统,采用前后端分离架构实现。这个项目特别适合作为计算机相关专业的毕业设计选题,因为它涵盖了现代Web开发的核心技术栈和典型业务场景。我在2018年参与过一个类似的家电电商平台开发&#x…

2026/10/15 9:45:41 阅读更多 →

最新新闻

superpowers安装配置全攻略:从零跑通到避坑指南

superpowers安装配置全攻略:从零跑通到避坑指南

1. 从“superpowers”这个标题说起:它到底是什么 第一次看到“superpowers”这个词,很多人脑子里蹦出来的可能是超级英雄电影里的超能力,或者是某个游戏里的技能系统。但如果你是在技术社区、开源项目或者工具链的语境下看到它,那…

2026/10/15 10:31:27 阅读更多 →
print调试法:从入门到精通,秒杀偶发与并发疑难杂症

print调试法:从入门到精通,秒杀偶发与并发疑难杂症

凌晨一点半,测试环境的告警响了第三回。我在终端里翻着日志,边上蹲着的实习生小声问:"哥,这事都复现三次了,你挂个断点看一眼不就行了?"我一边敲print一边回他:"断点要是能抓到那…

2026/10/15 10:31:27 阅读更多 →
高效能人士的七个习惯PPT模板:从结构到演讲的实战指南

高效能人士的七个习惯PPT模板:从结构到演讲的实战指南

简介:《高效能人士的七个习惯》PPT演讲模板,适合职场培训、团队晨会、个人成长分享等场景,也方便讲师围绕积极主动、以终为始、要事第一、双赢思维做结构化讲解。模板重点呈现四象限法则与目标管理方法,将任务分为重要且紧急、重要…

2026/10/15 10:31:27 阅读更多 →
Java大数据导出优化:流式查询解决OOM问题

Java大数据导出优化:流式查询解决OOM问题

1. 项目背景与核心痛点去年处理一个千万级数据导出需求时,我的Java应用在导出到50万行左右突然崩溃,监控显示堆内存直接爆了。这种大数据量导出场景下的OOM(内存溢出)问题,是后端开发者的经典噩梦。传统分页查询在数据…

2026/10/15 10:31:27 阅读更多 →
Python自动化运维:exe自动升级机制设计与实现

Python自动化运维:exe自动升级机制设计与实现

1. 自动升级这件事,为什么值得单独拿出来做做Python自动化运维的人,迟早会碰到一个绕不开的场景:你写了一个打包成exe的小工具,分发给了十几台甚至几十台机器上的同事或客户使用。第一版跑得好好的,第二版修了个bug、加…

2026/10/15 10:31:27 阅读更多 →
网络空间安全夏令营线上复试全攻略:从准备到复盘

网络空间安全夏令营线上复试全攻略:从准备到复盘

1. 一场线上复试的亲历复盘与拆解2020年7月16日,我参加了一场网络空间安全方向的夏令营复试,形式是线上。那一年情况特殊,绝大多数院校的夏令营都转到了线上,考核方式、面试节奏、甚至设备调试的细节,都和往年线下完全…

2026/10/15 10:30:26 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/15 9:49:14 阅读更多 →