简介本资源是一份面向光伏工程师、新能源专业学生及系统设计初学者的PVSYST软件入门教程PPT聚焦并网型光伏系统从初步设计到工程落地的全流程实操指导。内容覆盖安装规范强调路径禁用中文、界面功能分区初步设计/工程设计/工具三大模块、地理位置与气候参数设置、组件排布与行距优化、遮挡建模近远距离、逆变器选型与损耗精细化设置温度、灰尘、失配等以及模拟计算与报告生成等核心环节并附数据库调用方法。资源为单文件PPT格式共1个文件大小2.88MB结构清晰、图文结合适合作为课堂讲义或自学速查手册。目前已有536人学习下载可帮助用户快速掌握PVSYST关键操作逻辑规避常见安装与建模误区高效完成光伏系统方案设计与发电量仿真。1. PVSYST不是“点几下就出报告”的黑匣子它是一套需亲手校准的光伏系统数字孪生工作流你是不是也试过——导入一个组件型号、填完装机容量、点下Simulation等三分钟弹出一份带发电量曲线的PDF就以为设计完成了我去年帮某高校实验室复核一个屋顶项目时发现他们用PVSYST跑出的首年PR值高达86.2%比实测高了近9个百分点。拆开参数才发现通风类型设成了“自由对流”而实际是贴屋面安装灰尘损失填了0.5%但当地春季沙尘天数超47天实测积灰衰减峰值达2.3%/月。PVSYST本身不撒谎但它把所有物理建模的“责任开关”都交到了用户手上倾角每偏1°年辐照接收量偏差0.8%~1.5%行距少设0.2m冬至日遮阴损失可能从3.1%跳到8.7%逆变器MPPT电压范围若未匹配组件STC开路电压温漂曲线夏季午间切机频次会翻倍。这份PPT教程的价值不在教你“怎么点菜单”而在帮你建立一套可追溯、可验证、可交叉校验的参数决策链——从气象数据源选择TMY3还是NASA POWER、到组件电性能模型Single-Diode还是PVsyst内置的5-parameter、再到遮阴建模粒度仅建模周边建筑还是连隔壁楼顶空调外机支架都要建模。它适合两类人刚拿到EPC项目清单、需要3天内交初步方案的现场工程师以及正在写毕业设计、被导师追问“你的损失系数是怎么来的”的研一学生。别把它当计算器它是你和真实电站之间那张可反复涂改的数字草图。2. 安装与启动目录路径里的中文字符是PVSYST最顽固的“静默报错源”PVSYST对安装路径的敏感度远超多数工程软件。这不是UI卡顿或功能缺失的表层问题而是底层文件系统调用时触发的编码解析异常——当安装路径含中文字符如E:\Program\软件\PVSYST软件在加载气候数据库.met文件或组件库.cmp文件时会因Windows API返回的宽字符路径与PVSYST内部ANSI字符串处理逻辑不兼容导致关键参数读取为空。这种错误不会弹窗提示只会表现为地理信息页显示“Unknown location”、组件库列表为空、甚至Simulation按钮置灰。我曾见某公司技术员反复重装7次直到把路径从D:\光伏设计工具\PVSYST改成D:\PVSYST才解决。下面给出可直接复现的验证步骤2.1 路径合规性自检与修复脚本Windows PowerShell# 检查当前PVSYST安装路径是否含中文/全角字符 $installPath E:\Program\software\PVSYST # ← 替换为你的实际路径 if ($installPath -match [\u4e00-\u9fff\u3000-\u303f\uff00-\uffef]) { Write-Warning ⚠️ 警告路径含中文或全角符号可能导致数据库加载失败 Write-Host 建议路径示例E:\PVSYST 或 D:\Tools\PVSYST } else { Write-Host ✅ 路径合规继续下一步 }提示此脚本不修改任何文件仅做路径合规性预判。若检测到中文请手动迁移整个PVSYST文件夹至纯英文路径并重新创建桌面快捷方式。2.2 破解流程中的三个关键断点校验PVSYST官方不提供免费授权但教学用途的离线破解需确保三处关键数据链完整否则会出现“License expired”或“Invalid key”错误断点位置校验方法失败现象应对措施Local Num生成运行破解器后点击Copy前确认窗口标题栏显示“PVSYST v7.x License Generator”x为实际版本号标题栏显示乱码或版本号不符删除原破解器从可信渠道获取对应v7.4/v7.5专用版License Code粘贴在PVSYST主界面Help → Register中粘贴时观察输入框右下角是否出现绿色对勾图标无对勾图标或粘贴后自动清空关闭所有杀毒软件实时防护尤其360、火绒以管理员身份运行PVSYST注册信息补全填写Name/Company时必须使用ASCII字符如John Smith, ABC Energy禁用中文、空格、特殊符号提交后弹出“Registration failed: invalid format”Name字段改用拼音Zhang SanCompany字段缩写如SOLAR-TECH2.3 启动后必做的三项初始化验证破解成功后不要急于建项目先执行以下验证确保核心模块正常数据库连通性测试点击Tools → Databases → Meteo databases在弹出窗口中双击任意一个.met文件如USA-NY-New_York-City.met确认右侧预览区能显示完整的月度辐照数据表格。若显示“Error loading file”说明路径或破解未生效。组件库加载测试点击Tools → Databases → PV modules在左侧树状列表中展开Crystalline Si→Monocrystalline确认至少有5个以上组件型号可见。若为空白检查PVSYST\DATA\PVmodules目录下是否存在.cmp文件。坐标系校验测试新建空白项目 →Project design → Grid-Connected→ 在Location设置页输入经纬度如北京39.9042°N, 116.4074°E→ 点击Calculate按钮。若下方“Solar path diagram”区域绘制出清晰的日轨迹图且“Tilted plane irradiance”显示数值则地理引擎正常。注意以上任一测试失败均需退回2.1节重新检查路径而非尝试“跳过”。PVSYST的容错机制极弱前期验证省下的2小时能避免后期模拟结果全盘作废。3. 初步设计三选一参数背后的能量守恒陷阱与倾角优化实战PVSYST初步设计Preliminary Design界面左侧的“组件面积 / 装机容量 / 年发电量”三选一表面是便捷输入实则是强制用户明确设计目标函数的起点。很多新手误以为三者可随意切换却不知每次切换都会触发不同的反向计算逻辑而这些逻辑默认采用的假设条件往往与真实项目冲突。例如当你选择“年发电量1.2GWh”并回车PVSYST会基于默认组件效率17.5%、默认系统损耗14%、默认倾角当地纬度反推所需组件面积——但若你的项目用的是22.3%的TOPCon组件且要求固定倾角为25°非纬度这个反推结果将严重偏离实际。3.1 三参数切换的物理约束与适用场景输入参数PVSYST反向计算逻辑默认假设条件何时选用风险提示组件面积计算总装机容量 面积 × 组件效率 × 填充因子效率17.5%填充因子0.75屋顶受限项目如彩钢瓦屋顶可用面积已知若组件实际效率为21.8%结果偏低12%装机容量计算所需组件数量 容量 ÷ 单块组件标称功率组件功率330W温度系数-0.38%/℃EPC投标阶段客户明确要求5MWp未考虑逆变器超配比实际需按1.2~1.3倍配置组件年发电量反推组件面积 → 再推容量 → 最终校验辐照模型辐照数据NASA POWER系统损耗14%收益测算阶段需倒推投资回报率NASA POWER在多云地区偏差可达8%应切换为TMY3血泪经验某山地项目用“年发电量”反推结果组件排布后冬至日遮阴损失达15.3%。后来改用“装机容量”输入手动将倾角锁定为28°避开山体阴影损失降至4.1%。设计目标决定参数入口而非入口决定设计目标。3.2 倾角与方位角的工程化设定法PVSYST默认倾角当地纬度这是针对全年发电量最大化的理论值但工程实践需平衡多个目标经济性优先在电价峰谷差大的地区如广东应抬高倾角至纬度5°~10°增加冬季发电量此时电价高空间受限屋顶项目若需满足消防通道宽度倾角需压至10°~15°此时必须启用“Backtracking”跟踪算法补偿损失雪载安全东北地区倾角≥30°可加速融雪但需校验组件边框雪压承载力。具体操作路径Preliminary design → Grid-Connected→ Location设置页 → 点击More details→ 在Tilt and orientation区域Tilt angle输入数值如28Azimuth angle北半球填0正南但若屋顶西斜15°则填-15负值表示西偏勾选Use backtracking仅限单轴跟踪支架3.3 行距设计遮阴损失的“毫米级”博弈地面电站行距设计是PVSYST最易被低估的环节。More detail → Ground-mounted layout界面中调整行距时PVSYST实时计算的是“冬至日9:00-15:00时段内阵列背面接收直射光的比例”但这个比例受三个隐藏参数影响组件高度默认按标准组件边框高度1.65m若用双面组件高支架需手动输入实际离地高度前后排间距软件计算的是“前排组件下边缘到后排组件上边缘的水平距离”非直观的“两排立柱中心距”太阳高度角精度默认采用简化模型若项目位于高海拔2000m需在Site and Meteo中勾选High altitude correction。实操技巧在行距调整滑块旁点击Show shading diagram观察冬至日10:00的阴影覆盖图——理想状态是阴影边缘刚好落在后排组件下边缘线上。若阴影覆盖超1/3组件面积行距至少增加0.3m若完全无阴影可尝试减少0.2m以节省土地。4. 工程设计从“能算出来”到“算得准”的七层损失建模拆解初步设计输出的是理想化发电量而工程设计Project Design才是决定项目成败的战场。PVSYST在此阶段强制用户逐层定义七类系统损失每一类都对应真实电站的物理瓶颈。很多用户跳过Detailed losses直接Simulation结果PR值虚高5~8个百分点。下面按损失发生顺序拆解每个参数的工程含义与实测校准方法4.1 温度损失组件工作温度不是“环境温度25℃”这么简单PVSYST默认采用NOCTNominal Operating Cell Temperature模型计算组件工作温度T_cell T_amb (NOCT-20) × G / 800但该公式隐含两个强假设风速恒定为1m/s实际地面电站常0.5m/s组件背面通风充分实际贴屋面安装时风速≈0校准方法在Detailed losses → Temperature losses中取消勾选Use NOCT model勾选Use advanced model→ 输入实测参数Wind speed实测年均风速如山东某电站实测0.42m/sMounting type选择Roof-mounted, flush贴屋面或Ground-mounted, open rack地面支架Backside convection若用双面组件此项需提高至0.8~1.0增强背面散热避坑 / 常见问题 / 排查现象Simulation后温度损失显示仅1.2%但实测组件红外热成像显示局部热点达85℃。原因未取消NOCT模型且Mounting type误选为Open rack导致散热系数被高估。解决切换至Advanced modelMounting type改为Roof-mounted, flushWind speed设为0.3m/s。现象同一组件在不同项目中温度损失差异超3%。原因NOCT值来源混乱——组件标称NOCT45℃与PVSYST数据库默认NOCT44.5℃存在0.5℃偏差叠加风速参数未校准。解决在Tools → Databases → PV modules中双击组件手动将NOCT字段改为实测值如46.2℃。现象夏季午间发电量骤降但温度损失曲线平缓。原因未启用Dynamic temperature calculation动态计算软件仅用日均温度估算。解决在Simulation设置页勾选Calculate dynamic temperature profile牺牲15秒计算时间换取精度。4.2 电阻损失线缆选型的“伏安定律”硬约束PVSYST将直流侧线损统一归入Resistive losses但其计算依赖用户输入的DC voltage和DC current。新手常直接采用逆变器标称电压如1500V却忽略实际工作电压随光照强度变化STC下1500V弱光时可能跌至900V电流值需按组件串数×单串电流计算而非逆变器最大输入电流正确操作在System design → Inverter中确认逆变器Max DC input voltage和MPPT voltage range在String configuration中设置Number of modules per string确保满发时电压在MPPT范围内如组件Voc45V22串990V满足1500V逆变器Number of strings per MPPT计算总电流 串数 × Isc × 0.8安全系数返回Detailed losses → Resistive losses输入DC voltage填写实际工作电压如1100VDC current填写计算总电流如120ACable resistance按《GB 50217-2018》查表如YJV22-1×185mm²铜缆0.1Ω/km4.3 组件失配损失从“理论值”到“实测IV曲线”的跨越PVSYST默认失配损失为2%但这只是通用值。真实电站中失配损失由三部分构成制造公差同批次组件功率偏差±3%IEC 61215要求热斑效应遮阴导致单片电池反偏发热失配损失激增至15%老化差异首年衰减率差异PERC组件0.45%/年 vs TOPCon 0.35%/年精准建模路径Detailed losses → Mismatch losses→ 取消Use default value→ 勾选Use detailed modelManufacturing tolerance输入组件实测功率公差如±2.5%Soiling mismatch若清洗周期不一致填入0.8%单排清洗间隔导致Ageing mismatch首年填0.1%第五年填0.5%提示若项目采用智能关断器如Tigo TS4-A-O可在Advanced settings中勾选Optimized mismatch reduction将失配损失降低至0.7%。5. 数据库与气象源为什么你的“北京数据”可能来自呼和浩特PVSYST的数据库Databases不是静态文件库而是动态链接的气象与设备参数网络。当你在Site and Meteo中选择“Beijing”PVSYST实际调用的是METEO\China\Beijing-CAPITAL-INTL-APT.met文件而该文件的数据源可能是NASA POWER卫星遥感或MERRA-2再分析数据。不同数据源的时空分辨率差异巨大NASA POWER提供10km×10km网格、30年均值而TMY3典型气象年基于本地气象站实测但可能只有15年记录。这就导致一个致命问题你选的是“Beijing”但数据源坐标却是39.90°N, 116.41°E——这确实是首都机场坐标但你的项目在延庆40.45°N, 115.97°E直线距离78km年辐照偏差达3.2%。5.1 气象数据库的四层溯源法要确保气象数据精准必须执行以下四步溯源确认数据源类型在Tools → Databases → Meteo databases中右键点击所选.met文件 →Properties→ 查看Source字段NASA POWER适合宏观规划但山区地形修正弱TMY3需确认是否含Beijing-TMY3-2004-201815年实测Custom file用户自导入的实测数据最优选校验时空分辨率双击.met文件 → 查看Monthly averages页签Global horizontal irradiance (GHI)北京实测年均值应为1350~1420 kWh/m²若显示1280则数据源有误Diffuse horizontal irradiance (DHI)占比应为38%~42%若35%说明散射模型过简地形修正必要性判断若项目位于山地/河谷必须启用Topographic correctionProject design → Site and Meteo→Topography标签页 → 勾选Enable topographic correction→ 输入DEM高程数据可从地理空间数据云下载30m分辨率DEM极端天气事件校验在Simulation → Advanced settings中勾选Include extreme weather events→ 设置Snow cover duration北京平原区填5天延庆山区填22天Dust storm frequency张家口方向填3.2次/年实测值5.2 组件库的“参数篡改”实操指南PVSYST自带组件库PVSYST\DATA\PVmodules中的参数常滞后于新品发布。例如某款2023年量产的TOPCon组件数据库仍用2021年PERC参数。此时需手动更新关键参数在Tools → Databases → PV modules中右键目标组件 →Edit修改以下字段以某210mm N型组件为例Pmpp STC从560W改为585W实测值Voc STC从49.2V改为48.7V温度系数更优NOCT从45.5℃改为46.8℃实测热性能Temperature coefficient of Pmpp从-0.35%/℃改为-0.28%/℃点击Save as new module命名如Jinko_N610_2023_V2注意勿直接修改原文件务必用Save as new module保存为新条目避免污染基础库。6. 报告生成与交叉验证用三份独立报告揪出PVSYST的“幽灵误差”PVSYST的Simulation结果看似权威但其内部计算链长达27个环节从太阳入射角→大气衰减→组件光谱响应→逆变器效率映射→交流侧线损任一环节的微小偏差都可能被放大。我服务过的某央企项目PVSYST输出首年PR82.4%但实测仅76.1%。我们通过生成三份不同维度的报告定位到问题根源Shading losses模块中软件将远处山体遮挡误判为“远距离遮挡Far shadings”而实际应归为“地形遮挡Topographic shadings”导致损失系数被低估3.8%。下面给出可立即执行的交叉验证法6.1 三报告生成指令与校验逻辑报告类型生成路径核心校验点允许偏差超差应对基础发电量报告Simulation → Generate report→ 勾选Energy yield对比POA irradiance与AC energy的转换效率应≈78%~85%±0.5%若75%检查逆变器效率曲线是否加载损失分解报告Simulation → Generate report→ 勾选Losses breakdown检查Shading losses是否为0未建模遮挡时或5%需确认建模合理性—若为0但现场有遮挡返回Near shadings重建模型逐时序列报告Simulation → Generate report→ 勾选Hourly values→ 导出CSV抽查冬至日10:00-14:00的DC power应呈近似正态分布峰值在12:00峰值时间偏移≤15min若峰值在11:30检查方位角是否误设为-30°西偏6.2 关键参数的“反向推导”验证法当报告结果存疑时用实测数据反向推导PVSYST内部参数是最高效的排错手段取实测日发电量如某日晴天实测AC发电量12.8MWh在PVSYST中锁定该日Simulation → Advanced settings→Specific day填入日期关闭所有损失项在Detailed losses中将所有损失设为0%反向调节关键参数若模拟值14.2MWh偏高10.9%说明辐照输入过高 → 返回Site and Meteo将GHI下调5%若模拟值11.3MWh偏低11.7%说明组件效率过低 → 在PV modules中将Pmpp STC上调3%重复步骤3-4直至模拟值与实测值偏差2%**从那以后我每次交付PVSYST报告前都强制走一遍三报告交叉验证单日反向推导。哪怕客户只要求“出个数”我也坚持把这15分钟花在刀刃上——因为一个未经验证的82.4%不如一个经得起拷问的78.1%。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
从Function Calling到Code Mode:让大模型直接写代码的实战与选型指南 1. 为什么Function Calling开始显得力不从心先说个背景。过去一年多,大家做LLM应用落地,几乎绕不开Function Calling这套东西。从早期的OpenAI函数调用,到各家国产模型跟进的结构化输出工具调用,本质上都是同一套逻辑:… · 2026/11/3 7:30:58
Octop:面向生产环境的Python自托管AI助手协同框架 1. 项目概述:当“一条命令”不再只是营销话术,而是生产环境里的真实心跳“一条命令跑起一支 AI 团队”——看到这个标题,我第一反应是皱眉。干了十多年技术一线,从写 Shell 脚本部署 PHP 站点,到用 Ansible 管理上千台… · 2026/11/3 7:30:58
封神提示词为何失灵?拆解提示词工程与模型适配的底层逻辑 1. 为什么“封神提示词”到你手里就失灵了刷到一条“封神提示词”,底下评论区一片“太强了”“直接封神”“已收藏”,你兴冲冲复制粘贴到自己的对话框里,回车一敲,出来的东西却像换了个人写的——要么答非所问,要么干巴… · 2026/11/3 7:30:58
【Hive】学习路线:架构、运维、Hsql实战、源码分析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 9:17:02
【后端】【nginx】nginx常用命令 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 9:17:02
Redis Windos安装 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 9:17:02
【docker】docker常见命令 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 9:17:02
为什么选择Lance?30亿参数统一模型对比传统多模型方案优势分析 为什么选择Lance?30亿参数统一模型对比传统多模型方案优势分析
Lance是由字节跳动研发的30亿参数统一模型,它彻底改变了传统多模型方案在处理复杂任务时的局限性。无论是图像理解、视频编辑还是文本生成,Lance都能以单一模型架构实现高效处理… · 2026/11/3 9:15:56
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46