Ubuntu 20.04分辨率修复:从驱动到xrandr的完整解决方案
1. 项目概述一次典型的Linux桌面分辨率“历险记”如果你刚在实体机或虚拟机上装好Ubuntu 20.04满心欢喜准备大干一场却发现屏幕分辨率卡在1024x768或者一个奇怪的4:3比例图标和文字大得离谱整个桌面体验仿佛回到了二十年前那你来对地方了。调整分辨率到主流的1920x1080这本该是点几下鼠标的事但在Linux世界里尤其是对于新手它很可能演变成一场涉及驱动、配置文件和命令行调试的“小型战役”。我最近就在一台老款笔记本和一台新装的虚拟机上反复踩进了这个坑。表面上是调整一个显示设置背后牵扯到的可能是显卡驱动是否就绪、显示服务器X11或Wayland的配置、以及GRUB引导参数等多个环节的协同工作。网上零散的解决方案很多但往往只解决单一场景缺乏一个从问题定位到根治的完整逻辑链条。这篇文章我就把自己从“抓狂”到“搞定”的全过程以及背后每个环节的原理和备选方案系统地梳理出来。无论你是用Intel核显、NVIDIA独显还是在VMware/VirtualBox虚拟机里都能在这里找到对应的排查思路和解决方案。2. 核心问题拆解为什么Ubuntu认不出你的1920x1080在开始动手之前我们必须先搞清楚问题出在哪个环节。盲目操作只会让情况更复杂。Ubuntu系统显示分辨率不正常通常可以归结为以下四个核心原因理解它们能帮你快速定位。2.1 显卡驱动未正确安装或启用这是最常见的问题根源尤其对于NVIDIA显卡。Ubuntu默认使用的是开源驱动nouveau它虽然能提供基本显示功能但对新显卡的支持往往滞后且无法正确识别所有显示模式。如何判断打开“软件和更新”应用切换到“附加驱动”标签页。如果你看到有“使用NVIDIA驱动……”的选项且当前选中的是“使用X.Org X server - Nouveau……”那么驱动很可能就是问题所在。对于Intel和AMD显卡开源驱动通常集成在内核中问题概率较小但并非没有。背后的原理显卡驱动不仅仅是让屏幕亮起来它还负责向系统报告显示器支持的“显示模式”即分辨率、刷新率列表。驱动不正常系统获取到的模式列表就是残缺或不准确的自然无法设置正确的分辨率。2.2 显示服务器配置限制Ubuntu 20.04默认使用X.Org显示服务器X11。它的配置文件/etc/X11/xorg.conf或分散在/etc/X11/xorg.conf.d/定义了显示设备、驱动和屏幕参数。如果这个配置文件中错误地指定了分辨率或者缺少你显示器的有效模式就会导致问题。常见场景系统自动生成的配置可能只包含了很低的分辨率。或者在安装NVIDIA闭源驱动时驱动程序生成的配置文件可能没有包含你显示器的所有EDID信息。EDID是什么可以把它理解成显示器的一张“身份证”里面存储了制造商、型号、序列号以及所有支持的分辨率和刷新率。系统通过读取EDID来知道该给你的显示器提供哪些选项。2.3 GRUB引导参数影响早期显示GRUB是系统启动管理器它的分辨率设置会影响系统启动过程中、以及登录界面出现之前的分辨率。如果GRUB的分辨率设置得过高超过了你显示器或显卡在文本模式下的支持范围可能会导致黑屏、花屏进而影响后续图形界面的正常初始化。影响范围这个问题主要影响开机和关机时的画面但有时不当的设置会干扰到显示服务的正常启动。2.4 虚拟机环境特有的问题在VMware Workstation、VirtualBox等虚拟机中安装Ubuntu情况又有所不同。虚拟机通常使用虚拟显卡如VMware的svga、VirtualBox的VBoxSVGA它们需要安装对应的“虚拟机工具”VMware Tools/VirtualBox Guest Additions来提供更好的显示性能、分辨率自适应和模式支持。核心矛盾未安装或未正确安装虚拟机工具虚拟显卡就无法向客户机系统Ubuntu报告完整的显示模式导致分辨率选项受限。3. 系统性排查与解决方案接下来我们按照从软件到硬件、从简单到复杂的顺序一步步解决问题。请先完成第一步的检查。3.1 第一步检查与安装正确的显卡驱动这是应该优先进行的操作特别是对于NVIDIA显卡用户。检查当前驱动 打开终端输入以下命令查看当前使用的显卡和驱动信息。lspci -k | grep -A 2 -i vga\|3d\|display同时使用ubuntu-drivers工具查看推荐驱动ubuntu-drivers devices安装推荐驱动以NVIDIA为例 如果ubuntu-drivers列出了推荐驱动例如nvidia-driver-535可以通过以下命令自动安装所有推荐的驱动包sudo ubuntu-drivers autoinstall或者你也可以使用图形界面打开“软件和更新” - “附加驱动”选择一个带有“专有”或“tested”标识的NVIDIA驱动点击“应用更改”。系统会提示你重启。安装后验证 重启后再次在终端输入nvidia-smi。如果能看到显卡状态信息表说明驱动已正常运行。此时再去系统设置的“显示”选项中查看通常1920x1080分辨率已经出现。注意安装NVIDIA闭源驱动后首次重启可能会遇到黑屏或卡在登录循环。这通常是因为驱动与内核或显示服务器兼容性问题。此时可以尝试在GRUB界面选择“高级选项”进入“恢复模式”然后在根shell中卸载驱动或调整配置。对于新手更稳妥的方法是先在虚拟机或备用机器上操作。3.2 第二步手动添加1920x1080显示模式如果驱动安装正确但分辨率选项里依然没有1920x1080那么可能是X11的配置中没有该模式。我们需要手动计算并添加。获取显示器标识符 在终端输入xrandr命令无需sudo。你会看到类似如下的输出Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192 HDMI-1 connected primary 1024x76800 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.00* 800x600 60.32 640x480 59.94这里HDMI-1就是你的显示器接口标识符记下它。计算模型ine 我们需要用cvt命令计算1920x108060Hz的模型ine一种定义显示模式的字符串。cvt 1920 1080 60输出类似# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz Modeline 1920x1080_60.00 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync vsync创建新的显示模式并应用 使用xrandr命令根据上一步的输出创建新模式并应用到你的显示器。# 创建新模式引号内的名字可以自定义这里用“1920x1080_60.00” xrandr --newmode 1920x1080_60.00 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync vsync # 将该模式添加到你的显示器接口例如HDMI-1 xrandr --addmode HDMI-1 1920x1080_60.00 # 立即将分辨率切换到这个新模式 xrandr --output HDMI-1 --mode 1920x1080_60.00执行完最后一条命令你的屏幕分辨率应该会立即改变。使配置永久生效重要 上面的方法只对当前会话有效重启后会失效。我们需要将模型ine写入启动脚本。创建一个脚本文件例如~/.set_resolution.sh。用文本编辑器如vim或nano打开并写入以下内容注意替换HDMI-1为你的接口名#!/bin/bash xrandr --newmode 1920x1080_60.00 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync vsync xrandr --addmode HDMI-1 1920x1080_60.00 xrandr --output HDMI-1 --mode 1920x1080_60.00给脚本添加执行权限chmod x ~/.set_resolution.sh最后将执行此脚本的命令添加到你的桌面环境自动启动中。对于GNOMEUbuntu默认可以打开“启动应用程序”添加一个新条目命令填写/home/你的用户名/.set_resolution.sh。实操心得xrandr是临时调试的利器。在永久生效前务必先用它测试新模式是否真的能被你的显示器稳定支持避免直接写入配置文件导致无法进入图形界面。如果测试时出现黑屏等待15秒或按CtrlAltF1切换到终端然后用xrandr --output HDMI-1 --mode 1024x768之类的命令切回旧模式。3.3 第三步配置GRUB引导参数如果开机时的GRUB菜单、Ubuntu启动动画Plymouth分辨率很低可以调整GRUB设置。编辑GRUB配置文件sudo vim /etc/default/grub找到以GRUB_GFXMODE开头的行。如果被注释以#开头就取消注释。将其值设置为1920x1080。如果不行可以尝试auto让GRUB自动检测。GRUB_GFXMODE1920x1080同时确保下面这行存在且没有被注释它允许将分辨率传递给内核GRUB_GFXPAYLOAD_LINUXkeep更新GRUB配置 保存并退出vim按Esc输入:wq回车。然后必须运行以下命令使更改生效sudo update-grub重启验证 重启电脑观察GRUB菜单和启动过程的分辨率是否有所改善。注意事项不是所有显卡/固件都支持在GRUB阶段设置高分辨率。如果设置后出现黑屏可以重新进入系统将GRUB_GFXMODE改回auto或一个较低的值如1024x768。GRUB的分辨率设置不影响进入系统后的桌面分辨率。3.4 第四步虚拟机环境的特殊处理对于VMware或VirtualBox虚拟机首要任务是安装“客户机增强功能”。VMware Workstation/Player启动Ubuntu虚拟机并登录。在VMware菜单栏点击“虚拟机” - “安装VMware Tools”。这会在Ubuntu桌面挂载一个虚拟光盘。打开终端解压并安装# 通常会自动挂载到 /media/你的用户名/VMware Tools tar -xzf /media/你的用户名/VMware\ Tools/VMwareTools-*.tar.gz -C /tmp/ cd /tmp/vmware-tools-distrib/ sudo ./vmware-install.pl -d-d参数代表默认安装一路回车即可。安装完成后重启虚拟机。重启后虚拟机显示设置里应该可以自由调节分辨率并且可以设置为“自动适应客户机”。VirtualBox启动Ubuntu虚拟机并登录。在VirtualBox菜单栏点击“设备” - “安装增强功能”。这也会挂载一个虚拟光盘。大多数现代Ubuntu版本会自动弹出安装提示。如果没有打开终端执行# 先安装编译依赖 sudo apt update sudo apt install build-essential dkms linux-headers-$(uname -r) # 挂载光盘并运行安装脚本 sudo mount /dev/cdrom /media/cdrom cd /media/cdrom sudo ./VBoxLinuxAdditions.run安装完成后重启虚拟机。之后可以在“视图” - “自动调整显示尺寸”或手动设置分辨率。踩坑记录在虚拟机中有时即使安装了增强工具分辨率选项仍然不全。这时可以尝试在虚拟机的“设置” - “显示”中将“显卡控制器”从“VBoxVGA”改为“VMSVGA”或“VBoxSVGA”对于VirtualBox这通常能提供更好的高分辨率和缩放支持。4. 进阶排查与故障修复当上述常规方法都无效时我们需要进行更深层次的排查。4.1 检查与修复显示器EDID信息有时系统无法正确读取显示器的EDID信息。我们可以手动获取并强制使用。从内核读取原始EDIDsudo cat /sys/class/drm/card0-HDMI-A-1/edid | edid-decode注意路径中的card0-HDMI-A-1需要替换为你的实际接口可以在/sys/class/drm/目录下查找将EDID文件提供给X11从/sys/class/drm/.../edid复制二进制EDID文件到一个固定位置例如/lib/firmware/edid.bin。编辑X11配置文件。首先备份并生成一个新配置如果已有/etc/X11/xorg.conf请先备份sudo Xorg -configure这会在当前目录生成一个xorg.conf.new文件。编辑这个文件在Monitor段和Device段添加EDID路径Section Monitor Identifier Monitor0 Option DPMS Option PreferredMode 1920x1080 Option EDIDFile /lib/firmware/edid.bin EndSection Section Device Identifier Card0 Driver nvidia # 或 intel, amdgpu等 Option CustomEDID HDMI-1:/lib/firmware/edid.bin EndSection将修改后的配置文件移动到/etc/X11/xorg.conf并重启。警告手动配置xorg.conf是最后的手段配置错误可能导致无法进入图形界面。操作前请确保你知道如何进入恢复模式或使用命令行恢复备份。4.2 使用NVIDIA X Server Settings工具对于NVIDIA显卡用户安装驱动后通常会附带一个强大的图形化配置工具nvidia-settings。安装并运行sudo apt install nvidia-settings nvidia-settings需要从终端用sudo运行以获得完整权限。配置分辨率 在工具左侧选择“X Server Display Configuration”。在右侧的布局图中选择你的显示器下方“Resolution”下拉菜单中可能直接有1920x1080选项。如果没有可以点击“Advanced…”按钮手动添加模型ine原理同xrandr方法。保存到X配置文件 配置完成后点击“Save to X Configuration File”按钮将配置保存到/etc/X11/xorg.conf。这个工具生成的配置通常更准确可靠。4.3 切换显示服务器Wayland vs X11Ubuntu从某些版本开始登录界面允许选择会话类型。Wayland是新一代显示协议有时能更好地处理高分屏和混合显卡。如何尝试在登录界面点击密码输入框右下角的齿轮图标选择“Ubuntu on Wayland”而不是默认的“Ubuntu”后者是X11。然后登录。潜在问题Wayland下一些旧的屏幕录制、远程桌面工具或显卡超频软件可能不兼容。如果遇到应用问题可以切换回X11。5. 常见问题速查与排错实录这里汇总了我个人和社区里遇到的高频问题及解决方法。问题现象可能原因排查步骤与解决方案系统设置里根本没有“显示”选项或者分辨率列表为空1. 显卡驱动完全未加载。2. 显示服务器严重错误。1. 尝试CtrlAltF2切换到TTY命令行登录后检查lspci -k | grep -A 2 -i vga和lsmod | grep nvidia或i915,amdgpu。2. 尝试重新安装桌面环境sudo apt install --reinstall ubuntu-desktop。3. 检查X11日志cat /var/log/Xorg.0.log | grep -i error。用xrandr添加模式后切换时黑屏/信号丢失1. 计算的模型ine参数尤其是pclk像素时钟超出显示器物理范围。2. 刷新率设置错误。1. 使用cvt时尝试降低刷新率如cvt 1920 1080 50。2. 使用gtf命令计算另一组参数gtf 1920 1080 60用其输出的模型ine试试。3. 检查显示器说明书确认其支持的精确分辨率和刷新率。NVIDIA驱动安装后重启黑屏卡在紫色Ubuntu界面1. 驱动与内核或Secure Boot冲突。2. 驱动安装不完整。1. 在GRUB界面按e编辑启动项在linux行末尾添加nomodeset按F10启动。进入系统后尝试卸载驱动或更换版本。2. 禁用Secure Boot在BIOS/UEFI设置中。3. 在恢复模式中使用dpkg-reconfigure重新配置驱动。虚拟机内分辨率最高只有800x6001. 未安装虚拟机增强工具。2. 增强工具未成功编译内核模块。1. 确认已按步骤安装增强工具并已重启。2. 检查内核头文件是否安装uname -r和apt search linux-headers-$(uname -r)。3. 查看增强工具安装日志通常在/var/log/vboxadd-install.log。外接显示器无法识别或分辨率不对1. 线缆或接口问题。2. 多显示器配置混乱。1. 换线或换接口试试。2. 使用xrandr --output HDMI-1 --off和--auto先关闭再开启显示器。3. 在nvidia-settings或“显示”设置中正确排列和设置主显示器。修改GRUB分辨率后开机黑屏GRUB无法使用设定的分辨率。1. 在GRUB界面按e临时修改GRUB_GFXMODE为auto或1024x768。2. 进入系统后永久修改回安全值。最后再分享一个小技巧所有涉及系统级显示配置的操作在动手前最好先为当前的xorg.conf文件如果有的话做一个备份。如果修改后无法进入桌面可以进入恢复模式或TTY命令行将备份文件还原这能救你于水火。命令很简单sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf。养成备份的习惯是在Linux世界里安心折腾的重要前提。

相关新闻

Windows 10 1909 精简优化指南:从原理到实践打造专属高效系统

Windows 10 1909 精简优化指南:从原理到实践打造专属高效系统

1. 项目缘起:为什么我们需要一个“精简优化珍藏版”的Windows 10 1909?如果你是一个长期与Windows系统打交道的开发者、运维人员,或者只是一个追求极致流畅和纯净体验的资深用户,那么你大概率和我一样,对微软原版Windo…

2026/10/9 4:47:11 阅读更多 →
工程机械设备全生命周期管理,推荐哪些软件?

工程机械设备全生命周期管理,推荐哪些软件?

一、工程机械行业动态:后市场服务化转型当前,我国工程机械行业正处于稳步复苏的上行通道。2025年工程机械板块收入增速提升至12%,2026年一季度进一步攀升至13%,行业景气度持续回暖。从需求端来看,内外需市场形成共振。…

2026/9/28 3:58:04 阅读更多 →
从LLM到智能体:RAG、Agent与MCP技术栈全解析

从LLM到智能体:RAG、Agent与MCP技术栈全解析

1. 项目概述:从“文字接龙”到“超级智能体”的认知跃迁 最近和不少刚入行或者想转行做AI应用的朋友聊天,发现一个挺普遍的现象:大家被各种新概念砸得晕头转向。今天听说RAG是解决大模型“胡说八道”的利器,明天又看到Agent是通往…

2026/10/13 7:59:39 阅读更多 →

最新新闻

一条富碱性多肽的进阶之路:序列解析、合成纯化与核定位验证

一条富碱性多肽的进阶之路:序列解析、合成纯化与核定位验证

1. 从一条氨基酸序列反推蛋白身份:这条肽的“户口本”是这样查的拿到 PDGF A-Chain (194-211) 这个编号,加上后面那一串 GRPREGSKKRKRKRLKPT,我的第一反应不是急着做实验,而是先把它当成一个“嫌疑人”来审:它到底来自…

2026/10/14 6:04:23 阅读更多 →
Spring Boot微服务架构设计与实战指南

Spring Boot微服务架构设计与实战指南

1. 为什么Spring Boot成为微服务首选框架十年前我刚接触企业级应用开发时,EJB的复杂配置让人望而生畏。直到Spring Boot出现,用约定优于配置的理念彻底改变了Java开发方式。现在回想第一次用Spring Boot启动项目的场景:没有XML配置&#xff0…

2026/10/14 6:04:23 阅读更多 →
bl knowledge search 报 400 RagAgentGroupNotExist 怎么解决?阿里云百炼知识库检索与 agent 记忆节点使用步骤与常见报错排查

bl knowledge search 报 400 RagAgentGroupNotExist 怎么解决?阿里云百炼知识库检索与 agent 记忆节点使用步骤与常见报错排查

给 agent 补知识,阿里云百炼的 CLI(bl)里有两条路:bl knowledge 建知识库、包一层检索服务让它查;bl memory 按用户记节点。两条路的 ID 体系不一样,混用会撞上一个措辞很像服务端故障的 HTTP 400。 这篇按…

2026/10/14 6:04:23 阅读更多 →
微电网群协同调度中的目标级联法原理与Matlab实现

微电网群协同调度中的目标级联法原理与Matlab实现

1. 项目背景与核心价值微电网群协同调度是当前分布式能源领域的热点研究方向。传统集中式优化方法在面对多主体、高维度的微网群系统时,往往面临通信压力大、隐私保护难、计算复杂度高等问题。目标级联法(Analytical Target Cascading, ATC)通…

2026/10/14 6:04:23 阅读更多 →
汽车线束开发中的BOM图纸与检验记录管理

汽车线束开发中的BOM图纸与检验记录管理

汽车线束从设计到样品、再到量产,BOM材料清单、图纸和检验记录需要保持关联。连接器替换或支路调整后,如果相关文件没有同步更新,资料评审就可能遗漏要求。建立清晰的版本和关联关系,有助于工程与采购对齐信息。首先,为…

2026/10/14 6:04:23 阅读更多 →
PS5进阶玩家手册:系统设置、SSD扩容、网络调优与串流实战

PS5进阶玩家手册:系统设置、SSD扩容、网络调优与串流实战

接手的这台“AnyPS5”时,我第一反应是:这名字起得挺大。光是PS5相关的外设、存储、网络、串流、保养,随便列一列就够写好几篇长文。后来想明白了,所谓“Any PS5”,并不是什么第三方工具或改装固件,而是玩家…

2026/10/14 6:03:23 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →