CSS Grid原生瀑布流布局与降级方案完整指南
1. 项目背景与需求拆解1.1 为什么瀑布流布局值得重新写一份指南瀑布流布局也称 Masonry Layout从 Pinterest 时代火到现在一直是前端页面展示图片、卡片、短视频信息流的重要形式。它的核心特征就是列等高、行不等高元素按顺序排列但纵向错落充分利用屏幕空间的同时也让页面显得不那么死板。我相信不少团队已经在这个坑里摔过跟头了。早年大家的做法基本就是上第三方 JS 库比如那个世界上使用量最大的 Masonry 库当时没什么选择加载一个全家桶 JS 进来初始化一下看起来一切美好。可一旦页面元素多了、图片加载慢了、或者需求变成“必须按顺序展示”各种问题就全冒出来了——元素重叠、底部空隙、滚动抖动、性能拉胯。后来 CSS Grid 能力增强社区开始用grid-auto-rows row-span的思路模拟瀑布流虽然解决了部分问题但本质上还是 JS 计算那一套只是把布局搬给了 Grid 引擎。到了 2025、2026 年这个时间点情况发生了根本性变化CSS Grid 加入了原生grid-template-rows: masonry这个值终于让“瀑布流”从 JS 计算方案走向了“CSS 原生布局算法”。这篇指南的重点就是把这个从原生到兼容的完整技术路径讲清楚——原生方案怎么用、怎么降级、怎么在需要兼容旧环境时用一套稳定的替代方案保证产品体验。文章适合一到三年前端经验的读者尤其是做内容型产品、电商页面、图片社区的信息流开发场景。1.2 当前技术选型全景图在进入代码之前先梳理一下 2026 年做瀑布流的几个技术路线理解了这些方案的优劣势后面读代码会轻松很多。方案核心机制优势短板CSS Grid 原生 masonrygrid-template-rows: masonry语义化、性能最优、零 JS兼容性有限需降级CSS 多列columncolumn-count自动分列简单、支持多标签顺序被切分、子项易断裂Grid JS 计算高度grid-auto-rows: 10pxspan兼容性强、顺序稳定依赖 JS、换肤或 resize 需重算第三方 JS 库动态定位 绝对定位成熟、功能全包体积大、维护成本、性能损耗业内真实项目里最常见的组合是“原生 masonry 检测 自动降级到 GridJS 计算”。原因很简单原生方案在支持它的浏览器里性能是真的好也让代码量小很多。但在不支持的环境里你总得有后手。另外 CSS 多列方案因为有其不可忽视的“顺序天然横切”问题在需要严格按数据顺序渲染的场景里非常受限。2. CSS Grid 原生瀑布流方案详解2.1 原生 masonry 语法与开启方式我们先看 2026 年最新的原生写法。这个特性其实很早就开始推动了经过多年标准化讨论和浏览器实现迭代2025 年开始在主流浏览器中获得更稳定的支持Firefox 一直以实验性功能形式存在Chrome 在后续版本中也逐渐放开了 flag 支持。截至 2026 年初最稳妥的方式仍然是在使用前做特性检测并在不支持时自动降级。原生语法的核心就一句话在 Grid 容器上同时定义列和行给行的值设为masonry。.masonry { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); grid-template-rows: masonry; gap: 16px; }容器内的子元素完全不需要额外设置grid-row或grid-column它们会按照 Grid 列数自动排列行高由内容决定纵向在列内依次堆叠。这种“由内容驱动行高”的行为和传统 Grid 那种“行高由所有元素统一拉伸”的机制有着本质区别。如果考虑间距可以用gap属性布局引擎会自动在纵向错落的元素之间保持一致的缝隙不会出现手动计算间距的尴尬情况。2.2 特性检测与渐进增强策略因为原生 masonry 的支持范围仍不算绝对普及受制于版本节奏和默认开关策略直接上线原生写法会有风险。我们可以在根组件挂载前跑一次特性检测根据支持情况决定是否启用原生 CSS 类function isMasonrySupported() { return CSS.supports(grid-template-rows, masonry); }测试了很多次这个检测方式在当前主流浏览器中都能给出准确结果。支持原生 masonry 的浏览器直接给容器添加.masonry-native类然后就是纯 CSS 输出。不支持的话容器会走备用的.masonry-fallback类采用下文说的 GridJS 精确计算方案。有一个细节容易忽略即使浏览器本身支持grid-template-rows: masonry如果数据源有限制比如所有卡片高度完全相同瀑布流的视觉效果也不会很明显。这种情况下原生方案与普通 Grid 网格很相似不用担心这在产品上反而是正常的——瀑布流本来就是为了高度差异大的内容准备的。2.3 Firefox 的启用方式与原生实测记录Firefox 对这个特性的实现比我预想的要早。在我测试的环境里需要手动打开about:config并把layout.css.grid-template-masonry-value.enabled设为true刷新页面后原生瀑布流立即生效。视觉效果极其顺畅——页面滚动时几乎没有任何布局抖动开发者工具里能看到 Grid 行高完全由各列内容撑开整个信息流渲染过程非常轻量。Chrome 虽然更慢一些但 2025 年开始也已经可以在最新的实验通道里用 flag 开启相关能力。如果你是做技术预研可以提前在自己的环境里体验这个方向提前适应原生布局的思维模式。我建议手头有充裕时间的前端同学都去试一下不是因为新特性时髦而是它确实代表了信息流布局未来的方向。3. 完美兼容方案Grid JS 精确计算布局3.1 方案原理与核心思路当原生 support 不满足条件时社区最成熟、最可控的降级方案就是“小基数行高 跨行填充”。原理听起来比较复杂但实现起来并不困难。把网格的行高定义为一个很小的高度比如10px所有卡片根据自己的实际内容高度向上取整后得出一个“跨多少行”的数值。然后用grid-row: span n让卡片跨越对应行数。因为 Grid 会自动把同一个单元格里的内容错开排布这样就能模拟出列内纵向堆叠、各列高度自然错落的效果。举个例子一个图片卡片总高度是 173px容器每一行是 10px那么它就需要跨越 17.3 向上取整为 18 行。旁边另一张卡片只有 120px就只需要跨 12 行。这样每列累积的高度天然不同视觉上就能形成瀑布流错落感。3.2 完整代码实现与参数选择下面是一套我在多个项目里跑过、相对稳定的参考实现。首先是 HTML 结构div classwaterfall idwaterfall div classcard img classcard__img src... alt div classcard__meta h3标题/h3 p描述文字/p /div /div !-- 更多卡片 -- /divCSS 部分.waterfall { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); grid-auto-rows: 10px; /* 小基数行高 */ gap: 16px; } .card { grid-row: span var(--card-span, 20); visibility: hidden; /* 防止未计算完就闪现错位 */ } .card--ready { visibility: visible; }JS 部分核心逻辑function layoutWaterfall(container) { const cards Array.from(container.querySelectorAll(.card)); const rowsHeight 10; // 必须与 CSS 中 grid-auto-rows 保持一致 cards.forEach((card) { // 隐藏状态下获取高度避免干扰计算 const height card.getBoundingClientRect().height; const span Math.ceil((height 8) / rowsHeight); // 8 是为了留出视觉余量避免底部贴太紧 card.style.setProperty(--card-span, span); card.classList.add(card--ready); }); }这里最需要你注意的一个细节是8这个数值。如果不加任何余量卡片总高度恰好被 10 整除后紧贴下一行元素视觉上会显得太过紧凑和 gap 的间距感对不上。加几像素后整个布局的节奏会舒服很多。3.3 布局重算与 resize 处理网格布局计算完成后一个大坑就是窗口尺寸变化。当浏览器宽度变化导致 Grid 列数增加或减少原先计算好的span就会失效——卡片可能会变得过高或过低因为每行还是 10px但列宽变了后卡片内容的实际高度比如文本换行增多也跟着变了。对此我的处理方式是let resizeTimer null; window.addEventListener(resize, () { // 防抖处理 clearTimeout(resizeTimer); resizeTimer setTimeout(() { layoutWaterfall(container); }, 200); });防抖时间选在 200ms 附近较合适既不会频繁触发重排有能基本跟上用户快速拖拽窗口的操作频次。如果你所在项目已经有现成的 resize 监听工具直接复用它即可。3.4 懒加载与图片异步加载的布局修正典型的信息流场景中很多卡片里的图片是懒加载的。如果布局计算在图片还没有加载完成时执行那么测出来的高度是偏小的图片加载出来后就会撑破原先预留的 span导致重叠。解决办法是把布局计算延后到图片加载完成之后或者在图片load事件触发时对单张卡片进行重新计算。推荐用IntersectionObserver做懒加载结合onload回调修正布局const observer new IntersectionObserver((entries) { entries.forEach((entry) { if (entry.isIntersecting) { const img entry.target; img.addEventListener(load, () { layoutWaterfall(container); // 每次新图加载后全量重算数据量不大时足够 }); observer.unobserve(img); } }); }); document.querySelectorAll(img).forEach((img) observer.observe(img));如果卡片数量很大比如几百上千张每次都全量重算会带来不必要的性能开销。这时可以只对当前卡片做一个局部修正——根据图片加载后的实际高度重新计算当前卡片的 span再让 Grid 引擎自动把后面的卡片顶下去。这个局部修正方案我用下来效果很好性能和精确度之间取得了不错的平衡。4. 多列布局方案可用的简易降级选项4.1 多列布局的原理与代码如果项目里瀑布流内容相对简单、不担心顺序被切片CSS 多列是一个特别轻量的选择。它只需要两行核心属性和一个防断属性.waterfall-column { column-count: 3; column-gap: 16px; } .waterfall-column .card { break-inside: avoid; margin-bottom: 16px; }浏览器会把子元素按高度尽量均匀地分配到三列中视觉效果基本就是瀑布流。break-inside: avoid非常关键——如果不加浏览器可能会把一张卡片的标题和配图拆到两列里观感直接崩掉。4.2 多列方案的致命短板与应用边界多列方案有两个无法绕开的问题。第一是顺序被改变数据源第 1 条、第 2 条、第 3 条会被依次放入第 1、2、3 列然后第 4 条回到第 1 列。如果你的产品有“最新内容排在最前”的诉求那么第 2 条数据在页面上会比第 3 条更高而用户的阅读习惯往往是横向扫视的这就会造成认知错位。第二是元素断裂风险即便设置了break-inside: avoid在某些复杂渲染场景中仍可能出现意外截断。所以多列方案适合什么场景呢适合不追求严格顺序、内容高度差异不极端、纯展示型的内容墙比如分享页面、营销活动页面、装饰性图片墙。我之前在做一个活动 H5 页时就用过它因为那个页面的图片顺序无关紧要而且元素数量少多列方案代码量最少、渲染最快。5. 主流第三方库分析与选型心得5.1 老牌 Masonry 库的使用与局限不得不承认很多朋友对这个库是有感情的也习惯了它的 API。它简单、文档齐全、上手快支持响应式断点、排序过滤等常用功能。但它在大型信息流中的表现并不理想所有卡片都是绝对定位的这意味着布局计算完全在 JS 里进行卡片一多定位计算和回流成本会明显上升。另一个让我彻底放弃它的场景是项目中需要频繁对卡片进行过滤、排序操作。每次操作后库都要重新计算所有卡片位置体感上有明显的卡顿。后来我做了性能对比在 200 张卡片的页面里仅仅切换一次排序条件时间开销要比 Grid 方案高了近一个数量级。5.2 什么情况下可以继续用第三方库虽然我强烈倾向原生方案但有一个场景下第三方库依然是合理选择团队维护老项目历史包袱重短期内没有重写成本。这时保留库是务实的。为了尽量降低它的负面影响注意两点给每条内容设置itemSelector并给容器指定columnWidth不要让库自动探测宽度探测不准时布局会跳得厉害。开启imagesLoaded或者你用的 Vue/React 封装里的对应方法确保所有图片加载完成后再跑一次布局图片未加载完就初始化是绝大多数错位问题的源头。具体到 React/Vue 生态如果项目已经接了第三方瀑布流组件比如vue-masonry或react-masonry-component核心思路也差不多它们内部大多还是封装老牌库或者多列方案。在选型时我更建议先自己封装一层 GridJS 计算的逻辑可控性和后续可维护性都会好很多。5.3 自定义方案的性能优化策略如果你打算自己封装瀑布流组件有几件事值得提前做好卡片懒加载一定要做图片加载会直接拖垮整个布局的稳定性。当卡片数量超过 200 时考虑用“分批渲染”的策略先渲染首屏能看到的等滚动到底部再追加下一批。使用content-visibility: auto可以快速跳过屏幕外的卡片渲染避免首次加载大量内容导致的性能瓶颈。一旦某列高度特别高可以让布局引擎按最小高度列优先填充下一张卡片这在 Grid 原生方案中会自动处理但在 JS 计算方案中需要自己实现。6. 常见问题与排查技巧实录6.1 定位错乱与元素重叠排查这是瀑布流布局里最经典的问题。出现重叠十有八九是图片还没加载完就执行了布局计算。排查时可以打开浏览器控制台输入document.fonts.ready和document.images的complete状态确认所有资源都就绪后再看是否还有重叠。另外注意一个隐藏点卡片内部如果有 CSS 动画或者 SVG 动态内容导致高度变化布局引擎不会自动感知。踩过一次坑后才意识到必须用ResizeObserver监听卡片尺寸变化并触发重算这个细节比预想的要重要得多。6.2 底部空白过大的原因定位底部的巨大空白是另一种常见现象。发生这种情况时往往是某列的高度异常高其他列已经到底了但因为这列还有内容所以整体页面高度被撑得很高。特别是当卡片内容里存在一个特别长的文本或者某张图片的比例异常时就会出现这种单列突出。解决思路有两个一个是在不破坏内容完整性的情况下对卡片高度做截断另一个是在计算 span 时对不同列的累计高度做一个感知优先向最矮的列填充下一张卡片。后者在前面的自定义方案里说过算是相对高级的调优手段但效果非常明显。6.3 滚动卡顿与性能调优方向滚动卡顿通常不是瀑布流容器本身的问题而是整个页面的渲染性能瓶颈集中暴露了。最常见的元凶是懒加载图片没有设置宽高占位图片加载后导致整个布局不断重排重绘。尽量为图片预设合适的aspect-ratio或者干脆在计算卡片高度之前给img一个min-height的占位这样图片的突然加载不会把布局搅得乱七八糟。此外卡片内部不要使用那些会频繁触发动画的 CSS 属性动画应该限定在自己独立的合成层里。6.4 常见问题速查表症状核心原因解决办法卡片重叠图片未加载完就计算监听图片load后重算底部空白大某列高度异常撑起容器感知列高向最矮列补充滚动卡顿图片无占位或重排频繁设置aspect-ratio占位顺序错乱多列方案导致的横切顺序改用 GridJS 计算或原生 masonryresize 后变形列数变化但 span 未重算防抖监听resize并重算首屏渲染慢一次性渲染大量卡片分批渲染 content-visibility7. 踩坑经验沉淀与个人建议7.1 经验教训先从原生方案起步再考虑降级说实话早几年我接手瀑布流需求时第一反应就是去找库这在当时也算常规操作。但现在我的建议正好反过来先确认目标浏览器的支持范围优先上原生grid-template-rows: masonry不支持的环境再按优先级选择降级方案。理由很简单——原生方案的性能、维护成本、可读性都远远优于 JS 计算方案降级路径只在少数不需要复杂交互的场景里会退到多列方案。具体到代码组织可以做成一个工具函数function initWaterfall(container) { if (CSS.supports(grid-template-rows, masonry)) { container.classList.add(waterfall--native); } else { container.classList.add(waterfall--fallback); layoutWaterfall(container); } }这样核心的布局逻辑被收敛在一个入口后续维护成本很低。7.2 针对信息流团队的进一步建议如果你的团队在做信息流产品我强烈建议花一次迭代的时间把瀑布流组件从第三方库迁移到原生降级方案。这次重构看起来增加了一些工作量但从长期维护角度看收益是非常明显的不再需要维护一个体积不小的第三方依赖布局性能提升明显而且代码逻辑完全由自己掌控后续扩展功能比如过滤、排序、动态插入会轻松很多。另外在移动端瀑布流的列数不要贪多两到三列是最舒适的范围。列数过多卡片宽度变窄视觉显得拥挤用户阅读压力反而变大。在平板和桌面端可以动态调整到四到六列但要注意卡片内容在窄列时的可读性。7.3 实际操作中的一点体会最后分享一个比较个人化的体会。瀑布流布局的核心不只是“怎么把元素摆得错落有致”更是“如何让内容驱动布局”也就是说布局引擎应该跟内容的变化保持一种平滑的关系。原生 masonry 追求的就是这个目标而 JS 计算方案则是对这种目标的一个手工近似。理解了这一层很多技术选型的纠结就没有了——能用原生就把工作交给浏览器不能就用小基数行高模拟甚至极端简化的场景用多列兜底。没有哪一种方案是绝对最好的只有适不适合当前产品需求、浏览器环境和团队维护能力。作为一个在前端领域干了十多年的人我见过太多为了炫技把信息流搞复杂、最后产品体验反而变差的案例。做好技术分层的取舍比单纯追求“新”更重要。

相关新闻

MySQL体系结构拆解:从分层原理到典型故障排查

MySQL体系结构拆解:从分层原理到典型故障排查

1. 体系结构不是拿来背的,是拿来定位问题的刚入行那阵子,我也背过MySQL体系结构图:连接层、服务层、存储引擎层、物理文件层,一层一层画得整整齐齐。但说实话,那时候背下来纯粹是为了面试,真正让我意识到这…

2026/10/17 9:31:40 阅读更多 →
Grix实战:SQL慢查询优化与复合索引智能推荐

Grix实战:SQL慢查询优化与复合索引智能推荐

1. 项目概述:这不是培训,是“带人打仗”的实战生产线Grix 这个名字,在数据库工程师圈子里已经不是新鲜词了。它不是个通用型低代码平台,也不是那种拖拽生成CRUD的玩具系统——它是一套为高并发、强一致性、复杂事务场景量身定制的…

2026/10/17 9:31:40 阅读更多 →
Figma组件化设计实战:从自动布局到原型交互的效率革命

Figma组件化设计实战:从自动布局到原型交互的效率革命

写 Figma 学习笔记,是给自己定的一个固定输出习惯。上一期我把界面布局、画板、图层、布尔运算这些基础操作梳理了一遍,这一期“02”想聊聊真正让 Figma 和传统设计工具有本质区别的东西:组件系统、变体、自动布局、约束、原型交互&#xff0…

2026/10/17 9:31:40 阅读更多 →

最新新闻

2026年SSH远程开发实战:把Claude Code的settings改到TaoToken直写服务器代码

2026年SSH远程开发实战:把Claude Code的settings改到TaoToken直写服务器代码

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

2026/10/17 10:12:59 阅读更多 →
DRN双回归网络:闭环优化单图像超分与下游任务

DRN双回归网络:闭环优化单图像超分与下游任务

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

2026/10/17 10:12:59 阅读更多 →
AI热点日报 | 2026年8月19日:MCP与CLI驱动下的AI Agent落地观察

AI热点日报 | 2026年8月19日:MCP与CLI驱动下的AI Agent落地观察

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

2026/10/17 10:12:59 阅读更多 →
PHP 7.4 编译报错 libzip 缺失?从 pkg-config 原理到源码编译全解析

PHP 7.4 编译报错 libzip 缺失?从 pkg-config 原理到源码编译全解析

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

2026/10/17 10:12:59 阅读更多 →
MCP 被称为 AI 系统的即插即用层,TaoToken 统一 Key 通道怎么接

MCP 被称为 AI 系统的即插即用层,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/17 10:12:59 阅读更多 →
多环境部署实战:配置分离与环境隔离方案

多环境部署实战:配置分离与环境隔离方案

1. 多环境部署到底在解决什么问题做过商城类项目的人都有一个共同体会:代码写完只是万里长征第一步,真正让人头疼的是“同一套代码,怎么在开发、测试、预发、生产这几套环境里都跑得起来,而且互不干扰”。「初学者商城」这个项目本…

2026/10/17 10:11:59 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →