news 2026/10/21 2:30:23

光伏组件视觉检测实战:从电池片到组件的完整方案设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
光伏组件视觉检测实战:从电池片到组件的完整方案设计

光伏组件视觉检测实战:从电池片到组件的完整方案设计

机器视觉选型笔记 · 行业应用实战第 8 篇

**阅读提示:**本文约 7800 字,预计阅读 19 分钟。如果你正在做光伏电池片或组件端的视觉检测方案,建议直接拉到文末拿「光伏视觉检测速查清单」。

光伏是我这两年接触最多的行业,没有之一。

原因很简单:这个行业的成本压力大到每一片电池片都要"物尽其用"。一片隐裂片流入下游组件,轻则层压后返工,重则卖给客户后两三年内功率衰减超标,触发质保索赔——组件质保期是 25 年,任何一颗隐患片都是埋在产品里的定时炸弹。

但光伏视觉检测的难度,恰恰在于三个"极端"的组合:

  • 产量极端:一条主流电池片产线每小时处理 7000 片以上,组件线的层压后节拍压到 30 秒一板。检测必须完全内嵌进产线节奏,没有任何"慢下来拍清楚"的余地。
  • 幅面极端:电池片边长 182mm/210mm 还算常规,但组件端是 2.4m × 1.3m 的大幅面玻璃,而且要在这个幅面上做到 0.1~0.2mm 的像素精度才能看清隐裂——这是普通面阵相机单视野根本覆盖不了的。
  • 缺陷极端隐蔽:光伏行业最头疼的隐裂(micro crack),肉眼在明场下几乎不可见,必须靠 EL(电致发光)成像——给电池片通电,让它自己发光,用对近红外敏感的相机把这道微光拍下来。这和常规外观检测完全是两套技术路线。

这篇分享,我把从电池片到组件整条产线上做过的视觉检测项目拆开来讲:先分场景、再定硬件、最后用一个真实项目复盘把链路串起来。文中不出现任何产品型号和厂商名,参数全部按行业通用口径处理,过审安全。

一、光伏产线的四大检测场景与核心诉求

一条完整的光伏组件产线,视觉检测通常分布在四个工艺节点上。每个节点检测的对象、光照条件、节拍压力完全不同,硬件方案也必须分开设计。

1.1 电池片外观检测(丝网印刷 / 制绒后)

这是产线最前端的"入口质检",检测对象是单片电池片,主要缺陷包括:

  • 断栅 / 漏印:细栅印刷断线、主栅缺失,直接影响收集电流的效率
  • 崩边 / 缺角:切片或搬运过程造成的边缘破损
  • 划痕 / 污染:吸盘痕、手指印、浆料污染
  • 色差 / 椭圆片:镀膜不均导致的颜色偏差、圆角切割异常

这个场景的核心诉求是高分辨率 + 高速 + 多工位并行。以每小时 7000 片计算,单片处理时间不到 500ms,其中还要分给上下料。常规做法是"上视 + 下视 + 侧视"多相机布局:上视拍正面的栅线与外观,下视(透射打光)透检边角破损,侧视查厚度方向的崩边。每台相机只负责自己最擅长的那一类缺陷,不要指望一台相机全包。

1.2 串焊后 EL 预检

电池片焊接成串后、铺设之前,做第一次 EL 成像。目的很明确:把焊接过程引入的隐裂和虚焊在层压前拦下来——层压前的电池串还能拆返,层压后返工成本翻十倍不止。

这个节点的特点是:工件还在传送带上移动,但 EL 成像需要通电和相对稳定的曝光窗口。主流做法有两种:一种是传送带停走式,到位→夹持通电→拍摄→放行,节拍压力大但图像质量好;另一种是滑轨式在线拍摄,产能高但对相机灵敏度和同步精度要求更高。

1.3 层压后 EL 隐裂检测(本行业的核心场景)

这是光伏视觉检测里技术含量最高、也是投资最重的一个环节。层压之后,电池片被封装在玻璃、EVA/POE 胶膜和背板之间,从此"看不清也摸不着"——唯一有效的手段就是 EL 成像。

EL 的原理一句话能讲清:给电池片正向注入电流, PN 结会发出波长约 1000~1150nm 的近红外光(禁带宽度决定的,硅材料基本固定在这个窗口);有隐裂、断栅、黑心片的区域,少数载流子复合异常,发出的光就弱——在 EL 图像上呈现为暗线、暗斑、整片发黑。相机要对这个近红外波段有足够的响应,普通工业相机的传感器在这个波段量子效率已经掉得很厉害,所以 EL 检测对相机选择非常挑剔。

这个场景的核心诉求是:近红外高灵敏度 + 大幅面像素密度 + 暗室环境 + 稳定的电气接触。四个缺一不可,后面第三节我会逐项展开。

1.4 组件终检(外观 / 边框 / 接线盒 / 追溯码)

装框、装接线盒、清洗之后,出货前的最后一道关。检测项包括:

  • 玻璃表面划伤、脏污、彩虹斑
  • 边框硅胶溢出、缺胶、气泡
  • 背板鼓包、划伤、色差
  • 接线盒位置偏移、二极管盒盖缺失
  • 铭牌与追溯条码的打印质量(通常要求一维码等级 ≥ B 级)

这个场景缺陷对比度差异极大——玻璃划伤要暗场低角度光才能显形,背板色差又要均匀明场——所以终检工位通常是多相机 + 多套光源组合,幅面上还会用线阵相机做大面扫描。有意思的是,这个环节的检测逻辑反而和我在物流分拣篇讲的"大幅面 + 编码器同步扫描"非常像,方案可以互相借鉴。

检测场景典型缺陷成像方式典型节拍
电池片外观断栅、崩边、划痕、色差明场 + 透射多相机>7000 片/小时
串焊后 EL 预检焊接隐裂、虚焊近红外 EL + 通电夹持3600~5400 串/小时
层压后 EL 检测隐裂、黑心片、断栅近红外 EL + 暗室大幅面一板 / 25~35s
组件终检划伤、溢胶、条码、鼓包多角度明暗场 + 线阵扫描一板 / 30s 左右

二、硬件链路设计:五层模型在光伏场景的落地

老读者知道我习惯用五层模型拆视觉系统,光伏场景照旧适用,但每一层的"重心"和其他行业很不一样:

L1 检测对象 → L2 光源与光学 → L3 图像采集(相机+镜头) → L4 数据传输(采集卡/网卡) → L5 计算与决策(工控机+软件)

2.1 L1/L2:光伏特殊的光环境问题

光伏产线的光环境是我见过最"不友好"的之一:

  • EL 检测必须是暗室。近红外发光信号本来就微弱,任何环境光泄漏都会抬底噪、压对比度。实际项目中 EL 工位要做成全遮光暗箱,进出料口用双层帘幕 + 迷宫结构挡光。我见过暗箱没做好的案例:白天车间阳光从天窗斜射进来,EL 图像的背景灰度抬了 30 多个灰阶,弱隐裂直接淹没。
  • 玻璃是成像的天敌。组件端正面是 3.2mm 的超白玻璃,镜面反射极强。外观检测要用低角度暗场光让划伤"发光"、用穹顶漫射光压反光;EL 检测虽然拍的是背面出光,但正面玻璃仍会把车间灯光反射进镜头,暗箱内壁要做哑光黑处理。
  • 光源波段要避开。EL 信号在近红外,那么外观检测的白色 LED 光源就要控制在可见光段,且暗箱内的任何指示灯、散热风扇 LED 都可能漏近红外成分,要做屏蔽。

2.2 L3:相机的两条技术路线

光伏视觉的相机选型,本质是在两条路线里做选择:

路线 A:外观检测的常规路线。电池片外观用高分辨率面阵(常见 2500 万像素级别)配多工位;组件幅面扫描用 8k/16k 线阵相机配编码器同步。这部分和我在 3C、锂电文章里讲的方法论一致,不赘述。

路线 B:EL 检测的近红外路线,这才是光伏的特色。EL 相机的选型有四个硬指标:

  1. 近红外量子效率(QE):在 1000~1100nm 波段的量子效率越高越好。普通前照式 CMOS 在这个波段 QE 掉到个位数百分比,拍 EL 要靠拉长曝光硬扛;专门为近红外优化的传感器(深耗尽、背照式等技术路线)QE 可以高一个数量级。选型时直接向厂商要 1000nm 以上的 QE 曲线,不要只看峰值 QE——很多相机峰值 QE 漂亮,但峰值在 550nm,对 EL 毫无意义。
  2. 制冷与暗噪声:EL 曝光时间动辄 0.5~2 秒,长曝光下热噪声累积明显。带制冷的传感器能把暗电流压低一到两个数量级,弱隐裂的检出能力差异立竿见影。
  3. 满阱与动态范围:EL 图像里,主栅位置很亮、隐裂暗线很暗,同帧内的亮度差可能超过 60dB。动态范围不够,要么主栅过曝、要么暗部噪声淹没,二选一都不行。
  4. 像元尺寸与噪声读出:大像元(10μm 以上)的感光面积大、信噪比天然占优,这也是为什么 EL 相机的分辨率往往"不高"(常见 400~1600 万像素)——它在用大像元换灵敏度,分辨率缺口靠光学放大和拼接视野补。

2.3 L4/L5:数据传输与算力

外观检测线阵方案的数据量我来算一笔账:16k 线阵、每像素 8bit 灰度(行频 20kHz 时):

单路数据率 = 16384 px × 20k 行/s × 1 Byte ≈ 320 MB/s

多台线阵 + 若干面阵组网,聚合带宽轻松破 1GB/s,这正是我在采集卡系列(A2 篇)里讲的带宽算法的实战版本。结论也一样:万兆网口或 CoaXPress 采集卡是这类方案的基本盘,别用千兆网硬扛。

EL 检测的数据量反而不大——曝光秒级、帧率低,单路几百 MB/s 都不到。但 EL 系统对 L5 层的算法要求高:隐裂检测不是简单的阈值分割,要用背景校正、暗线增强、方向滤波(隐裂有沿主栅/垂直主栅的方向性),再叠加分类网络判断是隐裂、断栅还是黑边。算力上建议给 EL 工位单独配 GPU 推理工控机,和外观检测的工位分开,互不抢占。

三、关键参数与公式:EL 与外观的选型计算

3.1 EL 检测的像素密度计算

以 2.4m × 1.3m 组件、隐裂检出宽度目标 0.15mm 为例。按采样定理,缺陷宽度方向至少要 2 个像素,工程上留 3 个像素的余量:

像素精度目标 = 0.15mm ÷ 3 = 0.05mm/px(严口径) 或 0.15mm ÷ 2 = 0.075mm/px(宽口径)

若单视野覆盖整个组件幅面:

长边方向需求 = 2400mm ÷ 0.05mm/px = 48000 px 宽边方向需求 = 1300mm ÷ 0.05mm/px = 26000 px

单相机根本做不到 48000×26000,所以工程上都是多相机拼接或高分辨率相机 + 精密导轨分幅拍摄。常见配置是 4~9 台 EL 相机做 2×2 到 3×3 的视野拼接,每台覆盖 800×650mm 左右的子幅面,反推相机分辨率:

单台需求 = 800mm ÷ 0.05mm/px = 16000 px(长边) → 1600 万像素级(4896×3264)的相机配 50mm 焦距段镜头 只能做到约 0.1mm/px,够宽口径、不够严口径

这就是为什么高端 EL 检测设备的相机数量和分辨率总是"堆"上去的——严口径检出 0.1mm 以下微裂纹,靠的就是这个像素密度。

3.2 EL 曝光与节拍预算

EL 成像的节拍预算是光伏产线最容易被低估的部分。单板拍摄时间:

t_单板 = t_到位 + t_通电稳定 + t_曝光 + t_转移 ≈ 1s + 0.3s + 1.5s + 1s = 3.8s(单工位串联式)

层压后节拍 30s 一板,看起来余量充足?错。如果这个工位还要兼顾外观拍照、条码读取,时间会被切成好几段。实际项目里我的经验是:

  • 通电与拍摄并行不了,但转移可以:用双工位交替(A 板曝光时 B 板进出料),节拍直接省一半。
  • 曝光时间要实测标定:注入电流密度通常取短路电流的 0.5~1 倍,但胶膜厚度、电池片效率批次都会影响发光强度,投产前要用良品和缺陷样品各拉一条曝光-灰度曲线,把曝光定在"弱隐裂灰度差 ≥ 30 灰阶"的位置。
  • 严防接触电阻:通电夹具和大电流导线的接触电阻会导致整板注入电流不足,EL 图像整体偏暗且不稳定。这个坑在案例复盘里细讲。

3.3 外观线阵扫描的带宽复核

组件终检的线阵方案,用 A2 篇的五步法快速过一遍:4 台 16k 线阵、行频 20kHz、8bit:

单相机 ≈ 320 MB/s,4 台 ≈ 1.28 GB/s ≈ 10.2 Gbps → 万兆网口单口有效带宽约 9.5~10 Gbps,明显不够 → 要么上双万兆聚合,要么用 x4 Gen3 的 CoaXPress/万兆采集卡分两路承载

再叠加"开销系数 1.2"的保险(协议开销、触发重传、尖峰),结论更明确:这类幅面的方案,采集卡的 PCIe 通道规划要按 1.5 倍裕量做。这是我在 A2 篇反复强调的原则,在光伏这种多相机场景里最容易翻车。

四、决策树:一张表定相机与采集方案

把光伏四个场景的选型决策收敛成一张表:

场景相机类型关键指标优先级传输方案触发方式
电池片外观高分辨率面阵 ×多台帧率 > 分辨率 > 噪声万兆网 / 万兆采集卡光电传感器到位触发
串焊后 EL近红外制冷面阵QE@1000nm+ > 制冷 > 动态范围千兆网即可(帧率低)PLC 联锁 + 硬触发
层压后 EL近红外制冷面阵 ×4~9 台拼接QE + 拼接精度 + 暗室万兆网 / 采集卡(多路)到位传感器 + 通电联锁
组件终检8k/16k 线阵 + 面阵混编行频 + 幅面覆盖万兆采集卡(x4 起步)编码器行触发

对应的决策树逻辑:

  1. 缺陷在明场下可见吗?可见→ 走常规外观路线(面阵/线阵 + 可见光光源);不可见且是电学缺陷→ 走 EL 近红外路线。
  2. EL 路线下,先问量子效率曲线:1000nm 以上 QE 达标吗?不达标直接淘汰,再看分辨率和帧率。
  3. 外观路线下,幅面 > 500mm 且精度 ≤ 0.1mm/px → 优先线阵 + 编码器;否则面阵多工位。
  4. 相机数量 ≥ 3 或聚合带宽 > 1GB/s → 上采集卡并做 PCIe 通道规划;否则网口直连。

五、案例复盘:某 500MW 组件车间的 EL + 外观一体检测方案

去年我参与了一个组件车间层压后检测线的方案设计与调试,把最有价值的四个"坑"复盘出来。项目背景:500MW 年产能,层压后节拍 32 秒/板,要求 EL 隐裂检出宽度 ≤ 0.2mm,同时完成上下表面的外观初检。

5.1 坑一:EL 图像整体偏暗且"时好时坏"

试产阶段最诡异的现象:同一个组件,第一板 EL 图均匀明亮,隔了十几板突然整体发暗,弱隐裂全部淹没。起初怀疑相机或曝光,排查了一周才定位到通电回路的接触电阻:汇流带夹具的触点氧化 + 铜排压接不实,回路电阻波动导致实际注入电流在 0.6~0.9 倍设计值之间漂。

整改方案:通电夹具改四线制测量(Kelvin 接法),工控机实时监测回路电压电流,注入不足时自动补流或判定"本板 EL 数据无效"重新拍摄。整改后 EL 图像灰度波动从 ±25 灰阶收敛到 ±5 以内。

经验公式:EL 系统调试的第一步不是调相机,是标定电流回路。电流不稳,后面所有参数都是在沙地上盖楼。

5.2 坑二:暗箱漏光,白天黑夜两副面孔

EL 图像的背景灰度每天上午十点到下午三点系统性抬高。追查发现是车间天窗阳光透过层压机出口的间隙漏进暗箱。 解决方式分三层:暗箱内壁全哑光黑处理、进出料口改双层迷宫帘幕、相机端加窄带滤光片(只放行 950~1150nm)。三层做完,背景灰度全天稳定。

5.3 坑三:多相机拼接的"接缝黑洞"

四台 EL 相机做 2×2 拼接,试产时发现拼接缝附近总有一窄条区域成像发虚——每台相机的视场边缘光学素质本来就差(像差、照度衰减),两台相机的"边缘"拼在一起就是双重劣化。后来调整搭接策略:每台相机的有效判图区只取中心 80%,边缘 10% 只做重叠过渡不做判定,拼接搭接量从 5mm 加到 30mm。设备总量没变,判图质量明显改善。

5.4 坑四:外观线阵上线后周期性丢帧

外观检测的 4 台线阵上线后,监控发现每 40 秒左右丢一小串帧,单看每台相机的丢帧统计都"不超标"。最后用 A2 篇讲的逐帧时间戳法定位:丢帧窗口和车间另一台设备的批量数据回传(MES 抽检图像上传)完全重合——两块万兆网卡被分配到了同一个 NUMA 节点的同一组 CPU 核上,中断处理互相挤兑。

整改:把采集网卡和上传网卡的 MSI-X 中断绑定到不同的 CPU 核(亲核隔离),工控机的内存通道也按 NUMA 分配给各自网卡做页锁定缓冲。丢帧归零。这个案例再次验证了我一直说的那句话:多网卡系统的稳定性,一半在硬件选型,一半在 CPU/中断/内存的资源规划。

5.5 项目最终形态

整改后的系统配置(通用口径):EL 工位 4 台近红外制冷面阵 2×2 拼接 + 暗室 + 四线制通电;外观工位 4 台 16k 线阵上下表面对扫 + 编码器行触发;数据链路为万兆采集卡 x8 主路 + 双万兆聚合辅路;算力侧 EL 用带 GPU 的推理工控机跑隐裂分类,外观用多核工控机跑传统算法 + 轻量网络。整体节拍 32s/板,EL 隐裂检出宽度实测 0.18mm,误检率压到可返工判断的范围内。

六、光伏视觉检测八大坑位清单

  1. QE 曲线只看峰值:峰值在可见光段的相机拍 EL 就是白搭,必须索要 1000nm 以上波段的实测 QE 曲线。
  2. 暗箱漏光不达标:阳光、车间照明、设备指示灯都可能漏近红外,验收测试要做"白天/夜晚/关灯"三组背景灰度对比。
  3. 通电回路不做四线制:接触电阻让注入电流漂移,EL 图像时好时坏,这类"随机性"问题最浪费调试时间。
  4. 拼接视野用满全幅:镜头边缘像差区拿去判图,接缝处漏检风险极高,有效判图区留 80% 是底线。
  5. 曝光时间拍脑袋定:胶膜批次、电池效率波动都会改变发光强度,曝光必须用良品+缺陷样品标定并定期复标。
  6. 多网卡不做中断/NUMA 隔离:MES 上传、视觉采集抢同一组 CPU 核,周期性丢帧的"惯犯"。
  7. 线阵方案漏算编码器精度:输送线打滑或编码器轮径磨损,像素在行方向被拉伸压缩,外观尺寸测量直接失真,要定期做标定板校验。
  8. EL 工位和外观工位共用算力:隐裂分类网络的推理尖峰挤占外观算法的实时性,两个工位物理隔离工控机是更稳妥的选择。

七、FAQ:光伏视觉检测高频问题

Q1:EL 检测能用普通工业相机 + 长曝光硬扛吗?
技术上能出图,但弱隐裂的灰度差会被暗噪声吃掉,0.2mm 以下的检出能力大幅缩水。制冷 + 近红外高 QE 这两项省不掉,它们决定的是"能不能检出",不是"出图好不好看"。

Q2:隐裂方向有规律吗,算法要特别处理吗?
有。焊接和搬运引入的隐裂多沿主栅方向或垂直主栅方向,识别前做方向性滤波(两组方向的线增强)能显著提升信噪比;无规则网状裂纹则交给分类网络。方向先验是光伏 EL 算法相对通用缺陷检测的最大红利。

Q3:串焊前、层压前、层压后都要 EL,能不能只做一层压后?
能,但返工成本完全不同。层压后检出隐裂只能降级或报废;层压前检出,电池串可拆可换。预算有限的产线,优先级是:层压后 EL(必配)> 层压前 EL > 串焊后预检。

Q4:组件幅面那么大,为什么不用单台超高清面阵一次拍完?
算一下就知道:0.05mm/px 覆盖 2.4m 需要 48000 像素,单台相机做不到这个分辨率加幅面的组合;就算用大靶面相机,边缘像差和照度衰减也会让判图质量失控。多相机拼接或线阵扫描是工程上的必然选择。

Q5:外观检测和 EL 检测的触发系统能共用吗?
传感器和 IO 可以共用一套到位检测,但 EL 的通电时序必须和相机曝光做电气联锁(通电稳定后才允许曝光),这个联锁要走硬件信号而不是软件延时,否则节拍波动时会出现"没通电就拍照"的废图。

Q6:光伏检测的算法侧,传统算法和深度学习怎么分工?
我的实践是:尺寸测量、栅线完整性这类有明确几何特征的用传统算法(精度可控、可解释);隐裂、黑心片、 EL 图像分类这类纹理复杂的用分类/分割网络。两套结果做交叉校验,误杀率明显下降。

八、光伏视觉检测速查清单

选型阶段自查(10 项)
  • □ 已获取候选相机 1000nm 以上波段实测 QE 曲线
  • □ EL 相机带制冷,暗电流指标满足长曝光需求
  • □ EL 暗箱遮光验收标准已定(白天/夜晚背景灰度差 ≤ 5)
  • □ 通电夹具为四线制,回路压降已纳入实时监控
  • □ 多相机拼接方案中有效判图区 ≤ 中心 80%
  • □ 拼接搭接量 ≥ 30mm,重叠区不做双重判定
  • □ 线阵方案带宽按 1.5 倍裕量规划,采集卡 PCIe 通道已核算
  • □ 编码器分辨率与输送线速度匹配,行触发抖动已实测
  • □ EL 与外观工位算力物理隔离,GPU 推理不挤占实时算法
  • □ 采集网卡与其他网卡的 MSI-X 中断已做亲核隔离
上线验收自查(8 项)
  • □ 曝光-灰度标定曲线已完成,弱隐裂灰度差 ≥ 30 灰阶
  • □ 注入电流稳定度实测(±5% 以内),补流逻辑已验证
  • □ 24 小时连续运行无丢帧(逐帧时间戳核验)
  • □ 标准缺陷样件检出率达标(隐裂宽度下限实测值已记录)
  • □ 标定板校验流程固化,班前点检执行
  • □ 废图率(未通电/漏光/接触不良)监控已上线
  • □ 与 MES 的图像回传已做带宽错峰,不与采集抢资源
  • □ 现场留有缺陷图谱与阈值版本记录,可追溯复现

上一篇:医药包装与制剂视觉检测实战:从药片到西林瓶的完整方案设计

**下一篇:**敬请期待 · 行业应用实战第 9 篇


© 机器视觉选型笔记 · 转载请联系授权


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 2:30:21

美股韩股一起亏?穿透AI产业链依赖

同一个最终客户的采购预算,可以经过不同公司,出现在不同国家的收入里。 因此,按上市地给持仓分类,并不能直接识别业务依赖是否分散。对研究AI(人工智能)产业的人,这既是行业分析问题&#xff0c…

作者头像 李华
网站建设 2026/10/21 2:29:55

SSM+Vue小区物业管理系统毕设全攻略:从需求到论文

最近不少准备做2026届毕业设计的学弟学妹来找我,问得最多的一个选题就是“SSM Vue的小区物业管理系统”,手里拿到的题目偏偏又是“滨河新城小区管理系统”这种带具体项目名的类型。说实话,这类题目看起来平平无奇,但仔细拆开看&a…

作者头像 李华
网站建设 2026/10/21 2:29:42

【C++】 智能指针RAII

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

作者头像 李华
网站建设 2026/10/21 2:28:45

UWB定位中继信标三合一锚点,如何降低部署成本与运维复杂度?

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

作者头像 李华