news 2026/9/25 1:03:30

智能车竞赛PCB设计避坑指南:嘉立创审核要点与层叠方案选择

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
智能车竞赛PCB设计避坑指南:嘉立创审核要点与层叠方案选择

搞了四年智能车竞赛,从大一的校内选拔赛一直做到后来的国赛,后来又进公司画板子、帮学弟学妹审板,光在嘉立创被退回的板子少说也有二十来次。每次被退回,都是那种“明明功能没问题,但厂家就是不给做”的憋屈感,尤其是在赛前一周,板子还在打样阶段,审核不通过等于直接宣告这版方案报废。

这篇不说虚的,把我在智能车竞赛PCB设计里踩过的坑、被嘉立创审核卡过的各种细节,加上我后来最常用的三套方案,一次性整理出来。无论你是刚开始接触智能车竞赛的大一新生,还是已经在备赛第二十一届、第二十二届的老队员,这篇都值得收藏,赛前画板子的时候翻出来对照一遍,能帮你少走至少一轮打样的弯路。

1. 先搞懂嘉立创审核到底在审什么

1.1 智能车竞赛的PCB为什么这么容易卡审核

很多人第一次接触PCB设计,拿嘉立创EDA画完图,点完“下单”就以为万事大吉,结果第二天收到短信说“板框未闭合”或者“丝印压焊盘”,人直接傻掉。智能车竞赛的板子又有特殊性:它不像普通电子DIY那么随意,也不像量产产品那样有成熟的封装库和设计规范,大部分队伍是“边学边画”,画的板子五花八门。

智能车车模上的PCB通常有这几类:主板(单片机最小系统加各种外设接口)、电机驱动板、传感器板(摄像头/电磁/光电)、电源管理板(电池电压转换到多路稳压)。这些板子的特点是尺寸小、布线密、电流大、信号杂,特别容易踩到制造工艺的红线。

嘉立创审核,本质上是在检查你的PCB能不能在普通PCB工厂的生产线上做出来,符不符合“拼板生产”的工艺窗口。它不会管你的电路功能对不对,只看制造可行性和可装配性。很多同学不理解这一点,以为审核是拿你的电路图去模拟仿真,完全不是这回事。审核就是看“这张板子,我能不能不报废地给它做出来”。

1.2 审核核心:可制造性与可装配性

可制造性(DFM)关注的是你的导线、间距、孔、板框这些物理几何尺寸是否符合产线能力。比如线宽能不能刻出来、孔能不能钻出来、铜皮和焊盘之间会不会在蚀刻时断掉。可装配性关注的是做完之后,元器件能不能顺利焊上,比如丝印有没有压在焊盘上、两个贴片焊盘之间能不能上阻焊。

智能车竞赛最典型的问题是:不少同学喜欢把板子画得又小又密,恨不得一块5cm的正方形板子上放下一个单片机、两个电机驱动、一个摄像头排线座、一个OLED屏座、四个拨码开关、两个编码器接口。最后出来的板子,很多位置连0.2mm的线间距都留不出来,这在竞赛这种“手焊为主”的场景里根本没法用,但也很容易被审核退回来。

还有个容易被忽视的点:智能车车模上震动大,很多队伍喜欢用螺丝直接固定PCB,这时候螺丝孔的金属化/非金属化属性、螺丝孔到走线的安全间距,就会成为审核高频退回点。我后面会专门说。

2. 画板前的关键准备:元件封装与电源方案

2.1 封装库检查是第一道门槛

很多新手在嘉立创EDA里画板,直接用软件自带的封装库,觉得“库里的肯定没问题”,实际上大型EDA的通用封装库为了兼容各种场景,参数往往偏保守。比如一个SOT-23封装的稳压芯片,库里的焊盘可能偏大,这在普通板子上无所谓,但在智能车这种小尺寸高密度板子上,焊盘一大,走线空间就紧张了。

我的习惯是:每一个关键封装,都要对着芯片数据手册的“Recommended PCB Layout”(推荐焊盘尺寸)核对一遍。尤其是电机驱动芯片、电源芯片、接插件这种引脚多、电流大的器件。曾经有个学弟画电机驱动板,用了库里的48脚LQFP封装,结果焊盘间距比芯片实际引脚窄了0.1mm,手工焊了三个小时才勉强焊上去,最后还虚焊了两个脚,车跑起来直接抖动。

更正一下,封装库检查不是要你盲改,而是要“知道你的封装用了多大焊盘,能不能承受你实际要过的电流”。驱动芯片的大电流引脚,焊盘宽度不够,过流时发热发烫,这是电气问题;焊盘做太大,引脚之间桥连,这是制造和焊接问题。两者叠加在一起,就是智能车板子反复返工的根源。

2.2 电源树设计决定布局走向

画板之前,必须把整车的电源树画出来。智能车竞赛典型的电源树是这样的:7.2V/8.4V锂电池 → 总开关 → 主板上的电源模块 → 分别输出5V(单片机、传感器)、3.3V(摄像头、无线模块)、12V(部分舵机或电机驱动逻辑侧)、6V(舵机)。

这里要特别提醒:电源树不清晰,后面布局布线全是乱的。很多队伍喜欢“哪里需要电源就在哪里放一个LDO”,结果板子上同时出现五六个稳压芯片,地平面被割得乱七八糟,干扰一堆。我的原则是:能用一颗高效率DCDC解决的就不要用三颗LDO,能集中供电的就不要分散供电。

有同学在备赛群里问过“SW6206移动电源方案能不能用在全车上”,我第一次看到这个问题也愣了一下,后来明白了,他们想找一个“升压降压一体、带充电管理”的全能电源方案。SW6206这类移动电源SoC确实集成了升降压、充放电管理,原厂给的参考资料(原理图、PCB、寄存器列表、BOM)也很完整,但它本质上是给移动电源用的——输出口是USB快充协议,不是给车模电机、舵机这种负载做的设计。竞赛里最多拿来做调试用的移动电源底座,不建议直接上车。车模上老老实实用“DCDC降压 + LDO降压”的思路,稳定且可控。

3. 三套实战方案对比:两层、四层、六层怎么选

3.1 方案A:两层板入门方案

两层板是大部分智能车竞赛队伍画的第一块板。优点很明显:成本低(嘉立创免费打样额度内基本不花钱)、画板简单、手焊方便、出了问题容易飞线补救。缺点是:没有完整的地平面,电磁兼容能力弱,信号和电源都要在同一层或两层之间绕来绕去,大电流走线会挤占信号空间。

我建议基础组别(比如直立组、普通电磁组)或者项目前期验证原理时用两层板。具体层叠上,顶层尽量走信号,底层作为“准地平面”——能用覆铜解决的地方就大面积铺地铜,不要客气。电机驱动部分单独划出一块“功率区”,功率地和小信号地在这里单点连接,这个后面会详细说。

两层板方案适合的板子尺寸建议控制在8cm×8cm以内,密度别太高。主板放单片机、电源、几个接口就够了;把电机驱动单独做一块小板,单独固定,反而比集成在一起更好调整维护。

3.2 方案B:四层板均衡方案

四层板是我最推荐竞赛主力车的方案,也是我后面几届队伍用最多的方案。标准的四层层叠是:顶层(信号/元件)、第二层(完整地平面)、第三层(电源平面)、底层(信号/元件)。这种层叠结构意味着你几乎不需要担心“地不够用了”这个问题,DCDC、电机驱动的开关电流回路都有完整的参考平面,信号线不会再被大电流走线追着跑。

如果你用四层板,时间上要注意:打样周期通常比两层板慢一点,价格也高一些,但嘉立创对竞赛学生挺友好,多在免费/拼板优惠范围内(具体以下单页实时信息为准)。画板难度也不高,只要在嘉立创EDA里把层叠设置对,内层铺铜划分好,基本不会出大问题。

给新手的四层板建议是:第二层整层铺地,不要在上面走信号线;第三层走电源网络,把5V、3.3V、12V这些电源用铺铜区域隔开,注意区分模拟电源和数字电源区域;顶层和底层放元件、走线,走线尽量短。这样画出来的板子,哪怕布线有一点点乱,电气性能也不会差到哪里去,容错空间远大于两层板。

3.3 方案C:六层板高性能方案

六层板在智能车竞赛里属于“少数派”,一般是用在摄像头四轮组、多路电机大功率组这种对信号完整性和电源质量要求极高的场景。或者你手头有一块板子,上面既有高速摄像头DVP接口、又有多个编码器接口、又有大功率电机驱动、又有无线图传,两层板三层板根本装不下,这时候上六层板是对的。

六层板的典型层叠是:顶层(元件/信号)、第二层(地)、第三层(信号)、第四层(电源)、第五层(地)、底层(元件/信号)。这样你有两个完整的地平面,信号层居中,形成天然的屏蔽结构。摄像头排线、I2C、SPI这些容易受干扰的信号,可以走在第三层,上下都被地包着,抗干扰能力极强。

但我不建议所有队伍盲目上六层板。它的设计难度、调试难度、打样成本都高出一截,内层铜皮一旦割错了,排查起来比两层板麻烦得多。我的原则是:当你在四层板上已经出现“信号走着走着就撞上电源”、“地层被过孔打得千疮百孔”、“摄像头画面有横纹干扰”这类问题,再考虑升级六层板。如果只是想“显得厉害”,没必要。

3.4 三方案横向对比表和选型建议

我做了一张表,直接对照看:

对比维度方案A:两层板方案B:四层板方案C:六层板
适合场景入门验证、基础组别、小队预算紧张竞赛主力车、大多数组别通用高性能视觉组、多路电机大功率组
参考平面无完整地平面,靠铺铜第二层整层地平面双地平面+独立电源层
制板成本偏高
设计难度中等较高
抗干扰能力一般优秀
排查维修容易,飞线方便中等,内层看不到,考验思路较难
推荐板子尺寸6-8cm见方以内8-12cm见方10cm以上或高密度板

如果让我给大多数队伍一个答案:主控板和传感器板选四层板,电机驱动板选两层板并做好功率区划分,这是性价比最高的组合。别一口气把全车所有功能塞进一块四层板里,分板块设计是竞赛里非常实用的习惯——坏了换一块,升级换一块,比焊一整块大主板省心太多。

4. 嘉立创审核高频退回项:我踩过的雷区清单

4.1 板框不闭合和螺丝孔的那些事儿

嘉立创审核退回第一大户就是板框问题。在嘉立创EDA里,画板框要用专门的“板框层”(不同版本叫法略有差异),画完之后一定要确保板框是闭合的,两条线的端点之间不能有“看起来连上了,实际上差了0.001mm”的间隙。检查方法是:框选整条板框线,看能不能整体选中;或者下单前用EDA自带的DRC检查,哪条线没闭合会有报错。

螺丝孔是另一个高频雷区。智能车车模上的PCB固定孔,有两种做法:金属化螺丝孔和非金属化螺丝孔。两种做错了都会被退回。金属化螺丝孔意味着孔壁要沉铜,一般用于“这个孔要接地”或者“需要导电固定”的场景;非金属化螺丝孔就是纯粹过螺丝,孔壁不导电。很多同学分不清,给一个12V的电源端子旁边画了一个金属化螺丝孔,孔壁离走线太近,审核直接判定短路风险。

我的做法是:如果在嘉立创EDA里要画非金属化螺丝孔,可以使用“焊盘”类型,但在属性里把“电镀”关掉,或者用Keep-Out层画出圆孔并用非金属化孔标注。下单前在预览图里仔细看孔壁颜色,金属化孔在预览图里通常是露铜的颜色,非金属化孔是白色或黑色光板效果。拿不准的时候,最好在Gerber预览里多看几眼。

4.2 丝印、字符和阻焊:看得见的细节最容易被忽视

丝印问题是审核退回的重灾区,尤其体现在三个方面:丝印压焊盘、丝印字太小、丝印重叠。压焊盘最致命,审核会直接判定影响焊接;字太小是生产时丝印印不清晰,厂家不愿意冒险;丝印重叠就是两个字符叠在一起,糊成一团,同理。

智能车竞赛板子在丝印上尤其容易出问题,因为你们要标注的东西太多了:拨码开关的档位说明、电机接口的正负极、电池接口的“+”“-”、拨码开关的1/2/3/4、调试串口的引脚号。这些都是实用丝印,但很容易随手放在焊盘旁边甚至压在焊盘上。

正确做法是:丝印统一放到元件丝印层,保持至少0.2mm的安全距离,字号高度不要小于0.8mm,字宽不小于0.15mm。对比赛板子来说,丝印不要做得花里胡哨,能用就行,关键是清晰。

另一个容易忽略的是阻焊开窗。默认情况下,焊盘是露铜的,其余地方覆盖绿油。如果你手工添加了大面积铺铜区域,而这个区域还想露铜散热(比如电机驱动MOSFET底下),需要在阻焊层画开窗。但开窗开得太大,会出现一大片裸铜,容易氧化也容易被审核判定为“阻焊桥过窄”。阻焊桥简单理解就是两个焊盘之间那一窄条绿油,如果阻焊桥宽度小于工艺能力,绿油就会断掉,两个焊盘容易在焊接时短路。

4.3 线宽、间距和过孔:物理参数不是随便拍的

很多刚接触PCB的同学会有一个误区:线宽越宽越好,过孔越大越稳。这在理论上没错,但忽略了板子空间和审核工艺上限。嘉立创常规工艺的最小线宽/间距一般是0.15mm左右(6mil级别),但我建议智能车竞赛板子至少用0.2mm以上的线宽和间距,因为你们是手焊为主,板子还要经受车模震动,太细的线一掰就断。

过孔方面,信号过孔我习惯用0.3mm钻孔/0.6mm外径;电源过孔可以用0.5mm钻孔/0.9mm外径;如果走大电流,多打几个过孔并联,效果比单个大孔好得多。钻孔太大会破坏内层铜皮覆盖率,而且大过孔旁边再走细线,间距很容易不够。审核时看到过孔和走线距离小于0.2mm,基本都会退。

智能车比赛里经常出现“线宽电流对照表”这个话题,我给大家一个实操参考:1oz(大约35μm)铜厚情况下,1mm宽、外层走线,大约能承载1A到1.2A的持续电流(温升10℃左右)。也就是说,电机持续堵转电流如果到5A,电源线上至少要有4-5mm宽,或者直接用铺铜处理,再配合足够多的过孔。很多新手用一根0.5mm的线去走电机电源,一跑起来线直接熔断,这是最典型的低级错误。

4.4 铜皮、地平面和智能车特有的干扰问题

铜皮问题是智能车板子被退回的另一个高频原因。大面积铺铜时,最好把填充样式设成45度角网格或实心铜皮,但注意:网格铜皮在竞赛车模这种震动环境下并不推荐,因为网格铜皮的过流能力比实心差,长期震动下还容易出现细条断裂。实心铜皮就行。

地平面问题更值得展开说。我在帮人审板时最常见到的情况是:一个好好的四层板,第二层整层都是地平面,结果为了走一根信号线,有人手动在地平面上开了一个大槽,把地平面切断成两半,这等于把完整的屏蔽层给毁了。地平面就像你家的防盗门,是一整块钢板才结实,你在中间开一个大洞,它就不防盗了。

智能车特有的“星型接地”问题,很多同学在嘉立创EDA里不知道怎么画。星型接地的核心是:功率地(电机驱动、电池、大电流地)和小信号地(单片机、传感器、编码器地)要分开走,然后在靠近电池负极或电源输入端的某个单点汇合,避免功率地回流的噪声串到小信号地里面。实操上,我会在两层板或四层板的功率区和信号区之间用铺铜分割,然后用一颗0欧电阻或单个过孔作为汇合点。注意,星型接地不是“哪里有地就在哪里铺一块”,而是“有目的地划分不同的地网络”。在EDA里,可以用“地网络分配+铺铜分区”的方式实现,别把所有地网络都连成一个大网。

电磁干扰方面,摄像头排线如果走在电机驱动板的边上,画面会出现横纹;编码器线走在电源平面附近,计数会跳。这些在四层板上都能大幅缓解,但前提是别随意破坏地平面。

5. 实操流程:从布局到下单的一次完整走查

5.1 布局阶段:别急着布线,先分区再排位

我见过太多人,原理图画完就急着把元器件拖出来布板,结果布到一半发现电机驱动的散热焊盘放在板子正中间,没有任何散热空间,电源接口离电池线入口十万八千里,只能推翻重来。正确顺序是:先按功能分区,再逐个定位元件。

智能车主板我一般分这几个区:电源区(电池输入、DCDC、LDO放在一角,远离信号区)、单片机区(最小系统集中在板子中心偏一侧)、接口区(传感器、摄像头、编码器、调试口沿板边排列)、指示灯和按键区(靠近板边,方便安装调试)。电机驱动如果是独立板,单独布局。

布局阶段还要考虑“车模上这个板子怎么固定、什么朝向、哪些接口朝外”。智能车车模空间很小,板子的螺丝孔位置要跟车架匹配,接口方向要跟线材走向匹配。有队伍画了三小时板,结果装车时发现USB调试口朝向车底,手伸不进去,只能返工。

5.2 布线阶段:电源走短粗,信号走短直

布线是整个PCB设计里耗时最长的环节,也是返工最多的地方。我的布线优先级是这样的:先走电源线,再走电机驱动的大电流线,然后走高速信号线(摄像头DVP、SPI),最后走普通信号线。

电源线要短、粗、直,尤其注意DCDC的开关节点。DCDC的输入环路和输出环路面积越小越好,开关节点(连接电感的那根线)要短而宽,避免形成天线辐射。电机驱动MOSFET的栅极驱动信号要短,功率回路要尽量做成“一口井”的形状,不要拉得太长。这里顺便提一句“涡流损耗”:开关电源、电机驱动的高频开关电流在铜皮里会产生涡流损耗,表现为铜皮发热,解决方式是让高频电流回路面积尽量小,辅以完整地平面和足够的过孔。

信号线的最基本原则是:能不走过孔就不走,能短就短。I2C、SPI、UART这类低速信号,一般注意别和电源线并行太长就行;摄像头DVP接口这种并行信号,尽量让一组线走在同一层,保持相近的长度,减少时序偏移。编码器信号容易受干扰,建议在接口处加一个0.1μF到1μF电容,并在布线时远离电机驱动。

5.3 设计规则设置与DRC检查别嫌烦

在嘉立创EDA里,设计规则(Rule)是可以自己设置最小线宽、最小间距、最小过孔外径/孔径的。我的建议是提前设置好,不要用默认值。很多新手用默认规则,画出来的线宽可能是0.1mm,自己当时没注意,最后审核退回来才发现。

我一般这样设置:最小线宽0.2mm,最小间距0.2mm,过孔最小钻孔0.3mm、外径0.6mm。规则设置的目的不是越严越好,而是让你在画图时就避开后续的坑。画完之后,运行一次完整DRC(Design Rule Check),把报错逐个看过去。记住,DRC报错不代表一定要改,但你要能解释为什么这个位置可以有这个错误。比如某个报错是“丝印和丝印重叠”,影响不大可以忽略;但“走线和焊盘短路”就绝对不行。

5.4 下单前的最后检查:嘉立创阻抗计算神器与Gerber预览

如果你板子上有阻抗控制需求(智能车竞赛里很少,但如果用2.4G无线图传,天线部分的阻抗匹配就很重要),嘉立创官网有阻抗计算工具,可以直接根据层叠厚度算线宽和到参考层的间距。这个工具挺实用,属于不用白不用,但竞赛板子一般用不到严格的阻抗控制,知道有这么个东西就行。

下单前,最重要的一步是看“Gerber预览”或“PCB预览图”。在嘉立创下单页上传文件后,系统会生成一个类似生产实物的预览,你要在这个页面检查:板框对不对、螺丝孔数量对不对、有没有哪根线异常细、有没有哪个丝印压到焊盘、有没有大面积的裸铜。这一步能挽回大量低级错误。

有人说“预览图看不清”或者“太麻烦,直接下单”,我不推荐。竞赛季时间宝贵,但一次打样周期好歹也是好几天,预览花三分钟,能避免多等一个周期,这才是真正的省时间。

6. 常见问题与排查技巧实录

6.1 高频审核问题速查表

遇到的问题常见原因解决/排查思路
板框未闭合板框绘制时留了微小缺口用EDA闭合检查工具,框选板框整体移动验证
丝印压焊盘丝印字符放在了板边或焊盘旁调整丝印位置,保持0.2mm以上间距
最小线宽不足电源线或铺铜边缘过细加宽线宽,避免铺铜形成细长尖角
间距不足报警走线距离过孔/焊盘太近重走局部走线,或调整过孔位置
铜皮尖角、直角铺铜时填充形状约束不足调整铺铜形状,走线用45度角过渡
螺丝孔金属化定义错误金属化/非金属化属性选错在EDA属性里确认电镀属性,查看Gerber预览孔壁颜色
阻焊桥过窄两个贴片焊盘距离太近放大焊盘间距,或缩小开窗,保证阻焊桥宽度
过孔直接打在焊盘上想通过孔连接大电流但位置冲突改为焊盘旁边打孔,或多个过孔并联

6.2 我的排查方法:分层分段定位问题

每次审核被退回,第一件事不是急着重画,而是把退回说明里的每一个问题,对照EDA界面分层去查看。比如“Top Layer丝印与Pads间距过小”,你就在EDA里把Top Overlay层和Top Layer、多层焊盘层全部打开,缩小到问题坐标附近,看具体是哪个元件、哪个字符碰上了。不要光看退回信息就整版重来,那样浪费时间还容易引入新错误。

智能车竞赛的板子,尤其到了备赛后期,往往是“某一两处非要改,其余不用动”,精准定位比盲目重画高效得多。我建议每支队伍在赛前至少留出“一轮完整打样周期+3天调试”的时间,专门用来处理审核退回和装配问题。很多队伍把时间压到极限,结果板子退回一次,整个赛程就崩了。

6.3 从失败里总结出的习惯

最后说几个我后来养成的习惯,都是被审核退回教会的。第一,每次画完板子,强制自己“站在工厂角度”看一遍预览图,光这一点就避免了至少一半的低级退回。第二,板子固定螺丝的位置,一定提前跟车模的底盘孔位核对,不要画完PCB再去找孔位。第三,大电流路径上的过孔数量,按“每1A电流至少一个0.5mm过孔”的标准打,别抠门。第四,每个版本的PCB文件按“日期+版本号+改动说明”命名,方便回溯。第五,重要板子打样时不要只打一种方案,可以同时打两层板和四层板两个版本,虽然多花一点钱,但调试效率高很多。

我在实际带队伍时还有个习惯:赛前把往届所有队员被退回的板子截图整理成一本“反面教材”,新队员进组第一件事就是看这些反面教材。很多错误真的是一代一代重复犯的,把这些血泪经验固定下来,比什么培训都管用。你如果现在正在备赛,看完这篇,直接对着自己画好的板子做一次全面自查,相信我,你会少踩很多坑。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 1:01:58

STM32四足机器狗全栈开发:从运动控制到语音交互

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

作者头像 李华
网站建设 2026/9/25 1:01:49

京东JDS测评与校招全攻略:从笔试真题到Star面试的完整链路

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

作者头像 李华
网站建设 2026/9/25 1:01:49

PDFLIB 不只是生成库:用 pCOS 读取 PDF 元数据、页面尺寸与加密状态

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

作者头像 李华
网站建设 2026/9/25 1:01:48

2024数学建模国赛C题农作物种植策略:Python优化建模与求解全攻略

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

作者头像 李华
网站建设 2026/9/25 1:01:34

.NET连接SQLite避坑指南:SQLite.Interop.dll位宽与加载问题解析

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

作者头像 李华
网站建设 2026/9/25 1:01:13

低成本实用开源项目推荐:办公、运维、AI与嵌入式全场景指南

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

作者头像 李华