火炮周视瞄准镜初步设计:指标分解、光路构型与轴系精度校核

简介:这份文档面向兵器工程、光学仪器及火炮瞄准系统方向的学生与设计人员,围绕火炮周视瞄准镜的初步设计展开,解决从光学参数确定到系统结构选型的完整设计流程问题。资源包共1个doc文件,约395KB,内容为一份结构完整的课程设计或工程初步设计说明书。文档从概述入手,明确视放大率3.7倍、物方视场角10°、出瞳直径4mm、出瞳距离不小于20mm、潜望高185mm、俯仰±18°与水平360°瞄准范围、渐晕系数K=0.5等关键技术指标,随后展开光学系统基本形式与结构论证,涵盖道威棱镜、直角棱镜、屋脊棱镜的选型依据与转向分析,并逐项完成目镜、物镜、分化板及各光学零件的外形尺寸计算与出瞳距离、潜望高验证。附录补充棱镜转动定理、目镜与物镜设计原理,目录层次清晰,便于按模块查阅。已有230人学习,适合需要参考完整设计计算链条与棱镜转向推导的读者。

1. 火炮周视瞄准镜初步设计:从一纸文档到可复现方案

火炮周视瞄准镜初步设计,本质上是一份把光学、机械、伺服三条链路在纸面上先跑通的设计文档。它要解决的核心问题是:在炮塔空间受限、后坐冲击大、温度跨度宽的条件下,让瞄准镜实现 360° 周视观察并稳定输出方位角。适合谁看?做光电观瞄设备的结构工程师、负责方向机随动控制的电控工程师,以及需要把设计文档转成可加工图纸的工艺人员。很多人第一次拿到这个题目,会直接去翻光学设计手册,结果卡在“周视”两个字上——周视不是简单加个转台,它要求方位回转与俯仰补偿解耦,还要保证光学通道在旋转过程中不丢像。这份初步设计文档的价值,就在于把指标分解、选型依据、接口定义和校核方法一次性说清楚,让后续详细设计有据可依。

2. 周视瞄准镜的指标分解与总体布局

2.1 从战术指标到光学参数的映射

初步设计的第一步不是画图,而是把“周视”“瞄准”“火炮”三个词拆成可计算的量。周视意味着方位轴需要连续 360° 回转,且任意角度下光学系统都能保持像面稳定;瞄准意味着视场中心与炮轴线在指定距离上重合,通常要求瞄准线偏差小于 0.5 密位;火炮则带来后坐冲击和振动,光学件要能承受一定量级的加速度。常见做法是先把总体指标列成表,再逐项往下分。

总体指标分解到光学分解到结构分解到伺服
方位 360° 连续道威棱镜或反射镜组消像旋方位轴系精度 ≤ 0.2 密位方位电机连续力矩 ≥ 0.8 N·m
瞄准线偏差 ≤ 0.5 密位物镜焦距 ≥ 120 mm镜筒刚度一阶模态 ≥ 200 Hz编码器分辨率 ≤ 0.05 密位
抗后坐冲击镜片胶合面剪切强度校核缓冲垫刚度匹配锁紧机构断电自锁
工作温度 -40~+55 ℃光学材料热膨胀系数匹配间隙配合补偿电机温漂补偿

这张表是初步设计的骨架。焦距决定角分辨率,口径决定入瞳直径,两者又反过来约束镜筒外径。我一般会先按视放大率 Γ 和视场 2ω 反推焦距:Γ = tanω'/tanω,其中 ω' 是人眼张角。若要求 8 倍放大、±3° 视场,则物镜焦距大约在 120~150 mm 之间。这个范围既能保证分辨率,又不会让镜筒粗到装不进炮塔预留孔。

2.2 周视光路的两种常见构型

周视光路的核心是解决“转头不转像”。常见做法有两类:一类是道威棱镜随方位轴同步旋转,利用棱镜的像旋转特性抵消方位旋转;另一类是采用反射镜组加消像旋电机,让像面始终与目镜对齐。前者结构紧凑但棱镜加工难度大,后者控制复杂但光学件通用性强。

道威棱镜方案的计算要点是:棱镜旋转角为方位角一半时,像面旋转与方位旋转抵消。也就是说,方位转 360°,棱镜只需转 180°。这带来一个好处——棱镜驱动电机转速减半,但坏处是棱镜的安装角误差会被放大两倍。若棱镜安装偏差 0.1°,像面就会偏 0.2°。所以初步设计里必须给棱镜座标注角定位精度,通常要求 ≤ 0.05°。

反射镜组方案则需要在方位轴上装一个消像旋电机,电机转角由方位编码器实时解算。控制律一般是 θ_mirror = θ_azimuth / 2 + θ_offset,其中 θ_offset 是装调补偿角。这个方案对编码器采样率有要求,若方位转速 30°/s,采样率低于 1 kHz 就会在像面产生抖动。初步设计阶段就要把编码器接口和电机响应带宽写进接口定义。

2.3 方位轴系与俯仰轴的布局选择

方位轴系常见有立轴式和悬臂式。立轴式刚度好,但高度尺寸大;悬臂式紧凑,但悬臂端挠度会直接影响瞄准线。初步设计里可以用简支梁模型估算挠度:δ = F L³ / (3 E I)。假设镜筒质量 2 kg,悬臂长 80 mm,镜筒外径 40 mm、壁厚 3 mm,则惯性矩 I ≈ π(40⁴-34⁴)/64 ≈ 5.2×10⁴ mm⁴。钢材 E=2.1×10⁵ N/mm²,算得 δ ≈ 0.03 mm。这个量级在 100 m 距离上对应约 0.3 密位,已经接近指标上限。所以悬臂式必须加加强筋或缩短悬臂。

俯仰轴一般与方位轴正交,但火炮周视瞄准镜的俯仰范围通常不大,±10° 足够。俯仰轴系可以用一对角接触球轴承预紧,预紧力按轴向刚度需求选。若要求俯仰角重复精度 ≤ 0.1 密位,轴承轴向游隙要控制在 5 μm 以内。这些数字在初步设计文档里要写成明确的技术要求,不能只写“高精度”。

3. 光学系统初步设计与像质校核

3.1 物镜选型与初始结构参数

物镜是瞄准镜的入瞳,决定集光能力和分辨率。常见构型有双胶合、三片式、匹兹伐。火炮周视瞄准镜视场不大,双胶合或三片式就能满足。初始结构可以用薄透镜公式估算:1/f' = (n-1)(1/R1 - 1/R2)。若选 K9 玻璃 n=1.5163,要求 f'=120 mm,取 R1=+80 mm,则 R2 约 -240 mm。这个初始解可以输入光学设计软件优化。

优化时的评价函数要包含:轴上点弥散斑 RMS ≤ 10 μm,轴外 0.7 视场 MTF@50 lp/mm ≥ 0.3,畸变 ≤ 2%。这些指标对应到加工,就是曲率半径公差 ±0.05 mm、厚度公差 ±0.02 mm、偏心 ≤ 1′。初步设计文档里要给出公差分配表,否则工艺没法报价。

# 薄透镜初始曲率估算 def thin_lens_radius(f, n, R1): # f: 焦距 mm, n: 折射率, R1: 第一面曲率半径 mm # 返回第二面曲率半径 R2 inv_R2 = (n - 1) / f - 1 / R1 return 1 / inv_R2 f = 120.0 n = 1.5163 R1 = 80.0 R2 = thin_lens_radius(f, n, R1) print(f"第二面曲率半径 R2 = {R2:.2f} mm")

这段代码算的是薄透镜近似下的第二面曲率半径。参数 f 是焦距,n 是玻璃折射率,R1 是第一面曲率半径。注意薄透镜公式忽略了厚度,实际设计时要把厚度加进去重新优化。R2 为负值表示第二面弯向像方,这是双胶合负透镜的常见形式。

3.2 棱镜展开与光路长度计算

道威棱镜的光路展开长度直接影响镜筒总长。道威棱镜可以看成一块玻璃平板加一个反射面,展开后光路长度 L = n × d,其中 d 是棱镜沿光轴的结构长度。若棱镜用 K9 玻璃,d=40 mm,则等效空气光路为 60.6 mm。这个长度要在镜筒布局时预留,否则后截距不够,目镜装不进去。

棱镜的另一个参数是通光口径。通光口径要大于物镜出瞳直径,否则会拦光。出瞳直径 D' = D / Γ,若物镜口径 D=40 mm,放大率 Γ=8,则出瞳直径 5 mm。棱镜通光口径取 8~10 mm 即可,留一定余量。棱镜角度公差通常要求 ≤ 10″,面型 PV ≤ λ/4。这些在初步设计里要写成棱镜图的技术条件。

3.3 目镜匹配与出瞳距离

目镜的作用是把物镜成的像放大到人眼舒适观察。出瞳距离至少要 20 mm,否则火炮后坐时目镜会撞到射手眼眶。目镜选型可以用对称式或凯涅尔式,后者出瞳距离更容易做长。目镜焦距 f_e = f_o / Γ,若 f_o=120 mm,Γ=8,则 f_e=15 mm。这个焦距的目镜出瞳距离做到 20 mm 需要专门优化。

目镜的视度调节范围一般取 ±4 屈光度,对应焦距变化约 ±0.5 mm。初步设计里要给出视度调节机构的行程和刻度。调节机构可以用螺纹副,螺距 0.5 mm,转一圈 0.5 mm,对应约 2 屈光度。刻度盘上每 0.1 mm 一格,对应 0.4 屈光度,足够用。

4. 机械结构与轴系精度设计

4.1 方位轴系精度分配与轴承选型

方位轴系是周视精度的根基。轴系误差主要来自轴承游隙、轴颈圆度、安装偏心。若要求方位角误差 ≤ 0.2 密位,换算成角度约 0.012°。这个精度用一对角接触球轴承预紧后可以做到,但轴承内圈径向跳动要 ≤ 2 μm,外圈 ≤ 3 μm。选型时优先选 P4 级或更高精度等级。

预紧力的大小影响刚度和摩擦力矩。预紧力过大,摩擦力矩上升,电机选型要加大;预紧力过小,游隙导致回差。常见做法是按轴承样本给的预紧力曲线取中间值。若轴承内径 30 mm,预紧力约 200 N 时,轴向刚度约 100 N/μm,摩擦力矩约 0.05 N·m。这个力矩在电机选型时要计入。

轴系安装偏心可以用两个轴承座同轴加工保证。若分体加工,同轴度要求 ≤ 0.01 mm。初步设计里要标注轴承座的同轴度和端面垂直度,否则装配后方位角误差会超差。

4.2 镜筒刚度校核与一阶模态估算

镜筒刚度不足会导致瞄准线在振动下漂移。一阶模态频率 f1 = (1/2π)√(k/m),其中 k 是镜筒等效刚度,m 是镜筒质量。若镜筒质量 2 kg,要求 f1 ≥ 200 Hz,则 k ≥ (2π×200)²×2 ≈ 3.16×10⁶ N/m。这个刚度靠镜筒壁厚和材料保证。钢材弹性模量 2.1×10¹¹ Pa,若镜筒长 200 mm,等效为悬臂梁,刚度 k = 3EI/L³。反推 I ≥ kL³/(3E) = 3.16×10⁶×0.2³/(3×2.1×10¹¹) ≈ 4.0×10⁻⁸ m⁴。对应外径 50 mm、内径 44 mm 的圆管,I ≈ π(50⁴-44⁴)/64 ≈ 1.2×10⁻⁷ m⁴,满足要求。

这个估算在初步设计里用来定镜筒壁厚。若算出来壁厚太薄,可以加筋或换更高模量材料。碳纤维复合材料模量约 1.5×10¹¹ Pa,比钢低,但密度小,对模态有利。不过碳纤维热膨胀系数各向异性,温度变化时瞄准线会漂,要慎重。

4.3 缓冲与锁紧机构的设计要点

火炮后坐冲击是瞄准镜最恶劣的工况。缓冲机构的作用是把冲击加速度降到光学件能承受的水平。常见做法是在镜筒与炮塔连接处加橡胶垫或弹簧阻尼器。橡胶垫的刚度按冲击加速度和允许位移选。若后坐加速度 100 g,允许位移 2 mm,则等效刚度 k = ma/x = 2×100×9.8/0.002 ≈ 9.8×10⁵ N/m。这个刚度对应橡胶垫硬度约 60 Shore A,厚度 10 mm。

锁紧机构用于非战斗状态固定瞄准镜,防止运输中晃动。锁紧力要足够大,但解锁要方便。常见做法是锥销定位加偏心轮锁紧。锥销锥度 1:10,锁紧力 500 N 时,摩擦力约 100 N,手动解锁力约 50 N,可以接受。初步设计里要给出锁紧机构的操作行程和锁紧力。

5. 避坑与常见问题排查

5.1 像面旋转消不掉,先查棱镜同步角

现象:方位旋转时,目镜里看到的像跟着转,消像旋机构不起作用。原因通常是棱镜驱动电机与方位电机的同步关系错了。道威棱镜要求棱镜转角 = 方位角 / 2,若程序里写成 1:1,像面就会转两倍。解决:检查控制代码里的传动比,确认棱镜电机减速比和编码器分频系数。若用机械同步,检查齿轮齿数比是否为 2:1。

5.2 瞄准线随温度漂移,查材料热膨胀匹配

现象:低温 -40 ℃ 校瞄后,高温 +55 ℃ 下瞄准线偏了 1 密位以上。原因:镜筒和光学件热膨胀系数不匹配,导致焦距变化和光轴偏移。解决:镜筒选与玻璃热膨胀系数接近的因瓦合金或钛合金,或在结构上做热补偿。若已定型,可以在目镜端加温度补偿环,用不同膨胀系数材料叠层抵消。

5.3 方位轴回差大,查轴承预紧和驱动间隙

现象:方位正反转时,瞄准线有 0.3 密位以上的空回。原因:轴承预紧力不足,或齿轮传动有齿侧间隙。解决:重新调整轴承预紧力,或改用消隙齿轮。若用同步带,检查带张力是否足够。回差在初步设计里就要分配,一般轴承回差 ≤ 0.05 密位,齿轮回差 ≤ 0.1 密位,总和不超过 0.2 密位。

5.4 镜筒一阶模态低于 150 Hz,查壁厚和连接刚度

现象:振动试验时瞄准线抖动大,扫频发现一阶模态只有 120 Hz。原因:镜筒壁厚不足,或镜筒与轴承座连接刚度低。解决:增加壁厚或加加强环,检查连接螺栓预紧力。若结构受限,可以在镜筒外缠碳纤维布提高刚度。注意碳纤维与钢的热膨胀差异,要校核温度工况。

5.5 目镜出瞳距离不够,查目镜后截距

现象:射手戴头盔时看不到完整视场。原因:目镜出瞳距离小于 20 mm,或目镜后截距被棱镜占用。解决:重新优化目镜,增加后截距;或缩短棱镜展开光路,把目镜后移。若空间实在不够,可以改用出瞳距离更长的目镜构型,如对称式改凯涅尔式。

6. 从初步设计到详细设计的验证清单

初步设计文档写完,不代表可以直接投产。我一般会做一轮“纸面验证”,把关键指标用简化模型算一遍,确认没有量级错误。下面这张清单是我常用的自检表,每项都对应一个可计算的判据。

验证项判据计算方法
方位角误差≤ 0.2 密位轴承游隙 + 安装偏心 + 编码器误差
瞄准线偏差≤ 0.5 密位镜筒挠度 + 棱镜角误差 + 目镜装调
一阶模态≥ 200 Hz悬臂梁刚度公式
出瞳距离≥ 20 mm目镜后截距 + 棱镜展开长度
抗冲击100 g 不损坏缓冲垫刚度 + 镜片剪切强度
温度漂移≤ 0.5 密位热膨胀系数差 × 温度跨度 × 结构长度

这张表里的数字不是拍脑袋,每一项都要有计算过程。比如温度漂移,若镜筒钢与玻璃热膨胀系数差 2×10⁻⁶ /℃,结构长度 200 mm,温度跨度 95 ℃,则长度变化 0.038 mm。这个变化在焦距 120 mm 上对应约 0.3 密位,接近指标上限。所以要么选低膨胀材料,要么在结构上做补偿。

验证清单里还有一项容易被忽略:装配工艺可行性。初步设计里给的公差,工艺能不能做到?比如棱镜角度公差 10″,普通光学加工可以做到,但成本高;若放宽到 30″,成本降一半,但像面旋转误差会到 0.1 密位。这个权衡要在初步设计里写清楚,让后续详细设计有选择依据。

我自己的习惯是,初步设计文档最后一页永远留一张“待定项”表,把没算准的、需要试验验证的、依赖供应商能力的项列出来。比如橡胶垫的阻尼系数、润滑脂的低温力矩、编码器的抗冲击指标,这些在纸面上算不准,必须做样件测试。这张表不是文档的缺陷,而是给详细设计指路。做火炮周视瞄准镜,最怕的就是初步设计里把不确定项写成确定值,后面详细设计发现不对,整个方案推倒重来。所以宁可留几个待定项,也不要拍脑袋填数。希望帮到你。

本文还有配套的精品资源,点击获取

相关新闻

Linux僵尸、孤儿与守护进程:原理、区别与实战实现

Linux僵尸、孤儿与守护进程:原理、区别与实战实现

1. 项目概述&#xff1a;从“进程尸体”到“后台幽灵”的真实世界映射在 Linux 系统里&#xff0c;你执行ps aux | grep defunct时看到的<defunct>标记&#xff0c;不是报错&#xff0c;而是一具“进程尸体”——它已经死亡&#xff0c;却还没被收尸&#xff1b;你用nohu…

2026/10/21 6:57:46 阅读更多 →
Docker部署Redis的四大核心问题:网络、持久化、配置、集群宣告

Docker部署Redis的四大核心问题:网络、持久化、配置、集群宣告

1. 为什么非得用 Docker 部署 Redis&#xff1f;——从三台裸机故障说起去年在某高校实验室做模拟项目X的后端支撑时&#xff0c;我负责缓存层搭建。最初按老办法&#xff1a;三台物理服务器&#xff0c;每台手动编译安装 Redis 6.2&#xff0c;配好 bind、port、requirepass、…

2026/10/22 13:18:48 阅读更多 →
Docker精讲:从Flask项目构建生产级容器镜像

Docker精讲:从Flask项目构建生产级容器镜像

1. 为什么“快速入门”反而最容易卡在第一步&#xff1f; 很多人点开“Docker 快速入门”教程&#xff0c;前五分钟信心满满——装完 Docker Desktop、跑通 docker run hello-world &#xff0c;就以为自己已经“会了”。结果第二天想把本地写好的 Python 脚本打包成镜像&am…

2026/10/22 11:00:27 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年&#xff0c;我大部分时间都在跟浏览器标签页打交道&#xff0c;直到第一次把桌面应用跑起来&#xff0c;才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词&#xff0c;最开始是在某段时间频繁出现在同事的讨论里&#xff0c;一个用HTML…

2026/10/22 10:18:38 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档&#xff0c;主要面向智能锁安装人员、终端用户及售后维护者&#xff0c;帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件&#xff0c;大小4.37MB&#xff0c;内容结构清晰&#xff…

2026/10/22 11:01:53 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统&#xff0c;整车要求空载跑到8m/s&#xff0c;电机转速已经拉到额定点&#xff0c;驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令&#xff0c;转速纹丝不动&#xff0c;三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/22 9:44:47 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年&#xff0c;用它写过嵌入式驱动、做过游戏服务端&#xff0c;也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词&#xff0c;我其实挺感慨的——这门语言的难点从来不是语法多&#xff0c;而是知识点之间的耦合太深…

2026/10/22 10:42:00 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书以PDF格式发布&#xff0c;适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开&#xff0c;先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能&#xff0c;再给出完整安装步骤&…

2026/10/22 10:40:08 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历&#xff1a;翻开源码注释、论文摘要或者一份专业报告&#xff0c;每个字都认识&#xff0c;连在一起却像天书。想找人聊聊&#xff0c;身边要么没人懂&#xff0c;要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型&#xff0c;几秒钟之后&a…

2026/10/22 10:56:37 阅读更多 →

日新闻

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/22 1:47:45 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/21 21:32:28 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/22 5:12:39 阅读更多 →

月新闻

我发现了一个新思路:用 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/21 21:50:56 阅读更多 →
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/21 21:51:55 阅读更多 →
黑夜航拍船只数据集训练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/21 16:24:48 阅读更多 →