UnoCSS ¶
一.UnoCSS 常用属性简写对照表(按功能分类) ¶
覆盖 90% 实战使用场景
适用:UnoCSS preset-uno
可直接用 MacDown / Typora / Obsidian 打开
一、Display / 布局 ¶
| 类名 |
CSS |
| block |
display: block |
| inline-block |
display: inline-block |
| inline |
display: inline |
| flex |
display: flex |
| inline-flex |
display: inline-flex |
| grid |
display: grid |
| hidden |
display: none |
二、Flex(高频) ¶
方向 ¶
| 类名 |
CSS |
| flex-row |
flex-direction: row |
| flex-col |
flex-direction: column |
| flex-row-reverse |
row-reverse |
| flex-col-reverse |
column-reverse |
主轴对齐 ¶
| 类名 |
CSS |
| justify-start |
flex-start |
| justify-center |
center |
| justify-end |
flex-end |
| justify-between |
space-between |
| justify-around |
space-around |
| justify-evenly |
space-evenly |
交叉轴 ¶
| 类名 |
CSS |
| items-start |
align-items: flex-start |
| items-center |
center |
| items-end |
flex-end |
| items-stretch |
stretch |
| items-baseline |
baseline |
Flex 子项 ¶
| 类名 |
CSS |
| flex-1 |
flex: 1 1 0% |
| flex-auto |
flex: auto |
| flex-none |
flex: none |
三、Grid ¶
| 类名 |
CSS |
| grid-cols-2 |
repeat(2,1fr) |
| grid-cols-3 |
repeat(3,1fr) |
| grid-cols-4 |
repeat(4,1fr) |
| grid-rows-2 |
repeat(2,1fr) |
| gap-4 |
gap: 1rem |
| gap-x-4 |
column-gap |
| gap-y-4 |
row-gap |
四、尺寸 Size ¶
宽高 ¶
| 类名 |
CSS |
| w-10 |
2.5rem |
| w-full |
100% |
| w-screen |
100vw |
| h-10 |
2.5rem |
| h-full |
100% |
| h-screen |
100vh |
最小 / 最大 ¶
| 类名 |
CSS |
| min-w-0 |
min-width: 0 |
| max-w-md |
28rem |
| max-h-screen |
100vh |
五、Spacing(最常用) ¶
1 = 0.25rem
Padding ¶
| 类名 |
CSS |
| p-4 |
padding: 1rem |
| px-4 |
left/right |
| py-2 |
top/bottom |
| pt-2 |
padding-top |
| pb-2 |
padding-bottom |
Margin ¶
| 类名 |
CSS |
| m-4 |
margin: 1rem |
| mx-auto |
auto |
| mt-2 |
margin-top |
| -mt-2 |
negative |
六、字体 Font ¶
字号 ¶
| 类名 |
CSS |
| text-xs |
0.75rem |
| text-sm |
0.875rem |
| text-base |
1rem |
| text-lg |
1.125rem |
| text-xl |
1.25rem |
字重 ¶
| 类名 |
CSS |
| font-light |
300 |
| font-normal |
400 |
| font-medium |
500 |
| font-bold |
700 |
七、文本 Text ¶
| 类名 |
CSS |
| text-left |
left |
| text-center |
center |
| text-right |
right |
| leading-6 |
line-height |
| truncate |
单行省略 |
| line-clamp-2 |
多行省略 |
八、颜色 Color ¶
文本 ¶
| 类名 |
CSS |
| text-white |
white |
| text-black |
black |
| text-gray-600 |
gray |
| text-red-500 |
red |
背景 ¶
| 类名 |
CSS |
| bg-white |
white |
| bg-gray-100 |
gray |
| bg-red-500 |
red |
| bg-black/50 |
半透明 |
九、Border ¶
| 类名 |
CSS |
| border |
1px |
| border-2 |
2px |
| border-t |
top |
| border-gray-300 |
color |
| border-dashed |
dashed |
十、圆角 Radius ¶
| 类名 |
CSS |
| rounded |
0.25rem |
| rounded-md |
0.375rem |
| rounded-lg |
0.5rem |
| rounded-full |
max |
十一、Shadow ¶
| 类名 |
CSS |
| shadow |
default |
| shadow-sm |
small |
| shadow-md |
medium |
| shadow-lg |
large |
| shadow-none |
none |
十二、Position ¶
| 类名 |
CSS |
| relative |
relative |
| absolute |
absolute |
| fixed |
fixed |
| sticky |
sticky |
| top-0 |
top |
| left-1/2 |
50% |
| 类名 |
CSS |
| translate-x-2 |
move |
| -translate-x-1/2 |
center |
| scale-95 |
zoom |
| rotate-45 |
rotate |
十四、交互 ¶
| 类名 |
CSS |
| cursor-pointer |
pointer |
| select-none |
disable select |
| pointer-events-none |
disable click |
十五、状态修饰符 ¶
hover:
active:
focus:
disabled:
dark:
十六、开发必背 20 个 ¶
flex flex-col justify-between items-center
w-full h-full
p-4 px-4 py-2
text-sm text-gray-600
bg-white rounded-lg
border border-gray-200
shadow-md
relative absolute
cursor-pointer
hover:bg-gray-100
二.UnoCSS 新手宝典(保姆级速查表) ¶
⚡ 适合新手与前端开发者,分类详尽,包含类名、CSS、中文解释、示例,查表即用。
1. Display(显示类型) ¶
| 类名 |
CSS |
中文意思 |
示例 |
block |
display: block; |
块级元素 |
<div class="block">块</div> |
inline |
display: inline; |
内联元素 |
<span class="inline">内联</span> |
inline-block |
display: inline-block; |
内联块 |
<span class="inline-block">内联块</span> |
hidden |
display: none; |
隐藏元素 |
<div class="hidden">不可见</div> |
flex |
display: flex; |
弹性盒 |
<div class="flex">...</div> |
inline-flex |
display: inline-flex; |
行内弹性盒 |
<span class="inline-flex">...</span> |
grid |
display: grid; |
网格布局 |
<div class="grid grid-cols-3">...</div> |
inline-grid |
display: inline-grid; |
行内网格 |
<span class="inline-grid">...</span> |
flow-root |
display: flow-root; |
创建块格式化上下文 |
<div class="flow-root">...</div> |
2. Flex(弹性盒) ¶
| 类名 |
CSS |
中文意思 |
示例 |
flex-row |
flex-direction: row; |
水平主轴 |
<div class="flex flex-row">...</div> |
flex-row-reverse |
flex-direction: row-reverse; |
水平倒序 |
<div class="flex flex-row-reverse">...</div> |
flex-col |
flex-direction: column; |
垂直主轴 |
<div class="flex flex-col">...</div> |
flex-col-reverse |
flex-direction: column-reverse; |
垂直倒序 |
<div class="flex flex-col-reverse">...</div> |
flex-wrap |
flex-wrap: wrap; |
换行 |
<div class="flex flex-wrap">...</div> |
flex-nowrap |
flex-wrap: nowrap; |
不换行 |
<div class="flex flex-nowrap">...</div> |
justify-start |
justify-content: flex-start; |
主轴起点对齐 |
<div class="flex justify-start">...</div> |
justify-center |
justify-content: center; |
主轴居中 |
<div class="flex justify-center">...</div> |
justify-end |
justify-content: flex-end; |
主轴末端对齐 |
<div class="flex justify-end">...</div> |
justify-between |
justify-content: space-between; |
两端对齐 |
<div class="flex justify-between">...</div> |
justify-around |
justify-content: space-around; |
平均分布 |
<div class="flex justify-around">...</div> |
items-start |
align-items: flex-start; |
交叉轴起点 |
<div class="flex items-start">...</div> |
items-center |
align-items: center; |
交叉轴居中 |
<div class="flex items-center">...</div> |
items-end |
align-items: flex-end; |
交叉轴末端 |
<div class="flex items-end">...</div> |
items-stretch |
align-items: stretch; |
拉伸 |
<div class="flex items-stretch">...</div> |
gap-1/2/4/... |
gap: x; |
子元素间距 |
<div class="flex gap-4">...</div> |
3. Grid(网格布局) ¶
| 类名 |
CSS |
中文意思 |
示例 |
grid-cols-2 |
grid-template-columns: repeat(2, minmax(0,1fr)); |
两列 |
<div class="grid grid-cols-2">...</div> |
grid-cols-3 |
grid-template-columns: repeat(3, 1fr); |
三列 |
<div class="grid grid-cols-3">...</div> |
grid-rows-2 |
grid-template-rows: repeat(2, 1fr); |
两行 |
<div class="grid grid-rows-2">...</div> |
gap-4 |
gap: 1rem; |
网格间距 |
<div class="grid gap-4">...</div> |
col-span-2 |
grid-column: span 2 / span 2; |
列跨2 |
<div class="col-span-2">...</div> |
row-span-2 |
grid-row: span 2 / span 2; |
行跨2 |
<div class="row-span-2">...</div> |
4. Size(宽高尺寸) ¶
| 类名 |
CSS |
中文意思 |
示例 |
w-100 |
width: 100px; |
固定宽度 |
<div class="w-100">...</div> |
w-full |
width: 100%; |
宽度100% |
<div class="w-full">...</div> |
h-100 |
height: 100px; |
高度100px |
<div class="h-100">...</div> |
h-screen |
height: 100vh; |
高度占满屏幕 |
<div class="h-screen">...</div> |
min-w-full |
min-width: 100%; |
最小宽度 |
<div class="min-w-full">...</div> |
max-w-lg |
max-width: 32rem; |
最大宽度 |
<div class="max-w-lg">...</div> |
5. Position(定位) ¶
| 类名 |
CSS |
中文意思 |
示例 |
static |
position: static; |
默认 |
<div class="static">...</div> |
relative |
position: relative; |
相对定位 |
<div class="relative">...</div> |
absolute |
position: absolute; |
绝对定位 |
<div class="absolute top-0 left-0">...</div> |
fixed |
position: fixed; |
固定定位 |
<div class="fixed top-0 left-0">...</div> |
sticky |
position: sticky; |
粘性定位 |
<div class="sticky top-0">...</div> |
top-0 |
top: 0; |
上边距0 |
<div class="absolute top-0">...</div> |
left-0 |
left: 0; |
左边距0 |
<div class="absolute left-0">...</div> |
right-0 |
right: 0; |
右边距0 |
<div class="absolute right-0">...</div> |
bottom-0 |
bottom: 0; |
下边距0 |
<div class="absolute bottom-0">...</div> |
6. Margin / Padding(外边距 / 内边距) ¶
| 类名 |
CSS |
中文意思 |
示例 |
m-4 |
margin: 1rem; |
四周外边距 |
<div class="m-4">...</div> |
mt-2 |
margin-top: 0.5rem; |
上外边距 |
<div class="mt-2">...</div> |
mb-2 |
margin-bottom: 0.5rem; |
下外边距 |
<div class="mb-2">...</div> |
ml-2 |
margin-left: 0.5rem; |
左外边距 |
<div class="ml-2">...</div> |
mr-2 |
margin-right: 0.5rem; |
右外边距 |
<div class="mr-2">...</div> |
mx-auto |
margin-left:auto;margin-right:auto; |
水平居中 |
<div class="w-1/2 mx-auto">...</div> |
p-4 |
padding:1rem; |
四周内边距 |
<div class="p-4">...</div> |
pt-2 |
padding-top:0.5rem; |
上内边距 |
<div class="pt-2">...</div> |
| 类名 |
CSS |
中文意思 |
示例 |
rotate-45 |
transform: rotate(45deg); |
旋转45° |
<div class="rotate-45">...</div> |
scale-100 |
transform: scale(1); |
缩放 |
<div class="scale-100">...</div> |
translate-x-4 |
transform: translateX(1rem); |
X轴平移 |
<div class="translate-x-4">...</div> |
translate-y-4 |
transform: translateY(1rem); |
Y轴平移 |
<div class="translate-y-4">...</div> |
origin-top |
transform-origin: top; |
变换中心 |
<div class="origin-top">...</div> |
8. Shadow(阴影) ¶
| 类名 |
CSS |
中文意思 |
示例 |
shadow |
box-shadow: 0 1px 3px rgba(0,0,0,0.1),0 1px 2px rgba(0,0,0,0.06); |
默认阴影 |
<div class="shadow">...</div> |
shadow-md |
box-shadow: 0 4px 6px rgba(0,0,0,0.1),0 2px 4px rgba(0,0,0,0.06); |
中等阴影 |
<div class="shadow-md">...</div> |
shadow-lg |
box-shadow: 0 10px 15px rgba(0,0,0,0.1),0 4px 6px rgba(0,0,0,0.05); |
大阴影 |
<div class="shadow-lg">...</div> |
shadow-none |
box-shadow: none; |
无阴影 |
<div class="shadow-none">...</div> |
9. Colors(颜色类) ¶
| 类名 |
CSS |
中文意思 |
示例 |
text-red-500 |
color:#f56565; |
字体红色 |
<div class="text-red-500">红色</div> |
bg-blue-100 |
background-color:#ebf8ff; |
背景浅蓝 |
<div class="bg-blue-100">背景</div> |
border-green-500 |
border-color:#48bb78; |
边框绿色 |
<div class="border border-green-500">绿边</div> |
fill-current |
fill: currentColor; |
填充颜色继承文本色 |
<svg class="fill-current">...</svg> |
10. Typography(文本 / 字体) ¶
| 类名 |
CSS |
中文意思 |
示例 |
text-xs/sm/base/lg/xl/2xl/... |
font-size |
字号 |
<p class="text-lg">大字</p> |
font-thin/light/normal/medium/bold/extrabold |
font-weight |
字重 |
<p class="font-bold">加粗</p> |
leading-none/tight/snug/normal/relaxed/loose |
line-height |
行高 |
<p class="leading-loose">...</p> |
tracking-tighter/tight/normal/wide/wider/widest |
letter-spacing |
字间距 |
<p class="tracking-wide">...</p> |
11. Overflow(溢出) ¶
| 类名 |
CSS |
中文意思 |
示例 |
overflow-hidden |
overflow:hidden; |
隐藏溢出 |
<div class="overflow-hidden">...</div> |
overflow-auto |
overflow:auto; |
自动滚动 |
<div class="overflow-auto">...</div> |
overflow-scroll |
overflow:scroll; |
永远滚动 |
<div class="overflow-scroll">...</div> |
12. Cursor(鼠标样式) ¶
| 类名 |
CSS |
中文意思 |
示例 |
cursor-pointer |
cursor:pointer; |
手型 |
<button class="cursor-pointer">点我</button> |
cursor-default |
cursor:default; |
默认箭头 |
<div class="cursor-default">默认</div> |
cursor-wait |
cursor:wait; |
等待 |
<div class="cursor-wait">等待</div> |
13. Interaction / State(交互状态) ¶
| 类名 |
CSS |
中文意思 |
示例 |
hover:bg-blue-100 |
:hover { background-color:#ebf8ff; } |
悬停背景 |
<div class="hover:bg-blue-100">悬停</div> |
hover:text-red-500 |
:hover { color:#f56565; } |
悬停文字 |
<div class="hover:text-red-500">悬停</div> |
focus:outline-none |
:focus { outline:none; } |
聚焦去掉轮廓 |
<input class="focus:outline-none"> |
active:scale-95 |
:active { transform: scale(0.95); } |
点击缩放 |
<button class="active:scale-95">点击</button> |
disabled:opacity-50 |
[disabled]{opacity:0.5} |
禁用半透明 |
<button disabled class="disabled:opacity-50">按钮</button> |
14. Border(边框类) ¶
| 类名 |
CSS |
中文意思 |
示例 |
border |
border:1px solid #e5e7eb; |
默认边框 |
<div class="border">...</div> |
border-t |
border-top:1px solid #e5e7eb; |
上边框 |
<div class="border-t">...</div> |
border-b |
border-bottom:1px solid #e5e7eb; |
下边框 |
<div class="border-b">...</div> |
rounded |
border-radius:0.25rem; |
圆角 |
<div class="rounded">...</div> |
rounded-full |
border-radius:9999px; |
完全圆 |
<div class="rounded-full">...</div> |
15. 开发必背 / 高频 ¶
| 类名 |
CSS |
中文意思 |
示例 |
z-10 |
z-index:10; |
层级 |
<div class="absolute z-10">...</div> |
overflow-hidden |
overflow:hidden; |
溢出隐藏 |
<div class="overflow-hidden">...</div> |
select-none |
user-select:none; |
禁止选中 |
<div class="select-none">不可选</div> |
truncate |
overflow:hidden;text-overflow:ellipsis;white-space:nowrap; |
超出省略 |
<div class="truncate">很长很长很长...</div> |
16. Vant UI 相关常用类 ¶
| 类名 |
CSS |
中文意思 |
示例 |
van-button--large |
height:48px;font-size:16px; |
大号按钮 |
<van-button class="van-button--large">大按钮</van-button> |
van-button--primary |
background-color:#1989fa;color:#fff; |
主要按钮 |
<van-button type="primary">主要按钮</van-button> |
van-button--success |
background-color:#07c160;color:#fff; |
成功按钮 |
<van-button type="success">成功按钮</van-button> |
van-button--danger |
background-color:#ee0a24;color:#fff; |
危险按钮 |
<van-button type="danger">危险按钮</van-button> |
van-button--warning |
background-color:#ff976a;color:#fff; |
警告按钮 |
<van-button type="warning">警告按钮</van-button> |
💡 说明:
- 每类表格都包含类名、CSS、中文解释、示例。
- 可直接拷贝类名到项目使用。
- 适用于 PWA、Vue、H5 项目,配合 UnoCSS 高度灵活。
- 新手可以按模块查找使用,无需记忆复杂 CSS。
三.UnoCSS 完整属性简写对照表 ¶
UnoCSS 是一款原子化 CSS 工具,类似 Tailwind,但可高度自定义。以下对照表按照功能分类,列出常用类名、对应 CSS、中文意思,并给出示例,方便新手快速查阅。
1. 布局 (Layout) ¶
| 类名 |
CSS |
中文意思 |
示例 |
container |
width: 100%; max-width: 100%; margin-left: auto; margin-right: auto; |
容器宽度居中 |
<div class="container">内容</div> |
w-50 |
width: 50%; |
宽度 50% |
<div class="w-50">50%宽</div> |
h-100 |
height: 100px; |
高度 100px |
<div class="h-100">100px高</div> |
min-w-0 |
min-width: 0; |
最小宽度 0 |
<div class="min-w-0">最小宽度0</div> |
max-w-full |
max-width: 100%; |
最大宽度 100% |
<div class="max-w-full">最大宽度</div> |
mx-auto |
margin-left: auto; margin-right: auto; |
水平居中 |
<div class="w-50 mx-auto">居中</div> |
my-4 |
margin-top: 1rem; margin-bottom: 1rem; |
上下外边距 |
<div class="my-4">上下间距</div> |
p-2 |
padding: 0.5rem; |
内边距 |
<div class="p-2">内边距</div> |
px-4 |
padding-left: 1rem; padding-right: 1rem; |
左右内边距 |
<div class="px-4">左右内边距</div> |
py-4 |
padding-top: 1rem; padding-bottom: 1rem; |
上下内边距 |
<div class="py-4">上下内边距</div> |
Flex 布局 ¶
| 类名 |
CSS |
中文意思 |
示例 |
flex |
display: flex; |
弹性布局 |
<div class="flex">...</div> |
inline-flex |
display: inline-flex; |
行内弹性布局 |
<span class="inline-flex">...</span> |
flex-row |
flex-direction: row; |
水平排列 |
<div class="flex flex-row">...</div> |
flex-col |
flex-direction: column; |
垂直排列 |
<div class="flex flex-col">...</div> |
flex-wrap |
flex-wrap: wrap; |
换行 |
<div class="flex flex-wrap">...</div> |
justify-start |
justify-content: flex-start; |
左对齐 |
<div class="flex justify-start">...</div> |
justify-center |
justify-content: center; |
居中对齐 |
<div class="flex justify-center">...</div> |
justify-end |
justify-content: flex-end; |
右对齐 |
<div class="flex justify-end">...</div> |
items-start |
align-items: flex-start; |
垂直顶部对齐 |
<div class="flex items-start">...</div> |
items-center |
align-items: center; |
垂直居中 |
<div class="flex items-center">...</div> |
items-end |
align-items: flex-end; |
垂直底部对齐 |
<div class="flex items-end">...</div> |
gap-2 |
gap: 0.5rem; |
子元素间距 |
<div class="flex gap-2">...</div> |
2. 文本 (Typography) ¶
| 类名 |
CSS |
中文意思 |
示例 |
text-sm |
font-size: 0.875rem; |
小号文字 |
<p class="text-sm">小文字</p> |
text-base |
font-size: 1rem; |
正文字 |
<p class="text-base">正文</p> |
text-lg |
font-size: 1.125rem; |
大文字 |
<p class="text-lg">大文字</p> |
font-bold |
font-weight: 700; |
加粗 |
<p class="font-bold">加粗</p> |
font-medium |
font-weight: 500; |
中等粗 |
<p class="font-medium">中等粗</p> |
text-center |
text-align: center; |
居中 |
<p class="text-center">居中</p> |
text-left |
text-align: left; |
左对齐 |
<p class="text-left">左对齐</p> |
text-right |
text-align: right; |
右对齐 |
<p class="text-right">右对齐</p> |
truncate |
overflow: hidden; text-overflow: ellipsis; white-space: nowrap; |
超出省略 |
<p class="truncate">很长的文字...</p> |
3. 背景与颜色 (Background & Color) ¶
| 类名 |
CSS |
中文意思 |
示例 |
bg-blue-100 |
background-color: #ebf8ff; |
浅蓝背景 |
<div class="bg-blue-100">内容</div> |
bg-red-500 |
background-color: #f56565; |
红色背景 |
<div class="bg-red-500">内容</div> |
bg-green-200 |
background-color: #c6f6d5; |
绿色背景 |
<div class="bg-green-200">内容</div> |
text-white |
color: #ffffff; |
白色文字 |
<p class="text-white">白字</p> |
text-black |
color: #000000; |
黑色文字 |
<p class="text-black">黑字</p> |
4. 边框与圆角 (Border & Radius) ¶
| 类名 |
CSS |
中文意思 |
示例 |
border |
border-width: 1px; border-style: solid; border-color: #e5e7eb; |
默认边框 |
<div class="border">边框</div> |
border-2 |
border-width: 2px; |
边框 2px |
<div class="border-2">边框2px</div> |
border-t |
border-top: 1px solid #e5e7eb; |
上边框 |
<div class="border-t">上边框</div> |
rounded |
border-radius: 0.25rem; |
默认圆角 |
<div class="rounded">圆角</div> |
rounded-lg |
border-radius: 0.5rem; |
大圆角 |
<div class="rounded-lg">大圆角</div> |
rounded-full |
border-radius: 9999px; |
圆形 |
<div class="rounded-full">圆形</div> |
5. 其他常用 ¶
| 类名 |
CSS |
中文意思 |
示例 |
overflow-hidden |
overflow: hidden; |
内容溢出隐藏 |
<div class="overflow-hidden">内容</div> |
overflow-scroll |
overflow: scroll; |
滚动条 |
<div class="overflow-scroll">内容</div> |
shadow |
box-shadow: 0 1px 3px rgba(0,0,0,0.1); |
默认阴影 |
<div class="shadow">阴影</div> |
shadow-lg |
box-shadow: 0 10px 15px rgba(0,0,0,0.1); |
大阴影 |
<div class="shadow-lg">大阴影</div> |
cursor-pointer |
cursor: pointer; |
鼠标手型 |
<button class="cursor-pointer">点击</button> |
hidden |
display: none; |
隐藏 |
<div class="hidden">隐藏</div> |
block |
display: block; |
块级元素 |
<div class="block">块</div> |
inline-block |
display: inline-block; |
行内块元素 |
<span class="inline-block">行内块</span> |
使用建议 ¶
- 类名顺序:UnoCSS 按写入顺序覆盖,所以
mx-auto 放后通常覆盖前面宽度设置。
- 响应式:可使用前缀
sm:, md:, lg:, xl: 来设置不同屏幕下的样式。
- 原子化组合:尽量将常用组合封装成组件,提高复用性。
UnoCSS 常用动画速查表(保姆级) ¶
适用技术栈:Vue3 / Vite / UnoCSS / Vant / H5 / PWA
目标:新手直接查 → 直接用 → 不踩坑
一、动画基础认知(先看) ¶
animation 和 transition 区别 ¶
| 项目 |
animation |
transition |
| 是否自动播放 |
✅ 是 |
❌ 否(状态变化才触发) |
| 是否循环 |
✅ 支持 |
❌ 不支持 |
| 典型场景 |
loading、呼吸、弹跳 |
hover、点击反馈 |
二、内置动画(开箱即用) ¶
1️⃣ 基础动画类 ¶
| 类名 |
CSS 效果 |
中文说明 |
示例 |
animate-spin |
rotate 360° |
旋转 |
loading |
animate-pulse |
opacity 变化 |
呼吸 |
占位符 |
animate-bounce |
上下位移 |
弹跳 |
提示 |
animate-ping |
scale + fade |
波纹 |
红点 |
<div class="w10 h10 bg-blue-500 rounded-full animate-spin"></div>
三、动画参数控制(必背) ¶
⏱ 持续时间 ¶
| 类名 |
CSS |
animate-duration-300 |
300ms |
animate-duration-1s |
1s |
animate-duration-2s |
2s |
⏳ 延迟 ¶
| 类名 |
CSS |
animate-delay-200 |
200ms |
animate-delay-1s |
1s |
🔁 次数 ¶
| 类名 |
CSS |
animate-iteration-1 |
1 次 |
animate-iteration-infinite |
无限 |
四、缓动函数(动画质感核心) ¶
| 类名 |
效果 |
animate-linear |
匀速 |
animate-ease-in |
慢 → 快 |
animate-ease-out |
快 → 慢 |
animate-ease-in-out |
慢 → 快 → 慢 |
五、任意动画(🔥UnoCSS 核心能力) ¶
1️⃣ 任意 animation ¶
<div class="animate-[spin_2s_linear_infinite]"></div>
等价于:
animation: spin 2s linear infinite;
2️⃣ 常用任意动画速查 ¶
| 类名 |
中文说明 |
animate-[fade-in_0.4s_ease-out] |
淡入 |
animate-[slide-up_0.3s_ease-out] |
上滑 |
animate-[scale-in_0.3s_ease-out] |
缩放进入 |
animate-[shake_0.4s_ease-in-out] |
抖动 |
六、常见 Keyframes 模板(直接抄) ¶
📌 uno.config.ts ¶
export default defineConfig({
theme: {
keyframes: {
'fade-in': {
'0%': { opacity: 0 },
'100%': { opacity: 1 }
},
'slide-up': {
'0%': { transform: 'translateY(20px)', opacity: 0 },
'100%': { transform: 'translateY(0)', opacity: 1 }
},
'shake': {
'0%,100%': { transform: 'translateX(0)' },
'25%': { transform: 'translateX(-5px)' },
'75%': { transform: 'translateX(5px)' }
}
}
}
})
七、动画 + 状态修饰符(高频) ¶
| 用法 |
示例 |
| hover |
hover:animate-bounce |
| active |
active:animate-ping |
| dark |
dark:animate-pulse |
<button class="hover:animate-bounce">按钮</button>
八、动画 + Transition(交互必备) ¶
<div class="transition-all duration-300 hover:scale-110 hover:rotate-3"></div>
九、Vue 中动态动画(不踩坑) ¶
✅ 推荐方式 ¶
<div :style="{ animation: `spin ${duration}s linear infinite` }"></div>
❌ 错误方式 ¶
<!-- 会被 UnoCSS 构建期忽略 -->
<div :class="`rotate-${angle}`"></div>
十、动画速查口诀(记住) ¶
静态用类名
动态用任意值
再不行用 style
十一、推荐使用场景 ¶
| 场景 |
推荐动画 |
| 页面进入 |
fade-in / slide-up |
| Loading |
spin / pulse |
| 按钮反馈 |
scale + transition |
| 错误提示 |
shake |
十二、你下一步可以做什么 ¶
- 页面切换动画模板
- Vant Dialog / Toast 动效封装
- PWA 更新动画 UX
这份文档你可以直接存为 unocss-animation.md 长期查。