Axure原型设计入门:从零到一掌握核心交互与高效工作流
1. 项目概述为什么Axure值得你投入时间如果你刚接触产品设计或者交互设计听到“Axure”这个名字可能会觉得有点陌生甚至有点“高大上”。但我想告诉你它可能是你职业生涯早期投入产出比最高的一款工具。我见过太多新人花大量时间在PS里画静态线框图或者用PPT拼凑交互逻辑沟通成本极高修改起来更是噩梦。而Axure就是来解决这些痛点的。简单来说Axure是一个专业的快速原型设计工具。它的核心价值在于能让你用相对简单的操作快速构建出可交互、带逻辑、能模拟真实产品体验的“高保真原型”。这个原型不是一张死图而是一个可以点击、跳转、弹出、输入数据的“活”的演示文件。无论是向老板汇报想法与设计师沟通视觉还是跟开发同学确认逻辑一个动态原型都比十页文档或一百句口头描述更有效。这个教程就是为你——可能是零基础的设计新人、想转行的运营、或是需要验证想法的创业者——准备的。我们不谈那些复杂的高级功能就从最核心、最常用、最能立刻上手出活的20%功能讲起。掌握了这些你就能应对80%的日常原型设计需求。我的目标是让你看完就能动手做完第一个原型就能拿去跟团队讨论彻底告别“只可意会不可言传”的尴尬。2. 核心思路拆解从“画图”到“构建逻辑”很多新手会把Axure当成一个高级画图工具这是一个巨大的误区。学习Axure思维上首先要完成从“视觉绘图”到“逻辑构建”的转变。理解这一点是高效学习和使用的关键。2.1 核心组件元件、交互、动态面板Axure的整个工作流建立在三个核心概念上理解了它们就理解了Axure的骨架。1. 元件Widgets这是构成你原型界面的“积木”。Axure提供了丰富的内置元件库比如按钮、输入框、下拉列表、图片、矩形、文本等。新手阶段你只需要熟悉“默认元件库”和“流程图元件库”就足够了。元件分为两类静态元件如图片、形状、文本标签它们主要承载信息展示。交互元件如按钮、输入框、复选框它们是用户操作的触点。新手避坑提示初期不要沉迷于寻找或制作“高颜值”的元件库。内置的默认元件足够清晰、通用能完美表达交互意图。把精力先放在逻辑和流程上视觉美化可以后期用样式统一调整或者交给专业的设计师。2. 交互Interactions这是Axure的灵魂。交互定义了“当用户对某个元件进行某种操作时会发生什么事情”。一个完整的交互包含三个部分用例Case一个完整的交互场景。例如“登录按钮被点击时”就是一个用例的触发条件。事件Event触发交互的用户操作。最常用的是“单击时”、“鼠标移入时”、“鼠标移出时”、“文本改变时”。动作Action事件触发后执行的具体操作。比如“显示/隐藏”一个元件、“设置文本”于某个元件、“打开链接”到某个页面。3. 动态面板Dynamic Panel这是Axure里最强大、也最让新手困惑的功能。你可以把它理解为一个“可以装下多个状态State的容器”。每个状态就像一页幻灯片里面可以放置不同的元件组合。通过交互动作我们可以控制动态面板在不同状态间切换。典型应用1标签切换Tabs。每个标签页的内容就是一个状态点击不同标签切换动态面板到对应状态。典型应用2轮播图Carousel。每张轮播图是一个状态通过定时器或按钮点击来切换状态。典型应用3显示/隐藏复杂区域。比如一个下拉菜单收起是一个状态可能只显示一个箭头展开是另一个状态显示完整的菜单列表。2.2 工作流设计自顶向下先搭框架再填细节新手容易犯的另一个错误是打开软件就从首页左上角开始画按钮画着画着就乱了。正确的工作流应该是梳理信息架构与流程在纸上或白板工具如XMind上画出产品的主要页面如首页、列表页、详情页、个人中心和它们之间的跳转关系。明确用户的核心操作路径。在Axure中创建页面Pages根据上一步的梳理在Axure左侧的“页面”面板中建立对应的页面并用文件夹分组管理如“主要流程”、“弹窗与浮层”、“异常状态”。这就像建房子的施工蓝图。搭建页面基础框架在每个页面中先用矩形、占位符等元件划分出大致的区域如顶部导航、侧边栏、内容区、底部导航。不必追求精确像素定好布局即可。填充核心元件与内容在各自区域放入按钮、输入框、列表等核心交互元件并填入示意性文本如“用户名”、“商品标题示例”。添加页面间与页面内交互为按钮添加“打开链接”跳转到其他页面为复杂组件如标签切换使用动态面板制作交互效果。统一样式与细节优化最后利用“样式”功能统一字体、颜色、边框让原型看起来更整洁专业。这个流程能保证你的原型结构清晰易于修改和维护。当产品经理或开发需要查看某个流程时你能快速在页面树中找到而不是在一堆杂乱的元件里大海捞针。3. 核心功能实操从零制作一个登录交互原型理论说再多不如动手做一遍。我们通过一个最常见的“登录流程”原型将核心功能串联起来。目标是实现一个登录页输入用户名密码点击登录验证通过则跳转到首页验证失败则提示错误信息。3.1 准备工作与界面认知首次打开Axure RP你会看到以下主要区域左上页面面板。管理所有页面文件的地方。左中元件库面板。存放所有可拖拽元件。中间画布。你进行设计创作的主要区域。右侧样式、交互、说明面板。这是功能核心区设置元件外观、添加交互逻辑、撰写注释都在这里。第一步创建页面结构在“页面面板”右键选择“添加页面”创建两个页面分别命名为“01_登录页”和“02_首页”。双击进入“01_登录页”画布。3.2 绘制静态登录界面我们从“默认元件库”中拖拽元件来搭建界面**拖入一个“矩形1”**作为背景卡片调整大小和颜色如浅灰色。拖入两个“文本框单行”分别放在卡片上作为用户名和密码输入框。双击文本框可以输入提示文字如“请输入用户名”、“请输入密码”。选中密码输入框在右侧“样式”面板中找到“类型”将其从“文本”改为“密码”。这样输入时就会显示为圆点。拖入一个“主要按钮”放在下方双击将文字改为“登录”。拖入一个“文本标签”放在按钮下方用于显示错误提示。先将其文字内容清空并将其字体颜色设置为红色。暂时将这个标签命名为“错误提示文本”。命名方法选中元件在右侧“交互”面板顶部的输入框里输入新名字。至此一个简单的静态登录界面就完成了。但它还不能交互。3.3 添加交互逻辑输入验证与页面跳转现在我们要让“登录”按钮活起来。第一步设置登录成功交互页面跳转选中“登录”按钮。在右侧“交互”面板中点击“新建交互”。在弹出的交互事件列表中选择“单击时”。在出现的动作列表中选择“打开链接”。在右侧的链接配置中选择“链接到当前项目的某个页面”然后在下拉列表中选择“02_首页”。点击“确定”。现在点击这个按钮就会跳转到首页但这只是无条件的跳转。第二步添加条件判断模拟验证逻辑真实的登录需要验证用户名和密码。我们用条件交互来模拟。再次选中“登录”按钮在“交互”面板找到我们刚才创建的“单击时”交互点击它旁边的“添加条件”。现在进入“条件设立”界面。我们要设立一个“登录成功”的条件。在第一个下拉框选择“元件文字”。在第二个下拉框选择“用户名输入框”你之前拖入的那个单行文本框如果没命名这里会显示“TextBox”。在第三个下拉框选择“”等于。在输入框里输入一个预设的正确用户名比如“admin”。点击“确定”这样就创建了一个条件用例。你可以将这个用例命名为“用户名正确”。在这个用例下我们已经有了“打开链接”到首页的动作。这表示当用户名输入框的文字等于“admin”时点击按钮就跳转到首页。第三步添加登录失败交互显示提示我们还需要处理登录失败的情况。在“登录”按钮的“单击时”交互中点击“添加用例”。这次我们不设置条件或者设置一个“其他情况”的条件。更简单的方法是在用例编辑器左侧点击“添加条件”设立一个“用户名不等于admin”的条件然后将这个新用例命名为“用户名错误”。在这个“用户名错误”用例下我们需要添加动作选择动作“设置文本”。在配置区选择目标元件为“错误提示文本”我们之前创建的那个红色文本标签。在“设置文本为”的选项里选择“值”然后输入“用户名或密码错误”。点击“确定”。重要优化为了让提示更友好我们还可以添加一个“晃动”效果。在同一个用例下继续添加动作“设置尺寸”。目标元件选择“用户名输入框”。勾选“动画”选择“摇摆”持续时间设为300毫秒。这样当输入错误时输入框会轻微晃动提示。现在你的登录交互就完成了。预览一下按F5在用户名输入框输入“admin”点击登录会跳转到首页输入其他内容点击登录则会看到红色错误提示并且输入框会晃动。3.4 利用动态面板制作密码显示/隐藏功能这是一个提升原型逼真度的常用技巧。在密码输入框右侧拖入一个“文本标签”输入文字“显示密码”。命名为“显示密码开关”。拖入一个“动态面板”覆盖在密码输入框上大小差不多即可。将其命名为“密码显示面板”。选中这个动态面板在右侧“交互”面板双击“状态”State下的“State1”进入状态编辑界面。在这个状态里拖入一个“文本框单行”调整其大小和位置使其与底层的密码输入框完全重合。在右侧样式面板将其“类型”设置为“文本”。这个状态代表“明文显示”。关闭状态编辑界面。在动态面板上右键选择“管理状态”点击“”号添加一个新状态“State2”。双击进入“State2”同样拖入一个单行文本框大小位置与之前对齐但将其“类型”设置为“密码”。这个状态代表“密文显示”。关闭编辑。现在为“显示密码开关”文本添加交互事件“单击时”。动作“设置面板状态”。目标选择“密码显示面板”。状态选择“下一个”并勾选“循环”和“向前循环”。同时添加另一个动作“设置文本”于“显示密码开关”本身。设置文本为“[[This.text显示密码 ? ‘隐藏密码’ ‘显示密码’]]”。这是一个简单的三元表达式用于切换按钮文字。最后需要将底层最初的密码输入框隐藏或删除因为它的功能已经被动态面板替代了。选中最初的密码输入框在右侧样式面板取消勾选“可见”。预览效果点击“显示密码”动态面板会在明文和密文状态间切换同时按钮文字也会相应变化。4. 高效工作与团队协作要点当你能独立完成一个页面的交互后就需要考虑如何更高效地工作以及如何让原型更好地服务于团队沟通。4.1 母版Masters的妙用一次修改全局更新如果你的原型有多个页面共享相同的组件比如顶部导航栏、底部版权信息、侧边菜单那么一定要使用“母版”。在“母版”面板点击“新增母版”命名为“全局导航”。双击进入编辑像在普通页面一样制作你的导航栏。制作完成后从“母版”面板将这个“全局导航”拖拽到任何需要它的页面上。当需要修改导航栏时只需在“母版”面板中双击“全局导航”进行修改所有使用了该母版的页面都会自动更新。实操心得对于频繁迭代的项目将导航、页脚、通用弹窗如确认框、加载提示做成母版能节省你大量的重复劳动和修改时间是保证原型一致性的利器。4.2 说明与标注Documentation让开发看懂你的意图一个只有交互的原型对开发来说可能还不够。他们需要知道边界条件、数据规则、异常状态等。页面说明在“页面”面板选中某个页面右侧“说明”面板可以填写该页面的功能描述、业务逻辑等。元件说明选中画布上的某个元件如一个按钮在右侧“说明”面板的“交互说明”中可以详细描述它的各种状态默认、悬停、禁用、触发条件、业务规则等。生成规格文档SpecAxure可以一键生成Word或HTML格式的规格说明书其中会包含所有页面的截图以及你添加的说明文字。这是与开发、测试同学沟通的正式文档。4.3 预览、共享与反馈本地预览按F5键会在浏览器中生成一个临时预览。适合快速检查效果。生成HTML文件点击菜单栏“发布”-“生成HTML文件”可以生成一个完整的本地HTML包你可以直接发给别人用浏览器打开index.html即可查看。使用Axure Cloud团队协作推荐Axure提供了云服务。你可以将项目发布到Axure Cloud生成一个在线的链接。团队成员通过链接即可在浏览器中查看高保真原型并且可以在页面上直接圈画评论、提反馈所有讨论都会保留在原型旁边沟通效率极高。5. 新手常见问题与进阶学习路径5.1 高频问题速查表问题现象可能原因解决方案交互设置后预览无效1. 事件对象选错如该给动态面板状态加交互却加给了面板本身。2. 元件被上层元件遮挡。3. 条件设置过于严格或不满足。1. 仔细检查“交互”面板上方的元件名称确认当前选中的是目标元件。2. 在“概要”面板页面面板下方查看元件层级将目标元件上移。3. 检查条件逻辑或暂时取消所有条件测试。动态面板不显示或切换异常1. 动态面板的多个状态尺寸不一致。2. 切换状态的交互动作目标设置错误。3. 面板本身被隐藏或置于底层。1. 统一所有状态的大小在状态管理界面可以应用“适应内容”或手动设置。2. 确认“设置面板状态”动作的目标动态面板名称是否正确。3. 检查面板的“可见性”和图层顺序。生成的HTML文件打开是空白1. 浏览器安全策略阻止本地文件加载。2. 文件路径包含中文或特殊字符。1. 使用Chrome浏览器并尝试启动时加参数--allow-file-access-from-files不推荐较麻烦。2.最佳实践将整个生成的文件夹放到本地Web服务器如IIS、Nginx根目录下访问或直接使用Axure Cloud共享。元件对齐很麻烦手动拖拽难以精确对齐。善用“排列”工具栏选中多个元件使用顶部工具栏的“左对齐”、“顶对齐”、“水平分布”、“垂直分布”等功能。按住Ctrl键可多选。想复用一套样式如按钮颜色每个按钮单独设置颜色效率低且难以统一修改。使用“样式”功能先设置好一个元件的样式填充、边框、字体等然后在该元件上右键选择“创建样式”命名保存。之后其他元件只需在样式列表中选择该样式即可一键应用。修改样式定义所有应用该样式的元件都会同步更新。5.2 从入门到精通的进阶路径掌握基础后你可以按以下路径逐步深入打造更强大、更逼真的原型变量与函数这是实现复杂逻辑的关键。例如用变量记录用户登录状态、模拟购物车商品数量增减、实现简单的计算器功能。学习全局变量、局部变量的使用以及[[LVAR]]局部变量和[[OnLoadVariable]]页面载入变量的用法。中继器RepeaterAxure的“王牌”功能用于模拟动态数据列表。你可以用它来制作商品列表、新闻列表、通讯录等实现数据的排序、筛选、分页、新增和删除操作。这是制作后台管理系统原型不可或缺的工具。自适应视图为不同宽度的设备如手机、平板、桌面设计不同的布局。Axure允许你在一个页面内创建多个视图并定义触发宽度从而快速生成响应式原型。自定义元件库当你积累了一套自己常用的、风格统一的组件如符合公司设计规范的按钮、表单、导航可以将它们保存为自定义元件库.rplib文件方便在新项目中快速调用极大提升设计一致性。学习这些高级功能时切记以用带学。不要试图一次性啃完所有手册。而是设定一个具体的、稍高于当前能力的目标如“做一个带搜索、筛选和分页的商品列表页”然后针对性地去学习“中继器”和“变量”的相关知识在实践项目中攻克它。每完成一个这样的挑战你的Axure功力就会实实在在地提升一个台阶。最后工具终究是工具Axure再强大也是为了清晰表达产品思路和用户流程服务的。不要陷入对交互效果的无止境追求而忽略了原型设计的本质——快速验证、高效沟通。把你从重复画图中节省下来的时间更多地用在思考用户需求、梳理业务逻辑上这才是Axure带给一个产品新人的最大价值。

相关新闻

DeepSeek-V4-Pro 正式版低调上线:百万上下文旗舰模型进入 GA 时代(0813 版数据)

DeepSeek-V4-Pro 正式版低调上线:百万上下文旗舰模型进入 GA 时代(0813 版数据)

DeepSeek-V4-Pro 正式版低调上线:百万上下文旗舰模型进入 GA 时代(0813 版数据)摘要:2026 年 8 月 12 日深夜,DeepSeek 将旗舰模型 DeepSeek-V4-Pro 从预览版切换为正式版(构建号 0813)&#xf…

2026/10/4 1:14:15 阅读更多 →
2026/2027 留学生抢手的 3 个“低竞争高回报”宝藏岗位「蒸汽求职分享」

2026/2027 留学生抢手的 3 个“低竞争高回报”宝藏岗位「蒸汽求职分享」

【摘要】站在 2026/2027 招聘季的节点上,海外科技与工程领域的雇主招聘逻辑发生了深刻演变。传统泛开发(Full-Stack/SWE)与常规算法(DS/ML)赛道红海内卷加剧,而处于“技术落地、数据底座与 AI 基础设施交汇…

2026/10/1 17:29:15 阅读更多 →
从好物分享到理性消费:构建个人消费决策系统的实践指南

从好物分享到理性消费:构建个人消费决策系统的实践指南

1. 从“夯到爆”到消费决策:一次关于好物分享的深度观察最近在社区里看到一个挺有意思的话题:“一人说一个你买过夯到爆的东西”。这个“夯到爆”的说法,生动又接地气,大概就是指那些买回来之后,远超预期、好用得让人忍…

2026/10/10 13:35:54 阅读更多 →

最新新闻

聊天机器人如何实现新闻传播全链条再造:从选题到分发的对话式智能体实践

聊天机器人如何实现新闻传播全链条再造:从选题到分发的对话式智能体实践

1. 从标题拆解这个项目的核心命题1.1 这个标题到底在说什么“聊天机器人与新闻传播的全链条再造”,这个标题我第一次看到的时候,脑子里蹦出来的第一个念头是:终于有人把这件事从“工具层”往“流程层”去想了。市面上大多数讨论还停留在“用A…

2026/10/14 23:29:06 阅读更多 →
国产AI算力地基:DS-IR与量化工具链深度解析

国产AI算力地基:DS-IR与量化工具链深度解析

1. 项目概述:为什么说“国产算力的地基”比模型本身更值得致敬“致敬,DeepSeek 最新开源的不是模型,是国产算力的地基”——这句话在技术圈刷屏时,我正调试一套在国产AI加速卡上跑不动的推理服务。看到标题第一反应不是点开链接&a…

2026/10/14 23:29:06 阅读更多 →
匿名化数据集生成与测试数据管理:从合规到工程落地

匿名化数据集生成与测试数据管理:从合规到工程落地

如果你所在的研发团队还停留在“从生产库拷贝一份数据,导入测试环境”的操作方式,那么这篇内容大概率能帮你省下未来几个月的加班时间。测试数据管理工具这几年从一个“锦上添花”的辅助设施,逐渐变成了很多团队的刚需,核心原因很…

2026/10/14 23:29:06 阅读更多 →
基于UDP广播的局域网匿名聊天APP:零配置、零服务端、打开即用

基于UDP广播的局域网匿名聊天APP:零配置、零服务端、打开即用

1. 为什么我要做一款局域网匿名聊天工具事情的起因很简单。前阵子参加一个线下技术沙龙,几十号人坐在同一个会议室里,主持人想让大家做个自我介绍、交换联系方式,结果现场一片尴尬——没有群二维码,没有公共WiFi密码,谁…

2026/10/14 23:29:06 阅读更多 →
哈弗枭龙MAX与宋PLUS DM-i深度对比:插混SUV怎么选

哈弗枭龙MAX与宋PLUS DM-i深度对比:插混SUV怎么选

最近后台问得最多的插混SUV对比,就是哈弗枭龙和比亚迪宋PLUS DM-i这两台。一个是长城押上Hi4电四驱技术的转型之作,另一个是比亚迪DM-i超级混动的销量担当,售价都在十二三万到十七八万之间,看着参数表都差不多,但实际体…

2026/10/14 23:29:06 阅读更多 →
秋招网络岗VLAN面试全攻略:从原理到配置与排障

秋招网络岗VLAN面试全攻略:从原理到配置与排障

1. 秋招网络岗为什么绕不开VLAN这个知识点每年秋招,网络工程师、运维开发、云计算相关岗位的笔试面试里,VLAN出现的频率高得离谱。我翻过近几年的面经,也跟几个做过校招面试官的朋友聊过,发现一个规律:VLAN本身的概念不…

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

日新闻

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/14 16:30:29 阅读更多 →
影刀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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/14 7:53:34 阅读更多 →