CSS

12 篇内容

技术文章Bram.us

Unlock Immediate Diagonal Scrolling with CSS scroll-axis-lock: none

本文介绍 CSS 新属性 `scroll-axis-lock`,用于控制浏览器默认的滚动轴锁定(railing)行为。当用户在二维滚动容器中的手势沿单一轴向有明显优势时,浏览器会锁定该轴,忽略垂直方向的微小偏移,这有时会阻碍用户立即进行对角线滚动。`scroll-axis-lock: none` 可以禁用此锁定,使滚动完全跟随用户输入。文章通过视频对比了 Chrome 与 Safari 的差异,并提供了交互演示和代码示例。当前仅 Chromium 153 支持,Firefox 和 Safari 尚未支持,作者建议将其作为渐进增强使用。该属性适用于需要精确对角线滚动的场景,但可能引入直线滚动时的抖动,开发者需根据平台差异权衡。

本文以清晰的解释和对比演示,揭示了浏览器滚动轴锁定的底层行为及其对用户体验的影响,并提供了直接的控制手段。适合前端开发者、交互设计师理解并解决二维滚动交互中的“卡顿”问题。文中展示的渐进增强实践和平台差异分析,可迁移至其他新 CSS 特性的评估与应用,具有显著的参考价值。

技术文章Bram.us

Styling the Navigation: Declarative Route and Navigation Matching in CSS

本文介绍了Chrome团队提出的CSS声明式路由与导航匹配新规范,旨在解决多页应用(MPA)中使用View Transitions时难以根据来源和目的地页面对导航动画进行声明式样式控制的痛点。作者详细阐述了@route、@navigation、:nav-source和:link-to()等关键语法:@route定义命名路由模式,@navigation查询当前导航的起止端点,:nav-source定位发起导航的元素,:link-to()则允许基于链接目标路由应用样式。文中的一个滑动导航Demo演示了该方案无需JavaScript即可动态切换视图过渡类型,显著简化了导航动画逻辑。该规范目前处于早期提案阶段,即将提交CSS工作组F2F会议讨论,参数匹配等细节仍在设计中,实验性支持已可在Chrome Canary中启用。

推荐收录,因为文章深入解释了正在演进中的CSS导航匹配规范,详细提供了设计动机、语法定义和实际用例,对关注View Transitions和声明式CSS能力的前端开发者具有直接参考价值。它为简化导航动画、减少JavaScript干预指出了一条标准化路径,读者可以提前了解并影响规范走向,但其API尚未最终确定,请留意未来变化。

工程实践Red Blob Games

Responsive design calculator

作者发现个人网站因手动计算 px 到 rem 转换时四舍五入导致字体大小微小偏差,从而追溯了从固定宽度布局到响应式布局的演变过程。文章详细介绍了利用断点插值和斜率统一控制边距分配的方法,并开发了交互式计算器,基于断点自动生成 CSS 代码。作者进一步探索了在现代 CSS 中使用 min()、clamp() 和 round() 函数实现布局计算,最终形成一套可复用的公式。本文展示了从问题定位、手工计算修复到自动化工具构建的完整工程实践,适用于需要实现平滑响应式布局的前端场景,但对非常老旧的浏览器兼容性有限。

本文提供了一个从微小 bug 定位到工具化改进的典型工程案例,聚焦于响应式布局断点计算的真实约束与取舍。对于前端开发者和 UI 工程师,文中的斜率控制方法、交互式计算器以及现代 CSS 函数应用可直接迁移到类似项目中,具有明确的实践参考价值。

技术文章Jake Archibald

The Goldilocks customizable select height

文章围绕可定制 select 的下拉面板高度设计,提出一套“既不贴边、也不过小、还不过大”的 CSS 方案。作者先解释浏览器默认的 anchor positioning、max-block-size: stretch、position-try-fallbacks 等行为,再逐步用 viewport margin、最小/最大高度约束改善交互。核心难点在于不同浏览器对百分比高度、翻转边距和 intrinsic size 的支持不一致,因此文章引入 calc-size() 把 fit-content 和 stretch 这类内在尺寸纳入 min()/max() 计算。文中还给出 Firefox/Safari 的降级写法,以及在选项较少时避免“最小高度反而显得难看”的补丁。整体内容适合需要做现代表单控件、CSS 适配和跨浏览器布局调优的前端开发者参考,但其中部分最佳方案仍受浏览器支持度限制。

有明确的可复用代码和浏览器差异分析,不是泛泛介绍新特性,而是解决 select picker 高度控制的具体工程问题。适合前端开发者在做可定制表单控件、CSS 新特性落地和跨浏览器降级时直接借鉴。

技术文章Josh W Comeau

An Interactive Guide to CSS Grid

这篇文章是一篇面向前端开发者的 CSS Grid 交互式教程,目标不是罗列属性,而是建立可操作的心智模型。作者从网格容器、行列轨道、隐式网格、项目定位与跨列跨行等核心概念入手,结合可视化示例解释 Grid 在二维布局中的工作方式。文中还强调了 fr、minmax、gap、auto-flow 和对齐规则等常用能力,帮助读者理解轨道尺寸分配与自动放置的结果。文章的重点在于把“看懂布局结果”与“预测布局行为”连起来,而不是背诵 API。它适合需要系统掌握现代网页布局的工程实践者,但对只想快速完成单页排版的人来说内容会偏深入。

收录依据很明确:文章围绕 CSS Grid 的概念模型、属性机制和布局结果展开,并通过交互示例帮助读者形成可迁移的理解。适合前端工程师、UI 开发者以及需要从 Flexbox 过渡到二维布局的人长期查阅。

技术文章Josh W Comeau

An Interactive Guide to Flexbox

这篇文章以交互式方式讲解 CSS Flexbox 的工作机制,而不只是罗列属性含义。作者从布局算法入手,说明容器与子项在主轴、交叉轴上的尺寸分配、对齐和换行规则,帮助读者理解为什么同一组样式在不同约束下会得到不同结果。文章的重点不在“怎么记属性”,而在于把 flex-grow、flex-shrink、flex-basis 等概念串成可预测的布局模型。它特别适合需要构建自适应页面、减少断点依赖的前端开发场景。局限在于内容偏基础到进阶入门,对复杂布局仍需结合实际浏览器行为与其他 CSS 布局方案一起理解。

推荐收录,因为标题和导语已经明确表明它不是浅层速查,而是围绕 Flexbox 算法与布局规律展开的交互式教程。适合前端工程师、UI 实现者和需要补齐 CSS 布局心智模型的读者,迁移价值在于能直接提升对自适应布局和属性联动的判断能力。

技术文章Josh W Comeau

Designing Beautiful Shadows in CSS

这篇文章围绕“如何用 CSS 设计更自然、更有质感的阴影”展开,先指出网页上常见的灰色模糊阴影过于单调,再说明阴影其实可以通过 CSS 做出更接近真实光照的层次效果。作者以视觉设计为切入点,强调阴影不仅是装饰,还承担空间分层、强调主体和塑造材质感的作用。文章的核心思路是把阴影当作可控的光学效果来设计,而不是简单套用默认参数,从而获得更丰富、更具生命力的界面表现。它更适合前端界面设计和组件细节优化,尤其适合需要提升视觉品质的产品页、组件库和交互界面。其边界在于这类技巧高度依赖具体背景、元素形状和整体视觉语言,不能机械套用到所有场景。

推荐收录,因为标题和导语直接表明它不是泛泛而谈,而是专门讲 CSS 阴影的设计方法,属于可迁移的前端视觉实现经验。适合做界面细节打磨、设计系统和组件库开发的读者参考,但需要结合具体主题色、光源方向和可读性约束使用。

技术文章Josh W Comeau

An Interactive Guide to Keyframe Animations

这篇文章是一篇围绕 CSS keyframe animations 的交互式教程,目标是从底层机制解释关键帧动画如何工作。作者先说明 keyframes 为什么灵活但也容易让人困惑,再通过逐步拆解动画声明、时间轴和关键帧配置,帮助读者建立对动画执行过程的直觉。文章强调的不只是语法用法,还包括如何利用关键帧组合出更高质量的动效,并理解何时适合使用这种方案。它更适合希望提升前端动效能力的读者,尤其是需要把动画效果做得稳定、可控且可维护的人。不过,作为教程类内容,它的长期价值主要来自原理讲解和实践模式,而不是特定项目经验。

文章明确聚焦 CSS keyframe animations 的原理与用法,不是浅层语法速览,而是从机制层面帮助读者建立动画模型。适合前端开发者、动效实现者和需要写可维护交互动画的工程场景,迁移价值主要在于对时间轴、关键帧和表现控制的理解。

技术文章Josh W Comeau

What The Heck, z-index??

这篇文章围绕 CSS 中最容易误解的 z-index 现象展开,解释为什么元素的数值看起来更大,却仍然无法覆盖到预期层级。作者重点讲解了 stacking context 的形成条件、层叠顺序以及父子层级之间的限制,说明 z-index 不是全局排名,而是受局部上下文约束的比较规则。文章还进一步讨论了哪些属性会触发新的 stacking context,以及这会如何改变定位、遮挡和弹层行为。最后,作者给出利用这一机制组织页面层级的思路,帮助读者从“调数值”转向“理解上下文”。它的适用范围主要是前端布局与视觉层级排查,不涉及更广泛的浏览器渲染内核细节。

推荐收录,因为文章直接针对 z-index 失效这一高频前端问题,明确解释了 stacking context 的规则与触发条件,而不是停留在经验性排错。适合需要处理弹层、遮罩、菜单和复杂布局的前端开发者,具有很强的可迁移排障价值。

技术文章Josh W Comeau

The Rules of Margin Collapse

文章系统讲解了 CSS 中“外边距折叠”的成因与判定规则,目标不是背结论,而是用一组可执行的原则理解它何时发生、何时不会发生。作者围绕块级元素的上下外边距,分别分析了兄弟元素、父子元素以及空元素场景下的折叠行为,并说明了边框、内边距、内容高度、清除浮动或形成新的格式化上下文等因素为何会阻止折叠。文中强调,外边距折叠并非随机怪现象,而是由布局规范驱动的确定性结果。通过这些规则,读者可以更可靠地预测间距表现,避免用试错方式调 CSS。文章适合希望深入理解浏览器布局机制的前端开发者,但对完全不熟悉 CSS 盒模型的人仍有一定门槛。

收录理由明确:文章不是泛泛介绍 margin collapse,而是把触发条件、阻断条件和典型场景拆成可操作规则,属于可长期复用的 CSS 机制解析。适合前端开发者、样式排障和布局体系设计者阅读,尤其有助于减少对“玄学间距”的试错。

技术文章Josh W Comeau

Full-Bleed Layout Using CSS Grid

文章围绕现代前端中常见但实现别扭的 full-bleed 布局展开,目标是在同一页面里同时保留居中正文和通栏内容。作者以 CSS Grid 为核心,拆解了网格轨道、内容容器与全宽元素之间的关系,说明如何用一套统一的网格定义让图片、横幅或代码块突破正文栏宽限制而不破坏整体排版。文章重点在于通过 Grid 的显式轨道和对齐机制减少额外嵌套与定位技巧,从而让布局规则更清晰、可维护性更高。它更适合作为 CSS 布局思路的参考,而不是面向所有场景的通用模板;对于需要复杂响应式排版或内容混排的页面尤其实用。其边界在于依赖 CSS Grid 支持,并且需要结合具体设计系统调整间距、宽度和断点。

收录理由明确:正文直接说明是“用 CSS Grid 构建 full-bleed layout”的教程,属于可复用的前端布局方法而非产品介绍。适合前端开发者、设计系统维护者和需要处理复杂内容排版的工程场景,迁移价值在于统一居中正文与通栏元素的布局策略。

技术文章Josh W Comeau

Styling Ordered Lists with CSS Counters

这篇文章讨论如何在不破坏语义结构的前提下美化有序列表。作者指出,直接改写默认编号样式常常受限于浏览器对列表标记的封装,因此引入 CSS counters 作为替代方案,让开发者可以完全控制编号的展示方式、位置和视觉细节。文章的核心思路是:保留 `ol`/`li` 的语义,再用计数器生成自定义序号,从而兼顾可访问性与定制能力。它适合需要精细排版、品牌化列表样式或复杂嵌套编号的前端场景,但本质上仍是展示层技巧,不适用于需要改变文档结构或交互逻辑的情况。

推荐收录,因为它直接给出了用 CSS counters 处理有序列表样式的可复用技巧,并明确强调了“自定义外观但不牺牲语义”这一关键边界。对前端开发者、设计系统维护者和需要精细排版的页面实现场景都很实用,迁移到其他列表编号需求也很容易。