Glittering's blog Glittering's blog
Home
  • 学习手册

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • CSS
  • 技术文档
  • 算法
  • 工作总结
  • 实用技巧
  • collect
About
  • Classification
  • Label
GitHub (opens new window)

Glitz Ma

前端开发工程师
Home
  • 学习手册

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • CSS
  • 技术文档
  • 算法
  • 工作总结
  • 实用技巧
  • collect
About
  • Classification
  • Label
GitHub (opens new window)
  • CSS

    • CSS教程和技巧收藏
      • 如何选择适合的组件库?
      • 如何自建组件库?
      • Headless UI (无头组件)
      • shadcn/ui
      • tailwindcss
      • Element UI
      • Element Plus
      • Naive UI
      • TDesign
      • Ant Design
      • Arco Design
      • NutUI
      • React Bootstrap
      • MUI (Material UI)
      • Vant
      • View UI
      • same
      • Flex 布局教程:语法篇
      • CSS Grid 网格布局教程
      • 五种 CSS 经典布局
      • 各种CSS生成器和JS代码片段
      • CSS Tricks
      • CSS生成器
      • CSS渐变生成器
      • CSS3-Box Shadow(阴影>
      • 贝塞尔曲线生成器
      • 花纹背景生成器
      • 花纹背景-pattern.css
      • 3D字体
      • css-tricks
      • You-need-to-know-css
      • animista
      • navnav
    • css块元素和行内元素
    • 盒子模型
    • BFC和IFC
    • 字体font-weight相关知识
    • CSS-function汇总
    • CSS3之has函数的使用
    • CSS3之transition过渡
    • CSS3之animation动画
    • css动画性能优化
    • flex布局语法
    • flex布局案例
    • Grid布局语法
    • flex布局和grid布局的区别
    • 「布局技巧」图片未加载前自动撑开元素高度
    • 文字在一行或多行时超出显示省略号
    • 水平垂直居中的几种方式-案例
    • 如何根据系统主题自动响应CSS深色模式
    • 工作中遇到的css问题记录
    • 今天总结一下用到的css吧
  • 页面
  • CSS
mamingjuan
2015-08-11
目录

CSS教程和技巧收藏

# 如何选择适合的组件库?

在选型时,建议问自己以下三个问题:

  1. 产品类型是什么?

    • B端 (后台/SaaS): 效率第一。首选 Ant Design 或 Element Plus。不需要自己写 DatePicker 或 Table 的复杂逻辑。
    • C端 (官网/活动页/面向大众): 视觉第一。首选 Tailwind CSS + Headless UI (或 Shadcn/ui),因为你需要高度定制独特的 UI。
  2. 团队技术栈与规范?

    • 如果是 TypeScript 重度依赖,Naive UI (Vue) 或 MUI/Chakra (React) 的类型提示会更友好。
    • 如果团队设计资源匮乏,直接用设计风格强烈的库(如 AntD)。
  3. 是否考虑 CSS 原子化?

    • 如果团队习惯写 CSS/Sass,AntD/Element 没问题。
    • 如果团队推崇 Tailwind CSS,强烈建议使用 Shadcn/ui 或 NextUI,因为传统的组件库很难和 Tailwind 完美融合。

# 如何自建组件库?

如果你是架构师或者想提升技术深度,搭建一套企业私有组件库是必经之路。

  • 开发工具:
    • Storybook: 组件开发的标配。用于隔离开发、测试和编写文档。
    • Vite / Rollup: 打包工具的首选(Webpack 在库打包方面配置过于繁琐)。
  • 代码管理:
    • Monorepo (pnpm workspace / Turborepo): 适合管理多包架构(核心库、图标库、工具库分开)。
    • Changesets: 管理版本发布和 Changelog 的神器。
  • 核心难点:
    • 主题定制 (Theming): 如何通过 CSS Variables 实现动态换肤
    • Tree Shaking: 确保用户只引入了用到的组件,而不是整个包。
    • TypeScript 类型生成: 提供完美的类型提示。

# Headless UI (无头组件)

只提供交互逻辑和可访问性(Accessibility/A11y),完全不带样式。

Headless UI(无头用户界面)是一种前端开发方法论或设计模式,核心思想是将UI组件的‌逻辑与样式分离‌,仅提供交互功能和状态管理,不包含预设样式。开发者需自行通过CSS实现视觉表现。

代表库: Radix UI (opens new window), Headless UI (opens new window), TanStack Table (opens new window), React Aria (opens new window)。

适用场景: 你有非常具体的设计稿(Design System),使用 AntD 这种自带强样式的库去覆盖样式会非常痛苦,这时候 Headless UI 是最佳选择。

核心特点

  • 逻辑与样式分离:组件仅处理交互逻辑(如键盘导航、焦点管理),样式需开发者自定义 。 ‌
  • 高度可定制:适用于不同UI风格但交互逻辑相似的场景,例如Tailwind CSS与Headless UI的结合 。 ‌
  • 无预设样式:组件本身不渲染任何DOM元素,仅暴露API供外部调用 。

# shadcn/ui

shadcn/ui is a set of beautifully-designed

它不是一个传统的组件库(你不能 npm install 它)。

  • 核心理念: 它提供代码,你直接 Copy & Paste 到你的项目中。
  • 技术栈: Radix UI (Headless 逻辑) + Tailwind CSS (样式)。
  • 优势: 你拥有组件的全部代码,想怎么改就怎么改,彻底解决了“魔改组件库样式难”的问题。

https://ui.shadcn.com/themes (opens new window)

# tailwindcss

https://www.tailwindcss.cn/docs/installation (opens new window)

# Element UI

https://element.eleme.cn/#/zh-CN (opens new window)

# Element Plus

饿了么团队,Vue 生态的“老大哥”,文档和社区最成熟。Vue 项目的默认选择。 https://element-plus.org/#/zh-CN (opens new window)

# Naive UI

尤雨溪推荐,TypeScript 支持极好,设计风格独特(有点偏极客)。追求 TS 体验和独特设计的项目。 https://www.naiveui.com/zh-CN/os-theme (opens new window)

# TDesign

腾讯出品,支持 Vue/React/小程序等多端,设计体系统一。需要多端统一设计语言的大型项目。 https://static.tdesign.tencent.com/ (opens new window)

# Ant Design

阿里出品,企业级,生态最全,组件逻辑极其成熟。国内企业级后台、中台系统首选。 https://4x-ant-design.antgroup.com/components/form-cn/ (opens new window)

# Arco Design

字节跳动出品,设计风格更现代、轻盈,配置灵活。觉得 AntD 审美疲劳,想要更现代风格。

https://arco.design/ (opens new window)

# NutUI

京东出品,针对电商场景优化,组件丰富。(Vue/React)

https://nutui.jd.com/#/ (opens new window)

# React Bootstrap

https://react-bootstrap.github.io/ (opens new window)

# MUI (Material UI)

Google Material Design 风格,全球使用率最高,定制能力强。面向国际用户的产品。

https://material-ui.com/ (opens new window)

# Vant

有赞出品,移动端电商领域的绝对霸主,轻量、可靠。(VUE)

https://youzan.github.io/vant/#/zh-CN/ (opens new window)

# View UI

https://www.iviewui.com/ (opens new window)

# same

Build websites by chatting with AI

https://same.new/ (opens new window)

# Flex 布局教程:语法篇

http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html (opens new window)

# CSS Grid 网格布局教程

http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html (opens new window)

# 五种 CSS 经典布局

http://www.ruanyifeng.com/blog/2020/08/five-css-layouts-in-one-line.html (opens new window)


# 各种CSS生成器和JS代码片段

https://juejin.cn/post/7030572979868139551?utm_source=gold_browser_extension (opens new window)

# CSS Tricks

CSS技巧收集与演示

http://css-tricks.neatbang.com/ (opens new window)

# CSS生成器

https://neumorphism.io/ (opens new window)

# CSS渐变生成器

https://www.colorzilla.com/gradient-editor/ (opens new window)

# CSS3-Box Shadow(阴影>

https://www.html.cn/tool/css3Preview/Box-Shadow.html (opens new window)

# 贝塞尔曲线生成器

https://cubic-bezier.com (opens new window)

# 花纹背景生成器

http://www.heropatterns.com/ (opens new window)

# 花纹背景-pattern.css

https://github.com/bansal-io/pattern.css (opens new window)

# 3D字体

https://bennettfeely.com/ztext/ (opens new window)

# css-tricks

css技巧文章

https://css-tricks.com/ (opens new window)

# You-need-to-know-css

CSS的各种DEMO,很全

https://lhammer.cn/You-need-to-know-css/#/zh-cn/ (opens new window)

# animista

CSS动画可视化工具,复制代码就能用

https://animista.net/ (opens new window)

# navnav

各种炫酷的CSS动画组件

http://navnav.co/ (opens new window)

上次更新: 2025/12/01, 06:23:23
css块元素和行内元素

css块元素和行内元素→

Copyright © 2015-2025 Glitz Ma
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式