React第三十章(css原子化)

原子化 css

什么是原子化 css

原子化 CSS 是一种现代 CSS 开发方法,它将 CSS 样式拆分成最小的、单一功能的类。比如一个类只负责设置颜色,另一个类只负责设置边距。这种方式让样式更容易维护和复用,能提高开发效率,减少代码冗余。通过组合这些小型样式类,我们可以构建出复杂的界面组件。

原子化 css 基本概念

原子化 css 是一种css的编程范式,它将css的样式拆分成最小的单元,每个单元都是一个独立的css类,通过这些独立的css类来构建整个页面的样式,简单举个例子:

其核心思想就是无需重复定义样式,只需定义一次,然后通过组合这些小型样式类,来构建出复杂的界面组件。

html 复制代码
<style>
  .color-red { color: red }
  .text-center { text-align: center }
  .p-10 { padding: 10px }
</style>
<section class="bg-red text-center p-10">
    原子化 css
</section>

那么有谁在用呢?

例如比较知名的网站有: x Github 等,他们都是使用原子化 css 来构建他们的网站。

TailWind Css

TailWind Css 官网

TailWind 是原子化 css 的一种实现方式,它内置了许多细粒度的 class 类,这些细粒度的 class 类可以组合使用,来构建出复杂的界面组件。

如何使用 TailWind Css 4.0.1 最新版

  • vite 项目
sh 复制代码
npm install tailwindcss @tailwindcss/vite
  1. vite.config.ts

引入 tailwindcss 插件,然后配置 tailwindcss 插件

ts 复制代码
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
import tailwindcss from '@tailwindcss/vite'
export default defineConfig({
  plugins: [react(), tailwindcss()],
})
  1. src/tailwind.css (新建一个文件) 引入 tailwindcss 的样式
css 复制代码
@import "tailwindcss";
  1. src/main.tsx

引入 tailwindcss 的样式

tsx 复制代码
import './tailwind.css'
  1. src/App.tsx 试用 tailwindcss 的样式
tsx 复制代码
<section class="bg-red text-center p-10">
    原子化 css
</section>
  1. 打开Vscode或者Cursor,安装 TailWind Css 插件,这样编写代码的时候,会自动提示 tailwindcss 的样式

案例

简单使用 tailwindcss 来构建一个 欢迎页

tsx 复制代码
import React, { } from 'react';
const App: React.FC = () => {
  return (
    <>
      <div className="bg-gradient-to-r from-pink-600 to-purple-600 h-screen w-screen flex justify-center items-center">
          <div className='text-white text-4xl font-bold hover:text-gray-300'>
             大家好我是小满zs,欢迎来到我的博客
          </div>
      </div>
    </>
  );
}

export default App;

进阶用法@apply

我们可以看到上述代码中,类名用了很多都是堆在一起的,这样看起来很不美观,我们可以使用 tailwindcss@apply 来解决这个问题。

  • src/tailwind.css
css 复制代码
@import "tailwindcss";

.blob-bg {
    @apply bg-gradient-to-r from-pink-600 to-purple-600 h-screen w-screen flex justify-center items-center;
}

.blob-text {
    @apply text-white text-4xl font-bold hover:text-gray-300;
}
  • src/App.tsx

效果是一样的,但是看起来更美观了

tsx 复制代码
<div className="blob-bg">
    <div className="blob-text">
        大家好我是小满zs,欢迎来到我的博客
    </div>
</div>

更多用法请参考 tailwindcss 自定义样式

相关推荐
Neighbor_OldY11 小时前
【实战复盘】文件上传漏洞检测与应急处置:校验绕过、图片马与WebShell的排查修复指南
运维·前端·web安全
金花顺11 小时前
android_media_AudioTrack_setup
前端
晓天衡宇•评测社区12 小时前
Seedance 2.5 登顶图生视频榜单,Wan 3.0 在游戏与教育场景进入前列
前端·javascript·网络
码海无涯回头无岸12 小时前
Ai agent - LLM是一个函数
前端
Profile排查笔记12 小时前
指纹浏览器推荐:用一套验收清单筛选 Profile、代理与自动化能力
前端·人工智能·后端·自动化
卡皮巴拉c9912 小时前
基于pnpm搭建monorepo项目
前端·javascript
yume_sibai12 小时前
CSS2 核心知识点完全总结(选择器 + 三大特性 + 常用属性)
前端·css
掘金者阿豪12 小时前
不装 SSH 客户端也能连服务器:用 WebSSH 把终端搬进浏览器
前端
Bug修理工Bubble12 小时前
Optional:为什么一个 String? 能让代码少掉很多崩溃?
前端
巴勒个啦13 小时前
2026 年 CSS 选型真相:我用 Tailwind v4 + 原生新特性重构了一个组件库
前端·angular.js