#优质博文 #前端 #css #新特性
CSS snippets

AI 摘要:Jeremy Keith 分享了他在新项目中默认使用的 CSS 实践和代码片段,包括逻辑属性、用户偏好查询、视图过渡、自定义属性和流体排版等现代 CSS 特性,并提供了多个可复用的实用代码片段,强调可访问性和渐进增强的重要性。

1. CSS 习惯用法
• 默认使用逻辑属性(如 inline-start 替代 left),以支持多语言书写方向。
• 通过 prefers-reduced-motion 和 prefers-color-scheme 查询优化用户体验。
• 视图过渡(View Transitions)默认启用,但包裹在减少运动偏好查询中。

2. 颜色与自定义属性
• 使用 OKLCH 色彩空间,即使从十六进制值开始转换。
• 自定义属性的应用策略:避免过早优化,仅在值重复多次时提取为变量。

3. 排版技术
• 使用 clamp() 实现流体文字大小,结合 Utopia 工具调整类型比例。
• 新属性 text-wrap: pretty/balance 和 hanging-punctuation 优化文本换行与标点悬挂。

4. 可复用代码片段
• figcaption 样式:居中短文本,多行时左对齐(max-inline-size: max-content)。
• 焦点样式:a:focus-visible 使用 currentColor 和相对单位(0.25em)。
• 低特异性技巧:通过 :where() 选择器或层叠层(@layer core)确保样式可覆盖。

5. 未来改进方向
• 探索 :has() 选择器和容器查询的更多用例。
• 采用 lh 单位(行高)控制块间距。

6. 读者互动:
• Carlos Espada 补充了 :has() 的实用案例(如 body:has(dialog[open]) 禁用滚动)
• Marc Görtz 提到迁移至 oklch() 色彩和 lh 单位的实践


author Jeremy Keith
 
 
Back to Top