ArcGIS实战:粤港澳大湾区9+2政区图shp数据加载、投影与制图
简介粤港澳大湾区92政区图是一份基于ArcGIS的SHP矢量边界数据涵盖广州、深圳、珠海、佛山、惠州、东莞、中山、江门、肇庆九市以及香港、澳门适用于行政区划可视化、区域分析、PPT配图及规划展示等场景。压缩包共7个文件以shp主文件为核心配合prj投影信息、dbf属性表、shx几何索引以及sbn/sbx空间索引等整体仅270KB轻量易用。数据依据广东省自然资源厅1:100万行政区划图制作作者特别在海岸线部分投入较多精力边界细节较完整并已配好常用GIS软件可直接读取的格式。目前已有4365人浏览学习适合需要粤港澳大湾区精准政区边界的GIS使用者、规划研究人员及相关专业学生快速取用。1. 先把珠江口这张图吃透粤港澳大湾区政区图92到底能干什么做规划分析的人都有这个体会项目第一步往往不是写公式、不是跑模型而是找一张能用的底图。粤港澳大湾区政区图92这份资源拆开就是一套 ArcGIS 直接能读的 shp 矢量政区数据从压缩包解压到拖进 ArcMap 或 ArcGIS Pro前后不需要做格式转换。它解决的是最实际的问题拿到一张带行政区面、边界线、城市注记的基础政区图省掉到处找数据、拼图层的时间。适合经常跟专题图、空间统计打交道的 GIS 从业者也适合刚入行、需要一张干净底图练手的新手。后面我会按“文件结构 → 加载转换 → 制图出图 → 踩坑排查 → 批处理进阶”的顺序把这份数据从头到尾盘一遍。2. 解压后先别急着拖进软件shp 伴侣文件与图层清单拆解很多人解压之后就直接双击 .shp 往 ArcMap 里拖结果不是弹“缺少文件”就是图层显示空白。这不是数据坏了而是很多人不熟悉 shp 数据“一个图层由多个文件组成”这个基本规则。这一章先花五分钟把文件包结构看清楚后面能省很多事。2.1 一个 shp 其实是四五个文件后缀名各管一摊在 Windows 资源管理器里看一个 shp 政区图层往往显示成一个文件但把“查看 → 文件扩展名”打开后会发现同一个名称后面挂着 .shp、.shx、.dbf、.prj、.cpg 等好几个后缀。这些都是一个图层的“零件”缺哪个都会出问题。.shp主文件存几何坐标。.shx形状索引加快读取速度丢了打不开。.dbf属性表村名、地级、代码全在这。.prj坐标系描述文件丢了数据会变成“未知单位”。.cpg字符编码描述决定中文属性值显示成乱码还是正常文字。我习惯的做法是解压后先把整个文件夹复制到英文路径下例如 D:\gis_data\9plus2_shp再逐个核对后缀。注意 .prj 和 .cpg 这两个文件很容易因为打包工具过滤而遗漏一旦发现缺失后面加载时会出现坐标“飞了”和中文乱码两个经典问题。所以拿到手先做两件事开扩展名、查伴侣文件。2.2 政区图层清单11 个面对象三个层级这份数据包的核心内容是“9 市 2 特别行政区”也就是常说的 92 口径。解压后常见的是两个层级一个是粒度到市级行政区的面图层另一个是更细的区县级图层具体看包的整理方式。如果压缩包内只有一个市级层也够大多数专题图使用。打开属性表一般能看到下面这些信息字段示例说明典型用途FID / OBJECTID系统编号排序、去重NAME / 名称行政区域名称标注、分组设色CODE / 代码行政区划代码连接统计年鉴数据SHAPE_Area面积字段计算占比、做密度图SHAPE_Length周长/边界长度边界复杂度分析有的数据包还会带一个“名称拼音”或“简称”字段做英文出图时比较方便。拿到后我一般先打开属性表看一眼字段名确认有没有“名称”和“代码”两列这两列决定了后面能不能直接按行政区做唯一值渲染。如果只有 FID 和 Shape没有名称字段那这张图的价值就大打折扣后续制图要自己去连属性表。2.3 坐标基准判断拿到数据第一步先看 .prj用记事本打开 .prj 文件核心信息就几行。常见的情况有两种一种是 WGS84 地理坐标系显示经纬度单位是度另一种是 CGCS2000 或西安 80 的高斯投影显示的是米制坐标。这份数据如果是直接从公开地理数据源整理的大概率是 WGS84 地理坐标。这里有一个判断技巧把图层加载进 ArcMap 后鼠标在珠江口附近移动看右下角坐标显示。如果读数在 111 到 115 之间且带小数点说明是经纬度如果读数变成六位数的米制坐标说明已经是投影坐标系。两种坐标系本身没有对错但后续做面积统计、做缓冲区分析一定要用投影坐标不然量出来的面积会严重偏小。所以这一章的核心结论是解压后先看 .prj再决定要不要做投影转换。3. 加载与坐标统一把 92 数据拖进 ArcMap 并从经纬度切到投影坐标配图的第一步是把数据加载进工程。这里讲的是 ArcMap 和 ArcGIS Pro 通用操作顺带把投影转换这个步骤做成可复制的脚本以后拿到别的政区图也能用。3.1 标准加载路径目录面板、连接文件夹、拖入图层ArcMap 里常用的是目录面板单击“目录”按钮在左侧面板里点击“连接文件夹”定位到解压目录然后找到政区面图层直接拖进内容列表。ArcGIS Pro 里类似通过“添加数据”按钮浏览到对应文件夹即可。注意别双击 .shp 直接打开那样容易反复弹出“空间参考未知”的提示。加载完成后内容列表里会看到这个图层。如果双击放大图标后视图跳到全球范围或者一片空白多半是 .prj 缺失。这时不要慌先按第 2 章的方法补一个投影定义再继续操作。正确加载后珠江口一带的 92 政区边界应该能铺满视图并且 11 个面对象在属性表里数得出来。3.2 用 arcpy 批量投影一个脚本统一 92 图层的坐标假如数据是 WGS84 经纬度而你接下来要做面积统计或缓冲区分析就得把坐标系转成 CGCS2000 投影。我一般不手动点“投影”工具逐个转而是写一个批量脚本一次性把所有面图层处理完。下面是一段可直接套用的 arcpy 代码# -*- coding: utf-8 -*- import arcpy from arcpy import env # 输入目录解压后 shp 所在文件夹请改成你的实际路径 env.workspace rD:\gis_data\9plus2_shp # 输出到文件地理数据库避免 shp 字段名 10 字符限制 out_gdb rD:\gis_data\result.gdb # 1. 选投影坐标系CGCS2000 3 度分带中央经线 114 度 out_sr arcpy.SpatialReference(4548) # 2. 遍历工作空间内所有矢量要素 fc_list arcpy.ListFeatureClasses() for fc in fc_list: desc arcpy.Describe(fc) if desc.shapeType Polygon: # 只处理面图层 out_fc out_gdb \\ fc.replace(.shp, _cgcs2000) arcpy.Project_management(fc, out_fc, out_sr) print(fc 投影完成)参数说明SpatialReference(4548)是 CGCS2000 3 度分带高斯克吕格投影的工厂代码适合地理范围跨度不大的区域投影变形小面积统计结果可靠。如果你的数据范围更大可以改用 6 度分带例如窗口 4549 附近对应中央经线 120 度不过就这一片区域而言3 度带已经是够用的选择。输出到文件地理数据库 .gdb 而不是 shp是为了避开 dbf 字段名长度限制和中文编码隐患。3.3 坐标系不一致时容易忽略的细节很多人在脚本运行前忽略了.prj缺失的情况。如果原始图层没有投影定义Project_management会直接报错“工具运行失败”。我一般会先加一步检查用arcpy.Describe(fc).spatialReference.name把每个图层的坐标系名称打印出来确认不是“Unknown”再投影。坐标系统一以后再做面积字段检查。如果属性表里有 SHAPE_Area 字段注意它存的值是原坐标系下的结果。WGS84 经纬度下的面积单位是平方度不是平方米。投影完成后最好重新计算一次几何import arcpy lyr rD:\gis_data\result.gdb\politics_cgcs2000 arcpy.CalculateGeometryAttributes_management( in_featureslyr, geometry_property[[AREA_M2, AREA]], coordinate_systemarcpy.SpatialReference(4548), area_unitSQUARE_METERS )这段脚本把每个面要素的真实面积写进新字段 AREA_M2单位直接输出为平方米。后面做各区面积占比、人口密度计算直接用这个字段就行不用再手动转换单位。需要提醒的是CalculateGeometryAttributes_management只对投影坐标系如 CGCS2000、UTM有意义如果坐标系还是经纬度面积字段算出来的依然是“平方度”数值小到没法用。4. 做一张能直接汇报的 92 政区专题图符号、标注与布局参数数据坐标统一之后接下来要把这张政区图做成能放进报告里的样子。这里不追求花哨设计只讲三类核心操作怎么按行政区设色、怎么把名称标注摆得不打架、怎么在 A4 版面里排出比例尺和图例。4.1 符号系统设置按“92”分组设色最常见也最不容易出错的做法是使用“唯一值渲染”。打开图层属性 → 符号系统 → 类别 → 唯一值字段选“名称”或“代码”。这时软件会列出 11 个对象默认给每个对象随机分配颜色。随机色不一定好看我会手动调整9 个地级市统一用一个色相系2 个特别行政区用另一个对比色相这样一眼就能区分出两类行政单元。分组设色的具体做法是先把 9 个地级市逐个选成浅蓝色系不同深浅再把 2 个特别行政区选成橘红色系。修图时按住 Ctrl 多选要素再双击颜色块就能批量改色。这里注意如果属性表里没有“名称”字段而只有 FID唯一值渲染会变成 11 个“点号”没法辨认所以第 2 章说的字段检查很重要。4.2 标注与压盖避让中文城市名不打架政区图标注最容易翻车的地方是珠江口西岸几个市挨得近名称文字叠在一起。打开“标注”选项卡勾选“标注此图层”标注字段选择“名称”。如果全图缩小时文字重叠严重按下面几个参数调放置位置选“水平”或“位于要素内部”避免斜向文字。压盖点开“放置属性”勾选“放置压盖标注”并降低优先级。文本缓冲区设置 1 到 2 磅白色缓冲区文字压在边界线上时仍能看清。比例范围在“标注”选项卡里设置“比例范围”低于 1:500000 时不再显示标注避免缩小时一堆字叠在一起。对于 92 这种面对象不多的图层标注问题不算难解。真正容易翻车的是中文字体丢失如果 .cpg 文件带的是 GBK 编码而当前系统区域设置为 UTF-8标注会显示成问号或方块。这时不用改数据在 ArcMap 的“数据框属性 → 常规”里调整字符编码选项或者在 Pro 的工程设置里指定档案编码文字就能正常显示。4.3 布局出图参数A4 横版的比例尺、图例与指北针切换到布局视图后先把页面设置为 A4 横向宽 297、高 210 毫米。然后把数据框范围调整到恰好包围 11 个政区面再点击右键 → 属性 → 数据框勾选“固定比例”把比例尺设成整数。珠江口区域全图范围常用的比例尺量级在 1:60 万到 1:80 万之间具体看数据框边界。布局元素建议参数页面A4 横向297 × 210 mm数据框比例1:600000 或能完整纳下 11 个要素的整数比例图例列数 2显示“名称”去掉多余英文标题指北针常规指北针符号置于右上角比例尺分段 3 段每段 20 km图例建议手动删除“FID”和“代码”字段只保留行政区名称。比例尺单位改成公里中文字体统一为宋体或黑体。导图时在“文件 → 导出地图”里设置分辨率为 300 DPI格式选 PDF 或 PNG缩放大小 100%。这样导出的图放进报告里文字不会发虚。5. 排查符号丢失、坐标漂移等五个高频问题及处理办法航拍图和政区图叠加后差了几百米属性表打开一片“”图层面板里看不到对象但只要点一下又显示有数据——这些现象我在处理这类数据包时都见过。下面五条是出现频率最高的按现象 → 原因 → 解决整理。5.1 加载与显示层符号丢失、字段乱码、图形空白现象一图层拖进 ArcMap 后全部要素变成灰色小圆点没有政区边界形状。原因shp 主文件的几何类型被读取失败或 .shx 索引文件损坏/丢失。另外如果原始包里只有几何线没有面要素也会呈现为无法填充的状态。解决先检查同目录下是否存在 .shx若文件丢失用 ArcToolbox 里的“修复几何”工具处理常见做法是重新从原始压缩包解压别直接在优盘里操作优盘读取中断很容易造成索引文件损坏。现象二属性表里的中文名称显示成乱码如“绔”“鎴”之类。原因属性表 .dbf 用的是 GBK 编码而当前 ArcGIS 工程或系统区域设置按 UTF-8 读取。解决在 ArcGIS Pro 中可以通过“工程 → 选项 → 语言”调整编码方式ArcMap 里我可以先给该图层重新指定代码页或在外部用专业转码工具把 .dbf 转为 UTF-8 编码再导入。无论用哪种方案前提都是保留一份备份因为编码转换一旦写回再转回来容易破坏字段结构。现象三图层加载后视图缩放到全球范围找不到政区面。原因.prj 文件缺失软件把坐标当成未知单位导致数据无法定位。解决右键图层 → 属性 → 源查看“空间参考”一栏是否显示“未知”。如果未知先用“定义投影”工具将坐标系指定为 WGS84 或 CGCS2000再缩放至图层。这里不要用“投影”工具因为“投影”改的是坐标值“定义投影”改的是坐标描述二者不能混用。5.2 空间分析层坐标偏移、面破碎与分析结果偏差现象四政区边界和影像底图叠加时整体偏移几十米到上百米。原因两个数据源一个基于 WGS84一个基于 CGCS2000 或地方坐标ArcMap 默认的动态转换不总是开启。解决先把政区图层按第 3 章的方法投影到与影像一致的坐标系再检查数据框属性 → 坐标系确保“动态投影”已勾选。如果做高精度比较可以把两者都转到 CGCS2000 投影坐标后重新叠加。现象五统计面积时个别政区面出现面积异常或面与面之间有缝隙。原因原始数据在裁剪或简化过程中产生了碎面或面要素存在孔洞。解决用“整合”工具处理相邻缝隙容差设为 0.001 米然后再用“消除”工具合并碎面。处理完重新计算面积字段。这类不严重的拓扑问题在政区图中很常见做面积占比分析前最好先跑一遍几何检查。6. 进阶用 arcpy.mp 自动输出 11 张单区高清图做到这一步静态专题图已经可以交付。但如果需求是给每个行政区分别出一张局部图逐个缩放、逐张导出太浪费时间。更高效的做法是用 ArcGIS Pro 的 arcpy.mp 模块写一段批处理遍历 11 个面要素自动缩放至每一个要素范围并导出 300 DPI 的 PNG。import arcpy # 打开工程文件请改成你本机的实际路径 aprx arcpy.mp.ArcGISProject(rD:\gis_data\my_project.aprx) # 取名为“主图”的地图视图 map_view aprx.listMaps(主图)[0] lyr map_view.listLayers(政区面)[0] out_dir rD:\gis_data\out_png fields [NAME, SHAPE] with arcpy.da.SearchCursor(lyr, fields) as cursor: for row in cursor: fname row[0] extent row[1].extent # 将要素范围应用到相机视图需与数据框坐标系一致 map_view.camera.setExtent(extent) out_path out_dir \\ fname .png map_view.exportToPNG(out_path, width1600, height1200, resolution300) print(已导出 fname) aprx.save() print(全部完成)注意两个细节一是camera.setExtent(extent)传入的 extent 必须与当前地图坐标系一致否则相机会跳到错误位置二是导出宽度和高度按 1600×1200 设置横纵比适合 A4 横向页面如果底图是纵向区域改成 1200×1600 再导出。跑完脚本后在 out_png 目录里能看到 11 张单独命名的政区图文件名直接用行政区名称后续插入 Word 汇报材料时很方便。从那以后我每次拿到政区矢量包第一件事就是把 .prj、.cpg 和属性表字段过一遍再决定要不要投影统一而不是直接拖进软件开干。这套流程看着多但跑顺了不到十分钟省下来的是反复排查漂移、乱码和空白图层的几个小时。希望这份 92 政区图在你手里也能一次配好少走我踩过的这些弯路帮到你。本文还有配套的精品资源点击获取

相关新闻

从模型仓库到AI创作表达平台:产品、技术与踩坑实录

从模型仓库到AI创作表达平台:产品、技术与踩坑实录

1. 不做模型仓库,先回答“用户到底要什么”这两年只要打开任何模型社区,满屏都是下载量和参数对比。可我越做越觉得,用户真正需要的不是一个装模型的仓库,而是一个能把自己的想法变成作品的AI创作表达平台。今天这篇博文&#xff…

2026/10/20 12:43:59 阅读更多 →
AI创作表达平台实战:不做模型仓库,构建一站式内容生成工作台

AI创作表达平台实战:不做模型仓库,构建一站式内容生成工作台

这几年我一直泡在AI应用开发这条线上,从模型微调到RAG都折腾过一圈。前阵子有个朋友问我,现在最该做什么方向的项目?我脱口而出的一句话,是我做这个项目时反复想明白的事情:别再去做模型仓库了,AI应用现在最…

2026/10/19 7:48:25 阅读更多 →
SpringBoot+Vue电影购票系统:数据库设计、并发锁座与部署实战

SpringBoot+Vue电影购票系统:数据库设计、并发锁座与部署实战

做了几个月的电影购票系统,从需求调研到上线部署,踩了不少坑,也沉淀了一些心得。趁热把整个设计与实现过程整理出来,希望能给正在做类似管理系统,或者准备用SpringBoot和Vue做毕业设计、个人项目的朋友一些参考。这篇文…

2026/10/20 14:46:32 阅读更多 →

最新新闻

深入解析上下文模式:从参数透传到架构级上下文管理

深入解析上下文模式:从参数透传到架构级上下文管理

1. 从"上下文模式"说起:一个被低估的架构决策第一次看到"context-mode"这个词,很多人会下意识地把它归类成某个框架里的配置项,或者某个API的一个参数枚举值。但如果你真正在工程一线待过几年,就会明白&#…

2026/10/20 15:31:21 阅读更多 →
部落竞争与成员合作算法(CTCM)实现无人机城市三维避障航迹规划

部落竞争与成员合作算法(CTCM)实现无人机城市三维避障航迹规划

楼宇之间穿行这件事,我在之前的项目里吃过大亏。当时用的是二维平面路径规划,无人机飞着飞着就撞上了高层建筑的侧立面——原因很简单,二维路径只考虑水平面的躲避,根本没算高楼在不同高度层的“投影范围”,更没考虑爬…

2026/10/20 15:31:21 阅读更多 →
CANOCO 5.0 PCA分析完全指南:从数据导入到排序图解读

CANOCO 5.0 PCA分析完全指南:从数据导入到排序图解读

简介:CANOCO 5.0 是一款面向生态学与植物群落研究者的专业排序分析工具,主要用于 PCA、对应分析等多元统计,帮助将样方或植物种排列在特定空间中,使排序轴反映生态梯度,进而解释植被分布与环境因子之间的连续关系。对于…

2026/10/20 15:31:21 阅读更多 →
附合导线与四等水准平差表格的Excel自动生成实战

附合导线与四等水准平差表格的Excel自动生成实战

做测量最烦的从来不是外业晒大太阳,而是内业排表。上周刚交完一个项目的测量资料,一条附合导线带四个转点,一段约三公里的四等水准路线,白天的数据其实测得很顺,到了晚上却卡在了表格上:角度闭合差、坐标增…

2026/10/20 15:31:21 阅读更多 →
基于单片机的红外测距仪:从光电转换到查表标定全解析

基于单片机的红外测距仪:从光电转换到查表标定全解析

红外测距仪这名字听着唬人,其实拆开看就是两件事:用红外光“摸”一下目标有多远,再把距离显示出来。最近帮A同学捋一套基于单片机的红外测距仪设计,从原理图到代码再到标定整体过了一遍,发现这东西对入门的价值被严重低…

2026/10/20 15:31:21 阅读更多 →
WebSocket断线重连实战:心跳机制、指数退避与消息补偿方案

WebSocket断线重连实战:心跳机制、指数退避与消息补偿方案

做个长连接项目,断线重连这关早晚要过。我见过不少团队,连接正常时觉得一切都很简单,直到某天用户反馈“消息发不出去”“聊天记录中间断了一截”,才意识到WebSocket的稳定性问题才是整个项目的分水岭。这篇文章不打算从握手细节讲…

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

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50: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/20 9:50:45 阅读更多 →