<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>CSS排版 | 锤子前端</title><description>Now vibe coding, so learning hammer FE ?</description><link>https://channel.meo-ai.com</link><item><title>《CSS 单位完全参考手册》</title><link>https://channel.meo-ai.com/posts/703</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/703</guid><pubDate>Wed, 02 Sep 2026 13:28:01 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《CSS 单位完全参考手册》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91&quot; title=&quot;#前端开发&quot;&gt;#前端开发&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS&quot; title=&quot;#CSS&quot;&gt;#CSS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%93%8D%E5%BA%94%E5%BC%8F%E8%AE%BE%E8%AE%A1&quot; title=&quot;#响应式设计&quot;&gt;#响应式设计&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Web%E6%8E%92%E7%89%88&quot; title=&quot;#Web排版&quot;&gt;#Web排版&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%AE%B9%E5%99%A8%E6%9F%A5%E8%AF%A2&quot; title=&quot;#容器查询&quot;&gt;#容器查询&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%A7%86%E5%8F%A3%E5%8D%95%E4%BD%8D&quot; title=&quot;#视口单位&quot;&gt;#视口单位&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%AD%97%E4%BD%93%E7%9B%B8%E5%AF%B9%E5%8D%95%E4%BD%8D&quot; title=&quot;#字体相对单位&quot;&gt;#字体相对单位&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS%E6%95%B0%E5%AD%A6%E5%87%BD%E6%95%B0&quot; title=&quot;#CSS数学函数&quot;&gt;#CSS数学函数&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;&lt;br /&gt;这是一本由 Mykola Ptushchuk 编写的交互式 CSS 单位参考手册，涵盖从基础像素到现代容器查询单位的所有 CSS 度量单位。全书共 7 章，每个单位都配有实时浏览器演示，可在线调整参数观察实际效果，并提供完整 PDF 下载。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;&lt;br /&gt;1. 全书结构清晰，覆盖七大单位家族：从绝对单位（px）、字体相对单位（em/rem/ch/cap 等）、视口单位（vw/vh 及小/大/动态视口变体）、容器查询单位（cqi/cqw 等）、百分比、数学函数，到角度单位，形成完整的 CSS 度量体系地图。&lt;br /&gt;&lt;br /&gt;2. 视口单位家族详解：现代移动端浏览器 UI 会动态收缩/展开，因此视口单位分为默认（等价于大视口）、小视口（sv，假设浏览器控件展开）、大视口（lv，假设控件收起）和动态视口（dv，实时状态）四大家族，解决了 &lt;code&gt;100vh&lt;/code&gt; 在移动端全屏布局中常见的&quot;被地址栏遮挡&quot;难题。&lt;br /&gt;&lt;br /&gt;3. 容器查询单位让组件真正可移植：&lt;code&gt;cqi&lt;/code&gt;/&lt;code&gt;cqw&lt;/code&gt; 等单位测量的是组件所在的&quot;查询容器&quot;而非整个视口，使同一个卡片组件在 300px 侧边栏和 700px 主栏中能自动呈现不同布局，无需媒体查询或额外类名，实现了&quot;组件响应自身上下文&quot;而非&quot;响应整个页面&quot;的范式转变。&lt;br /&gt;&lt;br /&gt;4. 字体相对单位不止 em/rem：除了常见的 &lt;code&gt;em&lt;/code&gt;（当前元素字体大小）和 &lt;code&gt;rem&lt;/code&gt;（根元素字体大小），还有 &lt;code&gt;ch&lt;/code&gt;（数字 0 的字宽，适合设置最佳阅读行宽如 &lt;code&gt;65ch&lt;/code&gt;）、&lt;code&gt;cap&lt;/code&gt;（大写字母高度，适合图标与标题对齐）、&lt;code&gt;lh&lt;/code&gt;（当前行高作为长度）等精细排版单位，以及对应的根元素变体（rch/rex/rcap 等，2026 年 1 月才在 Firefox 中补齐，至此全浏览器支持）。&lt;br /&gt;&lt;br /&gt;5. CSS 数学函数是单位的粘合剂：&lt;code&gt;calc()&lt;/code&gt; 可混合不同单位（如 &lt;code&gt;100% - 240px&lt;/code&gt;），&lt;code&gt;clamp()&lt;/code&gt; 实现流体排版（如 &lt;code&gt;clamp(2rem, 5vw + 1rem, 4rem)&lt;/code&gt;），&lt;code&gt;min()/max()&lt;/code&gt; 取极值，还有三角函数（&lt;code&gt;sin/cos/tan&lt;/code&gt;）可用于无 JS 的圆形布局，指数函数（&lt;code&gt;pow/sqrt&lt;/code&gt;）可构建模块化字号比例系统。&lt;br /&gt;&lt;br /&gt;6. 实用选型建议：正文用 &lt;code&gt;rem&lt;/code&gt; 尊重用户偏好，组件内部比例用 &lt;code&gt;em&lt;/code&gt; 保持缩放一致性，&lt;code&gt;line-height&lt;/code&gt; 推荐无单位写法（如 &lt;code&gt;1.5&lt;/code&gt;）以便作为乘数继承，&lt;code&gt;clamp()&lt;/code&gt; 的流体值中务必包含 &lt;code&gt;rem&lt;/code&gt; 项以确保缩放无障碍性。&lt;br /&gt;&lt;br /&gt;7. 交互式学习体验：每个单位都配有可拖拽、可滑动的实时演示，直接在浏览器中观察单位变化效果，将抽象概念转化为直观体验，并支持下载完整 PDF 离线阅读。&lt;br /&gt;&lt;br /&gt;URL：&lt;br /&gt;&lt;a href=&quot;https://cssunits.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://cssunits.com/&quot;&gt;https://cssunits.com/&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://cssunits.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;A complete interactive reference to every CSS measurement unit. From the basics of px and rem to the nuances of svh, dvh, and cqw.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;CSS Units&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;CSS Units — The Complete Reference&quot; src=&quot;/static/https://cdn4.telesco.pe/file/AT6h8pjfCkp_NRrPaD5TkS-87t7UrKQHXNF-NoWZhC1pDd2HlAyJu29y8zrNUSI82Uu4vmjOKmJ65DbVIkgB6uqrGGa-ZuTI3f-39CT-anyXVvjvGsSdF_tocD3xH_AiGgJd3mLLtOLdqEeHS5nz7RYNXG7MzBU1uUM26Jj87nW5fExS5Wf2N0XTxn_zUVx8joWV_wnZmH10otZqAeKHqBiqwtXjV-99EFtl3BiB1VU9OPiiBARJAypdJ9hDcE8Ys3fDSdSXMKR8GPU6Ruy0DvDyvBoyp59ibi5_PX-X4KQrI0-ZueMxN-GdN_e5wlBs2MbhxplSQWiuq8cov38NdQ.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;CSS Units — The Complete Reference&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;A complete interactive reference to every CSS measurement unit. From the basics of px and rem to the nuances of svh, dvh, and cqw.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《shadcn/typeset 发布：为HTML内容打造统一排版系统》</title><link>https://channel.meo-ai.com/posts/679</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/679</guid><pubDate>Sun, 19 Jul 2026 14:08:25 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《shadcn/typeset 发布：为HTML内容打造统一排版系统》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23shadcn&quot; title=&quot;#shadcn&quot;&gt;#shadcn&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS%E6%8E%92%E7%89%88&quot; title=&quot;#CSS排版&quot;&gt;#CSS排版&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Markdown%E6%B8%B2%E6%9F%93&quot; title=&quot;#Markdown渲染&quot;&gt;#Markdown渲染&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%B5%81%E5%BC%8F%E5%86%85%E5%AE%B9&quot; title=&quot;#流式内容&quot;&gt;#流式内容&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;shadcn/typeset 是一个面向 HTML 和 Markdown 的轻量排版系统，只需一个 CSS 文件和一个 &lt;code&gt;typeset&lt;/code&gt; 类，即可为博客、文档、聊天流等场景提供统一且可灵活调节的文本样式，专为流式输出场景优化。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1. 开箱即用：只需在容器上添加 &lt;code&gt;typeset&lt;/code&gt; 类，内部所有 HTML 元素（标题、段落、列表、表格、代码块等）自动获得优雅排版&lt;br /&gt;2. 三旋钮控制：通过 &lt;code&gt;--typeset-size&lt;/code&gt;（字号）、&lt;code&gt;--typeset-leading&lt;/code&gt;（行高）、&lt;code&gt;--typeset-flow&lt;/code&gt;（间距）三个 CSS 变量，轻松为不同场景（聊天、文档、博客）定制专属节奏&lt;br /&gt;3. 流式友好：设计上避免了新内容块插入时导致已有内容样式重排的问题，非常适合 AI 聊天、流式输出等实时渲染场景&lt;br /&gt;4. 完全可控：文件直接存在于你的项目中，无额外依赖包或配置层，真正做到了&quot;你拥有它&quot;&lt;br /&gt;&lt;br /&gt;URL：&lt;a href=&quot;https://ui.shadcn.com/docs/changelog/2026-07-typeset&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://ui.shadcn.com/docs/changelog/2026-07-typeset&quot;&gt;https://ui.shadcn.com/docs/changelog/2026-07-typeset&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://ui.shadcn.com/docs/changelog/2026-07-typeset&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;A complete typography system for HTML, from blog posts to streaming chat. One CSS file you own.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Shadcn&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;July 2026 - Introducing shadcn/typeset&quot; src=&quot;/static/https://cdn4.telesco.pe/file/P3vpd47EB-LfgY7nz8oty8yeu0zqOTJIPYScgmHMUBLtXJyqXQMChAUbcBeXvGnSWfZ5qHCm0cMQ3W-5nM0h_Gt8kVoNVWopDO9XUNW_RYIF1Cg_H_nYt0Sz26qseWNZJ8VoycwR0DpZXjHWcSzQBHTg-Yqz723iZ34FVoXla7Xq6Ztr-TXhgq31SPkSf0Wkr5y7omcm265hrj1jUBL4xPq94gCoJMUO-DS0pt-rEdD9lKA7BPI5jhvKciicSvYoeDcqYwi1dy_1er0cUDmh8wBvChyyivPOIR6puWyDw69VOkpfM4W0UrPhVPoQIR55ykctK8FV9U4xXM0qBcwCRw.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;July 2026 - Introducing shadcn/typeset&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;A complete typography system for HTML, from blog posts to streaming chat. One CSS file you own.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《用 Web Components 构建框架无关的设计系统（实践指南）》</title><link>https://channel.meo-ai.com/posts/650</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/650</guid><pubDate>Sat, 30 May 2026 00:08:24 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《用 Web Components 构建框架无关的设计系统（实践指南）》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23WebComponents&quot; title=&quot;#WebComponents&quot;&gt;#WebComponents&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%AE%BE%E8%AE%A1%E7%B3%BB%E7%BB%9F&quot; title=&quot;#设计系统&quot;&gt;#设计系统&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Elena&quot; title=&quot;#Elena&quot;&gt;#Elena&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23VitePress&quot; title=&quot;#VitePress&quot;&gt;#VitePress&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS&quot; title=&quot;#CSS&quot;&gt;#CSS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%97%A0%E9%9A%9C%E7%A2%8D&quot; title=&quot;#无障碍&quot;&gt;#无障碍&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;本文是一份超详细的实战教程，手把手教你用 Web Components（通过 Elena 库）和 VitePress 搭建一个框架无关、可发布的设计系统。核心思路是&quot;最低可行层级&quot;——用 web 标准直接写原子组件，避免框架锁定；组件保持&quot;最笨&quot;状态，把复杂业务逻辑留给应用层。文章涵盖 monorepo 结构搭建、Elena 组件脚手架、条件渲染、&lt;a href=&quot;https://t.me/scope&quot; target=&quot;_blank&quot; title=&quot;@scope&quot;&gt;@scope&lt;/a&gt; 样式隔离、CSS 自定义属性主题化，以及通过 JSDoc + Custom Elements Manifest 自动生成 Props 表格的文档工作流。最终产出的是一个可独立发布的组件包 + 可部署的静态文档站。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1. 设计系统从第一天就绑定特定框架（如 React）是&quot;令人费解的&quot;——web 标准组件才是可移植、可组合、经得起时间考验的选择&lt;br /&gt;2. Elena 是&quot;刚好够用的抽象&quot;：处理跨框架的 prop/attribute 同步、事件委托等脏活，但不掩盖 web 标准本质&lt;br /&gt;3. 组件应保持&quot;最笨&quot;——被告知显式状态和内容的声明式组件，比内置复杂状态管理的&quot;聪明&quot;组件更健康&lt;br /&gt;4. 设计决策应该在代码中而非 Figma 中完成：现代色彩空间、相对单位、对数排版比例等，设计工具只能模拟浏览器的很小一部分能力&lt;br /&gt;5. 用 &lt;a href=&quot;https://t.me/scope&quot; target=&quot;_blank&quot; title=&quot;@scope&quot;&gt;@scope&lt;/a&gt; 实现样式隔离 + 组件级 CSS 自定义属性作为&quot;最终层 token&quot;，既保证封装又有主题化回退&lt;br /&gt;6. JSDoc 注释即文档：Elena 自动生成 custom-elements.json，VitePress 通过 data loader 直接渲染 PropsTable 和 ComponentHeader&lt;br /&gt;7. 文档即测试场：在 VitePress 中实时预览组件，确保跨框架可移植性；开发时 concurrent 运行 watch + docs:dev 实现热更新&lt;br /&gt;8. 条件渲染示例：同一个组件通过 href prop 自动切换 button/a 标签，CTA 链接按钮的常见需求也能语义化实现&lt;br /&gt;&lt;br /&gt;URL：&lt;a href=&quot;https://piccalil.li/blog/framework-agnostic-design-systems-part-1/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://piccalil.li/blog/framework-agnostic-design-systems-part-1/&quot;&gt;https://piccalil.li/blog/framework-agnostic-design-systems-part-1/&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://piccalil.li/blog/framework-agnostic-design-systems-part-1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Baking framework lock-in into your design system from day one is a recipe for obsolescence. Component documentation is often tedious and out-of-sync with development. Let’s build a documentation-first, framework-agnostic component library using web standards…&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Piccalilli&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;Framework-agnostic design systems: a practical approach to web components&quot; src=&quot;/static/https://cdn4.telesco.pe/file/c5MKnRW_4RxCmUAd723zvjHh4L-nLO0G5lNM1Rh-VVrBb9er230bEw9ZYF4VsuuvxN0BVi0YyOXkUFWq_AH9w49QAI6VMwvxXkDpdbB0gIDD7JCyX5AuJ-Ny1v7brQ_shLRPNX7gf8Ay5l_SATf0p3zFlSNh8IGQdLmviOU5QsWPjJRhu8kA0x5HjeMOkTFPFRTGasUhlk6IDbOVvfbHOqbHmEPWU6n08YbW6SS-PHyBD2nmeqUrbZ2UZL9gZQztNv7Dn7GUuYzet9bvQl3-ds-AwqZZkw1-Bv37QOg9VeUCezZYVhY90R8b3s7XeNV8n08Fs1UfIk9tOVbATrIxUQ.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;Framework-agnostic design systems: a practical approach to web components&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Baking framework lock-in into your design system from day one is a recipe for obsolescence. Component documentation is often tedious and out-of-sync with development. Let’s build a documentation-first, framework-agnostic component library using web standards…&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《编写可维护CSS的实践指南》</title><link>https://channel.meo-ai.com/posts/624</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/624</guid><pubDate>Wed, 06 May 2026 05:40:40 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《编写可维护CSS的实践指南》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS&quot; title=&quot;#CSS&quot;&gt;#CSS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TailwindCSS&quot; title=&quot;#TailwindCSS&quot;&gt;#TailwindCSS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23AtomicCSS&quot; title=&quot;#AtomicCSS&quot;&gt;#AtomicCSS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23StyleX&quot; title=&quot;#StyleX&quot;&gt;#StyleX&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSSModules&quot; title=&quot;#CSSModules&quot;&gt;#CSSModules&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS_Scoping&quot; title=&quot;#CSS_Scoping&quot;&gt;#CSS_Scoping&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS_Variables&quot; title=&quot;#CSS_Variables&quot;&gt;#CSS_Variables&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS_Layers&quot; title=&quot;#CSS_Layers&quot;&gt;#CSS_Layers&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Fluid_Typography&quot; title=&quot;#Fluid_Typography&quot;&gt;#Fluid_Typography&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23StyleLint&quot; title=&quot;#StyleLint&quot;&gt;#StyleLint&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Component_Scoped_CSS&quot; title=&quot;#Component_Scoped_CSS&quot;&gt;#Component_Scoped_CSS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;两位前端老兵Wes Bos和Scott Tolinski畅聊如何让CSS不变成&quot;垃圾场&quot;。核心思路是选一个系统坚持到底、用变量代替硬编码、保持组件独立可移植，并善用现代CSS原生能力（如@scope、&lt;a href=&quot;https://t.me/layer&quot; target=&quot;_blank&quot; title=&quot;@layer&quot;&gt;@layer&lt;/a&gt;、clamp流体排版）减少媒体查询的重复劳动。他们还对比了Tailwind、StyleX、CSS Modules等主流方案，强调好CSS要&quot;有弹性&quot;——能自适应容器变化，而不是在每个断点重写一遍样式。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;- **样式别&quot;漏&quot;出去**：好CSS要像密封舱，组件拆下来放在白纸上照样好看；如果样式太宽泛、到处泄漏，代码很快就会腐烂发臭&lt;br /&gt;- **变量是救命稻草**：颜色、字体、阴影全进变量里，别写死数值；不然一年后你会在代码里挖出40种不同的灰色，改起来想哭&lt;br /&gt;- **给CSS分层控权**：用`&lt;a href=&quot;https://t.me/layer&quot; target=&quot;_blank&quot; title=&quot;@layer&quot;&gt;@layer&lt;/a&gt;`把重置、主题、组件样式分楼层，告别&quot;加权重、加!important&quot;的 specificity 战争，心里踏实多了&lt;br /&gt;- **原生作用域来了**：`&lt;a href=&quot;https://t.me/scope&quot; target=&quot;_blank&quot; title=&quot;@scope&quot;&gt;@scope&lt;/a&gt;`已经登陆主流浏览器，甚至可以把`&amp;lt;style&amp;gt;`直接丢进组件里自动限定范围，Vue和Svelte用户听了直呼&quot;终于等到你&quot;&lt;br /&gt;- **流体排版超省心**：用`clamp()`做字体大小，让文字在手机和桌面之间丝滑缩放，很多时候连媒体查询都可以省了&lt;br /&gt;- **Tailwind vs CSS Modules vs StyleX**：Tailwind像速记本，上手快但类名堆成山；CSS Modules稳扎稳打；StyleX走构建时优化路线，但媒体查询语法劝退不少人——选哪个不重要，关键是别混着用&lt;br /&gt;- **上StyleLint当&quot;坏人&quot;**：让工具自动拦住&quot;用硬编码颜色&quot;这类操作，比你在PR里当挑刺老哥体面多了，团队协作必备&lt;br /&gt;&lt;br /&gt;文章URL：&lt;a href=&quot;https://syntax.fm/show/999/writing-maintainable-css/transcript&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://syntax.fm/show/999/writing-maintainable-css/transcript&quot;&gt;https://syntax.fm/show/999/writing-maintainable-css/transcript&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://syntax.fm/show/999/writing-maintainable-css/transcript&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;syntax.fm&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;Transcript: Writing Maintainable CSS - Syntax #999&quot; src=&quot;/static/https://cdn4.telesco.pe/file/HrukEFwfD7zg7qnG1GcoNTY0F9ssQ7SkeTktwX7iwWGyZFBzhUkdeFzo5WYvZbV8TtOfUc_A23cROlRTTx_-ARCxMo9aG8A50YX520H9DH8X7-zf6W80I5ms6wdQZ4lrfNaSF_edx2EznIQVqRsRF-Oy23UGtuIHFuvziQ96hghiEDJR0YzVvKTap_h185ggKum8mmzZKUyKduSnXBeXaLj0raLyfHN9DbhXnZOS1eL_Lii9KjXgBjpZo1vULmfYaScewJhP7uIR8adLVEleo8MikjK-6G5LboF0SL1mjyD9UNH7noqGndRlA34ymb3to1BtrkW5DlTbCPnWwiS_Bw.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;Transcript: Writing Maintainable CSS - Syntax #999&lt;/div&gt;
  
&lt;/a&gt;</content:encoded></item></channel></rss>