css 原子化

css 原子化

什么是css 原子化?

CSS 原子化(Atomic CSS)是一种 CSS 设计方法,旨在通过将样式拆分为最小且独立的单位来简化和加速样式的编写和维护。这种方法的核心思想是每个类只应用单一的样式属性,而不是组合样式。

特点

  1. 每个类名只控制一个样式,比如 bg-red 只设置背景色为红色,text-center 只让文本居中。
  2. 因为类是高度独立的,可以通过组合多个类来实现复杂的样式,而不必重复定义样式。
  3. 由于类名简单且可重复使用,能够减少冗余 CSS 代码,有助于减少最终生成的 CSS 文件大小。
  4. 通过简单的类名命名规则,可以更快速地理解和修改样式。

原子化代表

  • tailwind
  • bootstrap
  • unocss

unocss 与其他两类相比,他的优势是更加的自由,能够自己自定义原子> 化规则,不像其他两类只能使用他们定义的规则

使用unocss自定义原子化规则

  • 安装
npm i unocss -D
  • vite.config.ts中引入
import UnoCSS from 'unocss/vite'

export default defineConfig({
    plugins: [UnoCSS()]
})
  • 在main.ts中引入
import 'virtual:uno.css'
  • 创建配置文件uno.config.ts
import { defineConfig } from 'unocss'
export default defineConfig({})
  • 编写自定义规则
import type { Rule } from 'unocss'
// 自定义规则
export const rules = [
    ['flex', { flex: 'display: flex' }],
    ['w-100', { width: '100%' }],
    ['h-100', { height: '100%' }],
    [/^p-(\d+)$/, ([, d]) => ({ padding: `${d}px` })]
] as Rule<Object>[]
// 自定义组合
export const shortcut = {
    full: 'w-100 h-100'
}
// 主题
export const theme = {
    black: 'black', // 表示加上前缀bg/color即可给background和文本设置对应的颜色
    white: 'white'
}
  • 应用自定义规则
import { rules, shortcut, theme } from './shortcut'
export default defineConfig({
    rules,
    shortcuts: shortcut,
    theme
})
<template>
    <div class="flex full bg-black color-white">
        <h1 class="p-2">原子化</h1>
        <p>unocss</p>
    </div>
</template>

使用预设preset

除开我们自己定义原子化规则以外,unocss还支持我们使用tailwind的原子化规则

import { defineConfig, presetAttributify, presetUno } from 'unocss'
export default defineConfig({
    presets: [
        presetAttributify(),
        presetUno()
    ]
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aklry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值