思科ONS15454配置实战:从机箱选型到CTC业务开通与运维
简介面向需要部署和维护Cisco ONS15454光网络系统的SDH工程师这份教学课件以《ONS15454 SDH配置指南》为核心系统梳理从客户端端口、SFP模块到用户电路Circuit的完整配置路径。内容按操作流程编排先介绍定义客户端端口的四个步骤再说明创建高阶电路和VCAT电路、选择源/目标节点与时序位置等要点同时涵盖线路时钟、设备名/IP/SNMP网管等基础设置适合作为现场配置参考或团队培训材料。资源为1个PPT文件压缩包大小1.61MB已有65人学习下载。课件采用图文分步讲解能够帮助读者快速掌握15454设备登录、端口激活与电路创建的关键命令和界面操作减少在真实SDH环境中的配置差错。1. ONS15454配置手册一张PPT目录背后的传输网运维现场刚接手传输网运维的人多半会在共享盘里翻到一份叫《ONS15454配置手册.ppt》的老文件。它不像官方指南那样厚得让人劝退而是把ONS15454从硬件上电到业务开通的整个路径浓缩成了几十页幻灯片。ONS15454是思科当年的多业务传输平台承载了大量城域汇聚和骨干接入的SDH/SONET业务直到今天很多节点还在跑着。这份PPT真正值钱的地方不是命令列表而是它告诉你该按什么顺序干活、哪些参数改不得。这篇文章就顺着这条路径展开机箱和板卡怎么选、CTC客户端怎么登录、光口和业务交叉怎么配以及那些让运维在深夜翻车的细节。适合第一次接触光传输网元的新人也适合数通背景想快速转过来的工程师。2. 机箱与板卡选型ONS15454的硬件家底和配置前先做对三件事2.1 机箱结构双电源、风扇、交叉矩阵和槽位布局ONS15454的机箱结构比数通交换机更接近传统传输设备。常见机型按槽位数量分小到便携式的单槽设备大到十几槽的机架式主机区别主要在可扩展性。机箱内部核心是交叉矩阵和控制器板控制器负责整个网元的地址配置、告警汇总和CTC通信交叉矩阵则决定你能同时处理多少条高阶和低阶通道。对配置而言最需要记住的是控制器板所在槽位是固定的业务板卡只能插在其余通用槽位上点检设备时第一件事就是把板卡槽位号抄清楚。电源和风扇是容易被忽略的部分。设备一般支持双电源输入很多现场只接了一路这样一旦市电闪断整个节点就会掉链子。我一般会在开局时强制要求双路供电并配置成负载分担而不是让两块电源一块热一块闲。风扇模块也有槽位要求插错位置会导致系统读不到风扇状态进而出现莫名其妙的温度越限告警。现场配置账号前先把机箱内物理布局拍照存档是一个值得养成的习惯。2.2 TDM线卡、以太网板与CES板卡各自负责什么ONS15454之所以叫多业务传输平台是因为同一个机箱里可以混插多种业务板卡。最常见的是TDM光口卡负责接入和汇聚SDH/SONET线路速率从OC-3/STM-1一直到OC-192/STM-64。这类板卡开通业务的核心是配置光口线路、映射和交叉也是《ONS15454配置手册》里篇幅最多的内容。以太网板则把GE/10GE业务映射进传输网络适合做IP城域网和传输网之间的桥接。还有一类CES板卡专门把E1/T1这类传统TDM接口封装进远端对大量存量专线接入客户来说这条路径至今仍在用。选型不是越贵越好而是要看业务落点。节点只做低阶汇聚配OC-48/STM-16光口卡就够要做大颗粒专线或带宽扩容才需要考虑OC-192/STM-64。以太网卡的选择也需要看端口密度和映射粒度我见过不少项目一开始贪便宜选了小端口卡半年后扩容只能整板替换反而更贵。常见板卡类型和场景可以简单对应如下板卡类型典型业务常见使用场景TDM光口卡STM-1/4/16/64线路城域汇聚、骨干延伸以太网板GE接口上联IP承载网与传输网对接CES板卡E1/T1专线银行、政企存量专线接入2.3 开工前三件事核对光模块、供电、软件版本配置还没开始先做三件事能省掉后面一大半排障时间。第一核对光模块与实际板卡速率是否匹配。光口卡上插了低速率模块系统能识别但会长期报光功率异常反过来模块速率高于板卡支持能力可能直接点不亮。第二确认供电电压和机箱标签一致现场电压不稳定时要检查接地线是否可靠传输设备对地电位差非常敏感地没接好光口误码率会忽高忽低。第三登录后先查看软件版本不同版本的CTC客户端和网元软件之间可能存在兼容性问题。这三件事做完再进入正式的配置流程。很多人拿到设备就直接开干配到一半发现板卡不在线最后排查一圈回来是版本不匹配这就是典型的顺序搞反。硬件状态没有确认之前任何上层配置都可能是白做。现场经验是把硬件事项当成配置清单的第一页逐项勾掉再继续。3. 用CTC客户端连上网元登录、初始化与配置备份的落地步骤3.1 CTC的安装与Java环境准备ONS15454的图形化配置工具叫CTC它不是一个常驻本机的重型应用而是一个基于Java Web Start机制的客户端。首次使用时浏览器访问网元的管理IP页面会尝试自动拉起本地Java程序拉起失败时则需要手动安装对应版本的CTC客户端。这里最常见的坑出现在Java环境上。新版本JDK不再默认支持旧版Java Web Start协议很多人装了多个Java版本后CTC登录窗口怎么都弹不出来原因就是启动程序被默认JDK接管版本不对导致下载崩溃。我一般会在专用运维电脑上固定一套Java环境不再装其他Java应用。安装完CTC后先打开控制面板确认Java版本再在网元登录页面测试拉取。如果入口页面显示空白优先查看浏览器控制台里有没有证书或协议异常这是起步阶段最值得先排查的地方。CTC本身对内存不敏感但Java版本不干净症状会千奇百怪轻则闪退重则登录后界面按钮全部置灰。3.2 首次登录带外网管IP和账号权限网元出厂时没有业务配置但管理IP已经生效。现场通常用带外网管方式连接也就是笔记本网线直连网元管理口或者接入专门的网管网段。首次登录需要知道管理口的默认IP和默认账号密码装置一般在设备标签或局端台账里能查到。登录成功后第一步不是配业务而是修改初始口令。传输网元上有大量客户专线在跑管理账号泄漏的风险不只是设备本身而是整张承载网。账号权限也要区分。CTC里不同用户级别能执行的操作范围不同日常巡检账号只给只读权限配置修改账号单独管理这样能避免误操作。权限划分在单台设备上看起来麻烦但维护的设备数量多了以后这就是避免“手滑点错”最重要的防线。首次登录时顺便检查系统时间和时区传输设备的告警时间戳要用于故障定界时间不对后续分析两张网元的告警顺序时会直接翻车。3.3 网元初始化与命名规范登录后的初始化操作主要有四类改网元名称、设定子网掩码和网关、配置SNTP服务器、设置告警输出方式。网元名称最好一次性规范好多数团队会采用“区域-站点-设备角色”的命名方式比如“SZ-HZ-15454A”。命名一乱跨网元做电路配置时根本分不清端点这是所有后继工作中最容易被低估的成本。SNTP同步不是可选项。一张传输网络通常有几十上百个网元如果没有统一时间源出现故障时你会在不同网元上看到不同的告警时间主备倒换的触发顺序也会变得难以判断。我见过一个团队因为漏配SNTP分析一次重大故障用了两天最后还是靠设备日志里的毫秒级内部时间才拼出因果链。初始化阶段花两分钟配好时间同步比事后翻几小时日志划算得多。3.4 配置备份与恢复唯一后悔药传输设备的配置变更不好回滚尤其涉及交叉连接和时隙分配时一旦误配影响的是整条业务。所以配置备份必须前置。CTC本身提供导出配置的入口可以直接把当前数据库保存到本地。但手工备份依赖人的自觉性我一般会再补一层自动备份通过TL1端口定时把配置拉下来。下面这段Python脚本就是常见的做法通过Telnet连接网元的TL1端口触发一次配置导出。import telnetlib import time HOST 10.10.20.5 # 网元带外管理IP PORT 2361 # TL1服务默认监听端口 USER backup_user # 只读备份账号 PASS your_password # 对应口令 tn telnetlib.Telnet(HOST, PORT, timeout10) tn.read_until(bLOGIN:) tn.write(USER.encode() b\n) tn.read_until(bPASSWORD:) tn.write(PASS.encode() b\n) time.sleep(2) tn.write(bRTRV-CONFIG-ALL::ALL;\n) time.sleep(5) output tn.read_very_eager().decode(errorsignore) tn.write(bLOGOUT;\n) tn.close() with open(15454_backup.txt, w, encodingutf-8) as f: f.write(output)这段脚本的重点在最后一步把网元的完整配置文本拉到本地存档。TL1端口默认监听在2361登录后发一条“RTRV-CONFIG-ALL”命令就能拿到带格式的配置输出。用户名建议用独立的备份账号权限只到只读级别避免备份脚本成为攻击入口。将脚本放入计划任务每天执行一次每次覆盖前一天的文件就形成了一份可持续回退的“后悔药”。4. 配置光口与业务交叉从SDH线路到E1业务落地的完整路径4.1 创建SDH光口线路速率、光模块类型与光功率参数配置业务的第一步是让光口先起来。在CTC图形界面里进入对应板卡的光口配置页选择线路速率和线路编码。速率要和板卡本身能力一致编码格式一般跟随所在网络的标准选错会导致远端光口告警。光口创建后系统会读取光模块的信息自动填充波长和传输距离如果读取不到就要手工确认模块型号否则后续光功率阈值会全部失准。光功率参数是这里面的核心。接收门限设置太松线路劣化时收不到告警设置太严正常抖动就会触发误报。常见做法是先让系统自动学习一段时间的实际光功率再在自动学习到的均值基础上设定告警门限。CTC提供当前光功率实时显示打开光口状态页就能看到Tx和Rx两侧数值。配置完成后务必和光纤对端核对接收方向光口能起来不代表物理链路质量合格误码率才是最终判据。4.2 配置VC-4交叉时隙规划与业务路由SDH业务的核心是交叉连接。创建交叉前最忌讳的是想到哪做到哪没有时隙规划。一个VC-4里有63个VC-12时隙如果不做统一分配表两个业务很可能悄悄撞在同一时隙上表现为配置时成功业务开通后互相干扰。我一般的习惯是先用一张表把每个方向可用的VC-4编号以及各自内部VC-12的使用状态列出来再创建一个Excel占用台账配置完一笔就更新一笔。在CTC里创建交叉时选择源端光口和宿端光口指定VC-4编号和内部时隙号码再选择交叉类型。传输设备支持单向和双向交叉专线业务一般用双向保护场景会同时建立主用和备用两条路由。交叉建立成功后系统会做连通性检查检查失败时最好先回到时隙台账确认有没有冲突不要反复重试同一个配置。交叉时隙是网元级的公共资源它和设备上电顺序不一样配置错了不会自动恢复。4.3 用CES板卡落地E1业务一条TDM专线进传输网的典型路径政企专线大多还是E1接口。CES板卡的作用就是把E1的TDM数据封装成分组然后映射进SDH的VC通道在远端再还原成E1。配置路径一般是先在CES板卡上启用E1端口设置线路编码和阻抗再在传输侧建立一条从这个CES端口到对端CES端口的电路。参数方面E1端口的帧结构和CRC设置需要和对端设备一致不一致的表现通常是链路起来但业务不通或者频繁出现误码计数。封装模式选择结构化还是非结构化取决于对端业务是走信令还是透传选错后电话和数据业务都可能异常。这块没有统一的“默认值”必须在开局前确认客户端的实际参数。CES板卡配置好之后用环回方式测试是比较稳妥的验证手段先在设备侧做软件环回确认本端E1链路正常再在远端做硬件环回逐步把问题边界收窄。5. 配置过程中常见的5个坑现象、原因和解决办法5.1 光功率告警乱跳刚配好的光口隔几天又出告警现象是光口配置完成后当天一切正常隔几天开始随机报接收光功率越限查看实时功率数值在门限边缘反复横跳。原因通常是配置时将门限设成了固定绝对值没有留出正常波动的余量。传输链路的光功率本身会随温度、光纤老化缓慢漂移固定门限紧贴实时值就会把正常漂移当成故障。解决方法是先连续监测一周的实际功率曲线再把告警门限设置为比最低实测值再低3到5dB同时开启光功率性能监视让系统在软告警阶段就提醒你而不是等到硬告警才动作。5.2 交叉时隙冲突电路创建总失败现象是在CTC里创建电路时报“时隙不可用”而且报错不够具体只提示连接失败。原因是前面提到的人手管理时隙台账滞后同一VC-4内的VC-12被两个团队先后占用。我踩过最深的坑是两个不同专业的工程师在同一台网元上独立配业务互相对不上台账结果一个业务把另一个顶掉了。解决方法是把时隙台账升级到网元自动查询为准每次配置前先通过CTC的“时隙占用查询”把当前空闲情况拉出来再和我手里的Excel对照。查询功能是现成的不用自己推算。5.3 CTC登录掉线怀疑网元板卡挂了现象是操作过程中CTC突然断连重新登录提示会话超时但业务指示灯全部正常。原因大概率不在网元而在本机Java进程或网络链路。传输网元管理口一般比较“宅”网络里加了防火墙或做了端口限制后Java Web Start下载不完整就会出现登录后随机掉线。解决方法是先ping网元管理IP看连续丢包率再换一个固定IP重新拉取CTC如果只是操作闲置长时间被服务端断开属于正常超时机制不需要去重启任何设备。5.4 新插的板卡一直识别不到现象是把新板卡插入空闲槽位后CTC界面该槽位长时间显示空白复位机箱也没用。原因多半是板卡没插到位或者槽位背板触点氧化导致IPMB总线通信失败。我处理过一次是板卡拉手条没完全锁紧第二次检查时重新按压了一下板卡就上线了。解决方法是先观察板卡前面板指示灯是否正常亮起再带电重新插拔一次如果还是不行就要确认软件版本里是否包含该板卡的驱动支持老版本网元软件对后出的板卡经常不识别。5.5 误码率排查被“假数据”带偏现象是光功率正常、无告警但客户投诉业务丢包查看性能监视发现误码计数持续增加。原因是误码可能不在光口而在中间的某个交叉板卡或对端设备但你习惯性地盯着第一块光口板看。解决方法是把性能监视的统计维度拉全分别查看收方向、发方向、交叉板卡内部的计数用环回手段逐步收窄故障段。不要只接受“光口正常”这个结论误码是端到端属性任何一跳劣化都会表现为业务侧异常。6. 验证与日常维护用PM数据验证配置并给后续变更留依据配置完成后验证不能只看告警灯。CTC里每个光口和业务通道都有性能监视PM数据按15分钟和24小时两个周期分别统计。开通过程中我会在配置完成后的第15分钟去看第一组PM数据重点看有没有CRC误码和指针调整如果这一组数据干净业务才算真正稳定下来。PM数据要养成定期导出的习惯留存下来以后做劣化分析时它就是基线。日常巡检时用TL1命令直接拉取PM数据比打开图形界面更高效。下面是几个我常用的查询写法语法细节以你的网元版本为准但结构大体如此。RTRV-PM:OC192-4-1:STS1:::15MIN; RTRV-PM:E1-6-1:E1:::24HR;第一个命令查询槽位4的OC192光口在当前15分钟内STS1级别的误码统计第二个命令查询E1板卡的24小时性能。这两类查询都不需要逐条点击界面适合写进巡检脚本。配合前面提到过的配置备份脚本一套简单的自动巡检就搭起来了每天固定时间拉一次配置存档和PM数据有异常时再登录CTC做细查。这里说一个我自己的教训早年间配置完业务不看PM只确认“灯不闪、网管不告警”就收工结果几个月后客户投诉线路质量下降翻历史数据才发现开通当天就有零星误码累积只是因为没到告警门限被忽略了。那之后我的习惯是每次配置变更都留存一份变更前后的PM基线跨网元操作时也顺手把相邻节点的数据拉一份。PM数据不撒谎但它只给做记录的人看。这篇笔记如果能让你在验证环节多留一分钟给PM那它就没白写。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

基于Python的网络舆情分析系统:源码、数据库与论文写作全流程

基于Python的网络舆情分析系统:源码、数据库与论文写作全流程

简介:基于Python与MySQL的网络舆情分析系统毕业论文,适合计算机相关专业学生、网络管理相关部门开发人员及毕业设计选题者参考。论文以新浪微博等平台为背景,针对特定城市或地区的关键词言论,设计了一套集言论分析、言论管理、用户…

2026/10/9 14:24:46 阅读更多 →
数控机床数据采集系统:从点位表到边缘网关部署的实战指南

数控机床数据采集系统:从点位表到边缘网关部署的实战指南

简介:《数控机床数据采集系统方案》面向工业互联网与制造业信息化领域的工程师、MES系统开发人员,系统讲解数控机床实时监控与数据采集的整体设计。方案采用B/S架构,服务器端负责参数配置、数据库交互、权限管理及统计分析,客户端…

2026/10/9 14:24:46 阅读更多 →
Littlestone类私有在线学习:轻量级隐私保护实战指南

Littlestone类私有在线学习:轻量级隐私保护实战指南

1. 项目概述:当在线学习遇上隐私保护,Littlestone类到底有多“轻”?“Private online learning and prediction for Littlestone classes”——这个标题乍看像一串学术术语的堆砌,但拆开来看,它直指当前机器学习落地中…

2026/10/9 14:24:46 阅读更多 →

最新新闻

燃料智能化管理系统解决方案:从PPT到落地的数据链路与接口设计

燃料智能化管理系统解决方案:从PPT到落地的数据链路与接口设计

简介:这份PPT方案面向火力发电企业的燃料管理与信息化建设人员,系统梳理了燃料智能化管理的整体解决思路。内容从燃料成本约占火电总成本七成的行业背景切入,阐述自2012年以来各大发电集团推动燃料系统智能化升级的动因,并围绕业务…

2026/10/9 14:56:28 阅读更多 →
X切LNOI波导倍频仿真:COMSOL建模与相位匹配实战

X切LNOI波导倍频仿真:COMSOL建模与相位匹配实战

最近研究X切型绝缘体上铌酸锂薄膜(LNOI)的倍频(SHG)转化效率,COMSOL仿真前前后后跑了一个多月,越跑越觉得这东西比想象中有意思得多。LNOI这两年几乎是集成光子学里的“顶流”平台,几百纳米厚的…

2026/10/9 14:56:28 阅读更多 →
智慧零碳园区解决方案:从66页PPT到落地的四层架构与避坑指南

智慧零碳园区解决方案:从66页PPT到落地的四层架构与避坑指南

简介:这份《智慧零碳园区解决方案》PPT面向园区规划者、能源管理者、智慧城市方案商及政企数字化转型从业者,围绕“有温度、善感知、智生长”的数字生命体理念,系统梳理零碳园区从背景认知到落地运营的完整路径。资源包仅含1个pptx文件&#…

2026/10/9 14:56:28 阅读更多 →
信号完整性补充:从时序预算到实际工程排查

信号完整性补充:从时序预算到实际工程排查

写一篇关于"什么是信号完整性?补充"的技术博文,这事儿说难不难,说简单也不简单。因为在很多硬件工程师眼里,信号完整性(Signal Integrity)已经是个被讲烂了的话题,随便一搜就是一堆解…

2026/10/9 14:56:28 阅读更多 →
Altium Designer 17.0.6安装避坑指南:从环境检查到静默部署的完整方案

Altium Designer 17.0.6安装避坑指南:从环境检查到静默部署的完整方案

简介:Altium Designer 17.0.6安装教程PDF,面向电子设计工程师及PCB初学者,解决Altium Designer软件安装、破解与汉化流程不熟悉的问题。资源包内共1个pdf文件,整体大小3.03MB,内容紧凑,以图文步骤方式组织&…

2026/10/9 14:55:27 阅读更多 →
5G网络切片隔离性验证:从测试设计到pytest自动化落地

5G网络切片隔离性验证:从测试设计到pytest自动化落地

去年做5G行业专网交付的时候,客户在验收会上问了我一个很要命的问题:"你说切片隔离,那我车间里的视频监控流量和AGV控制流量在同一个基站下跑,监控业务能不能把控制业务挤垮?你拿什么证明它不会?"…

2026/10/9 14:55:27 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练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/9 6:17:20 阅读更多 →