今天给大家推荐一个拥有70K star的CSS框架——Tailwind CSS
Tailwind CSS
是目前获得star数量最多的css框架,less只有16.9k,sass 14.6k;今天就来探究一下为何Tailwind CSS这么受欢迎
Tailwind CSS
是一个高度可定制的CSS框架,用于构建现代化的Web界面。它提供了一系列预定义的样式类,可以直接应用于HTML元素,从而快速而灵活地创建页面布局和设计。
与其他CSS框架相比,Tailwind CSS
更注重原子化的类命名方式,使得开发者可以通过组合不同的类来构建所需的样式。这种方法使得样式的复用性更高,同时也提供了更大的灵活性和可定制性。而且还提供了一套强大的工具和插件,用于加速开发流程,例如响应式布局、响应式文本、间距管理等
Tailwind CSS
通过原子化的类命名方式,只提供基础的原子类,使得开发者可以根据需要组合这些类,避免了样式冗余的问题。接下来就以Vue为例,看看Tailwind CSS
是如何安装和使用的
安装 Tailwind CSS
和 PostCSS
插件:
npm install tailwindcss postcss autoprefixer
在项目根目录下创建一个 tailwind.config.js
文件,用于配置 Tailwind CSS
:
// tailwind.config.js
module.exports = {
mode: 'jit',
purge: [
'./src/**/*.{vue,js,ts,jsx,tsx}',
'./public/index.html'
],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
}
在项目根目录下创建一个 postcss.config.js
文件,用于配置 PostCSS
插件:
// postcss.config.js
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
在 style.css
文件中导入 Tailwind CSS:
@tailwind base;
@tailwind components;
@tailwind utilities;
接下来就可以使用Tailwind CSS来写样式了
先用常规的CSS写法写一个div
<template>
<div class="content">传统css</div>
</template>
<script setup>
</script>
<style scoped>
.content{
width: 200px;
height: 200px;
border: 1px solid red;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
color: red;
}
</style>
使用 TailWind css 写样式:
<template>
<div class="w-48 h-48 flex items-center justify-center border
border-red-500 text-2xl text-red-500">
TailWind css
</div>
</template>
TailWind css
会定义一些细粒度的 class,叫做原子 class,然后在 html 里直接引入这些原子化的 class。
vscode 中可以安装 Tailwind CSS IntelliSense
插件来提升开发效率
在书写 Tailwind CSS
会有提示,而且当鼠标悬浮到class上时,也会有智能提示,可以查看它对应的样式。
以w-
开头,表示宽;h-
开头,表示高
后面接数字,1=4px=0.25rem
w-1 //width: 0.25rem; /* 4px */
w-4 //width: 1rem; /* 16px */
后面接分数,表示百分比
w-1/2 // width: 50%;
w-1/4 // width: 25%;
后面接 [] 里面可以填写固定的值
w-[4rem] // width: 4rem;
w-[200px] // width: 200px;
后面也可以接一些固定的单词,表示常用的属性
w-full //width: 100%;
w-screen //width: 100vw;
w-min //width: min-content;
w-max //width: max-content;
w-fit //width: fit-content;
字体大小,使用 text-{size}
。不同的值对应不同的大小,有一些固定的值,相应的 CSS 样式在括号中。
text-xs //(字体大小:.75rem;)
text-sm //(字体大小:.875rem;)
text-base //(字体大小:1rem;)
text-lg //(字体大小:1.125rem;)
text-xl //(字体大小:1.25rem;)
text-2xl //(字体大小:1.5rem;)
text-3xl //(字体大小:1.875rem;)
text-4xl //(字体大小:2.25rem;)
同样可以使用 []定义大小
text-[14px] // font-size:14px)
使用hover,设置鼠标悬停后文本设为黄色
<div class=" hover:text-red-400">
TailWind css
</div>
当宽度大于768px时 把背景色变为绿色
<div class="md:bg-green-500">
TailWind css
</div>
github: https://github.com/tailwindlabs/tailwindcss