Now vibe coding, so learning hammer FE ?
《shadcn/typeset 发布:为HTML内容打造统一排版系统》

标签:#前端 #shadcn #CSS排版 #Markdown渲染 #流式内容

总结:
shadcn/typeset 是一个面向 HTML 和 Markdown 的轻量排版系统,只需一个 CSS 文件和一个 typeset 类,即可为博客、文档、聊天流等场景提供统一且可灵活调节的文本样式,专为流式输出场景优化。

文章要点:
1. 开箱即用:只需在容器上添加 typeset 类,内部所有 HTML 元素(标题、段落、列表、表格、代码块等)自动获得优雅排版
2. 三旋钮控制:通过 --typeset-size(字号)、--typeset-leading(行高)、--typeset-flow(间距)三个 CSS 变量,轻松为不同场景(聊天、文档、博客)定制专属节奏
3. 流式友好:设计上避免了新内容块插入时导致已有内容样式重排的问题,非常适合 AI 聊天、流式输出等实时渲染场景
4. 完全可控:文件直接存在于你的项目中,无额外依赖包或配置层,真正做到了"你拥有它"

URL:https://ui.shadcn.com/docs/changelog/2026-07-typeset July 2026 - Introducing shadcn/typeset
《用 Web Components 构建框架无关的设计系统(实践指南)》

标签:#前端 #WebComponents #设计系统 #Elena #VitePress #CSS #无障碍

总结:
本文是一份超详细的实战教程,手把手教你用 Web Components(通过 Elena 库)和 VitePress 搭建一个框架无关、可发布的设计系统。核心思路是"最低可行层级"——用 web 标准直接写原子组件,避免框架锁定;组件保持"最笨"状态,把复杂业务逻辑留给应用层。文章涵盖 monorepo 结构搭建、Elena 组件脚手架、条件渲染、@scope 样式隔离、CSS 自定义属性主题化,以及通过 JSDoc + Custom Elements Manifest 自动生成 Props 表格的文档工作流。最终产出的是一个可独立发布的组件包 + 可部署的静态文档站。

文章要点:
1. 设计系统从第一天就绑定特定框架(如 React)是"令人费解的"——web 标准组件才是可移植、可组合、经得起时间考验的选择
2. Elena 是"刚好够用的抽象":处理跨框架的 prop/attribute 同步、事件委托等脏活,但不掩盖 web 标准本质
3. 组件应保持"最笨"——被告知显式状态和内容的声明式组件,比内置复杂状态管理的"聪明"组件更健康
4. 设计决策应该在代码中而非 Figma 中完成:现代色彩空间、相对单位、对数排版比例等,设计工具只能模拟浏览器的很小一部分能力
5. 用 @scope 实现样式隔离 + 组件级 CSS 自定义属性作为"最终层 token",既保证封装又有主题化回退
6. JSDoc 注释即文档:Elena 自动生成 custom-elements.json,VitePress 通过 data loader 直接渲染 PropsTable 和 ComponentHeader
7. 文档即测试场:在 VitePress 中实时预览组件,确保跨框架可移植性;开发时 concurrent 运行 watch + docs:dev 实现热更新
8. 条件渲染示例:同一个组件通过 href prop 自动切换 button/a 标签,CTA 链接按钮的常见需求也能语义化实现

URL:https://piccalil.li/blog/framework-agnostic-design-systems-part-1/ Framework-agnostic design systems: a practical approach to web components
《编写可维护CSS的实践指南》

标签:#前端 #CSS #TailwindCSS #AtomicCSS #StyleX #CSSModules #CSS_Scoping #CSS_Variables #CSS_Layers #Fluid_Typography #StyleLint #Component_Scoped_CSS

总结:
两位前端老兵Wes Bos和Scott Tolinski畅聊如何让CSS不变成"垃圾场"。核心思路是选一个系统坚持到底、用变量代替硬编码、保持组件独立可移植,并善用现代CSS原生能力(如@scope、@layer、clamp流体排版)减少媒体查询的重复劳动。他们还对比了Tailwind、StyleX、CSS Modules等主流方案,强调好CSS要"有弹性"——能自适应容器变化,而不是在每个断点重写一遍样式。

文章要点:
- **样式别"漏"出去**:好CSS要像密封舱,组件拆下来放在白纸上照样好看;如果样式太宽泛、到处泄漏,代码很快就会腐烂发臭
- **变量是救命稻草**:颜色、字体、阴影全进变量里,别写死数值;不然一年后你会在代码里挖出40种不同的灰色,改起来想哭
- **给CSS分层控权**:用`@layer`把重置、主题、组件样式分楼层,告别"加权重、加!important"的 specificity 战争,心里踏实多了
- **原生作用域来了**:`@scope`已经登陆主流浏览器,甚至可以把`<style>`直接丢进组件里自动限定范围,Vue和Svelte用户听了直呼"终于等到你"
- **流体排版超省心**:用`clamp()`做字体大小,让文字在手机和桌面之间丝滑缩放,很多时候连媒体查询都可以省了
- **Tailwind vs CSS Modules vs StyleX**:Tailwind像速记本,上手快但类名堆成山;CSS Modules稳扎稳打;StyleX走构建时优化路线,但媒体查询语法劝退不少人——选哪个不重要,关键是别混着用
- **上StyleLint当"坏人"**:让工具自动拦住"用硬编码颜色"这类操作,比你在PR里当挑刺老哥体面多了,团队协作必备

文章URL:https://syntax.fm/show/999/writing-maintainable-css/transcript Transcript: Writing Maintainable CSS - Syntax #999
 
 
Back to Top