什么是 Tailwind CSS?
Tailwind CSS 是一个高度可定制的 CSS 框架,它不仅仅是一个预设的样式库,而是提供了一系列可自定义的工具类,用于快速构建界面元素。使用 Tailwind CSS,你不仅仅能够快速创建样式,还可以避免重复编写 CSS 和样式冲突问题。同时也可大幅提升 CSS 书写效率。
Tailwind CSS 优势
- 快速构建 UI 元素:Tailwind CSS 提供了一系列工具类,在页面中使用这些工具类即可快速创建简单或者复杂的 UI 元素,如按钮、表单、表格、网格布局等等。
- 减少样式冲突:使用 Tailwind CSS,我们可以避免重复编写类似样式,同时也可以避免因为样式冲突而产生的调试问题。
- 可定制性强:Tailwind CSS 不仅提供了大量工具类,还可以根据需求自定义主题和工具类,打造适合自己的 CSS 框架。
- 缩短开发时间:使用 Tailwind CSS,我们可以在不写 CSS 的情况下,快速构建页面,大幅度提高开发效率。
Tailwind CSS 安装和使用
- 安装 Tailwind CSS
你可以使用 npm 或者 yarn 安装 Tailwind CSS,我们以 npm 安装为例:
npm install tailwindcss
- 创建配置文件
创建一个 tailwind.config.js 配置文件,用于配置 Tailwind CSS 样式库的相关选项:
module.exports = {
theme: {
extend: {},
},
variants: {},
plugins: [],
}theme 中存放着 Tailwind CSS 框架的默认主题配置,我们可以扩展这个属性来自定义我们的样式,当然如果你只需要使用默认主题,在 theme 后面添加 extend: {} 可以为空。
variants 属性存储了默认的状态变化类的配置,比如用于响应式布局的类名。
plugins 属性可以用于添加插件,但是一般不需要给它添加任何插件。
- 引入 Tailwind CSS 样式库
创建一个 style.css 文件,在文件头部引入 Tailwind CSS:
@import 'tailwindcss/base'; @import 'tailwindcss/components'; @import 'tailwindcss/utilities';
接下来我们就可以在 style.css 文件中使用 Tailwind 的类了。
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"> Button </button>
代码说明:
bg-blue-500添加背景颜色 blue,500 表示对应去 Tailwind 的默认蓝色hover:bg-blue-700鼠标悬浮时显示颜色深 blue 的背景色text-white文字颜色为白色font-bold文字粗细为加粗py-2 px-4内边距上下为 2,左右为 4rounded圆角
以上是 Tailwind CSS 大概使用方法,下面我们来详细介绍一下 Tailwind CSS 的使用。
Tailwind CSS 工具类分类
Tailwind 为每一种属性提供了不同的工具类,使用这些工具类可以快速创建出自己需要的样式,这些工具类都有命名规范,命名规范主要由以下几方面:
- 内容
- 方向
- 取值
- 变体
定义内容类
Tailwind CSS 中的内容类主要用于设置文本相关的属性。
text-color:设置字体颜色。text-align:设置文本的对齐方式。font-size:设置字体大小。font-weight:设置字体的粗细程度。font-style:设置字体样式。line-height:设置文字行高。letter-spacing:设置字间距。text-decoration:设置文字的修饰效果。text-transform:设置文字大小写转换方式。
定义方向类
Tailwind CSS 中的方向类主要用于设置方向相关的属性。
float:设置浮动。clear:清除浮动。display:控制元素如何展示,包括block、inline-block、inline、flex等。position:对元素进行定位。top、right、bottom、left:定位元素的四个方位。z-index:用于层叠元素。vertical-align:控制元素垂直方向的对齐方式。overflow:用于控制元素内容的溢出情况。
定义尺寸类
Tailwind CSS 中的尺寸类主要用于设置尺寸相关的属性。
width、min-width、max-width:设置元素的宽度。height、min-height、max-height:设置元素的高度。
定义边框类
Tailwind CSS 中的边框类主要用于设置元素的边框样式。
border、border-{side}:设置元素边框的线宽、线型、线色。border-width、border-{side}-width:设置元素边框线的宽度,{side}表示方向如 left、right、top、bottom。border-color、border-{side}-color:设置元素边框的颜色。border-radius:设置元素边框圆角的弧度。border-collapse:控制表格边框的合并方式。
定义背景类
Tailwind CSS 中的背景类主要用于设置元素的背景。
background-color:设置元素背景色。background-image:设置元素背景图片。background-size:设置元素背景图片的尺寸。background-repeat:设置元素背景图片的重复方式。background-position:设置元素背景图片的位置。
定义文本样式
Tailwind CSS 中的文本样式类主要用于设置文本相关的样式。
text-color:设置字体颜色。text-size:设置字体大小。font-weight:设置字体的粗细程度。font-style:设置字体样式。text-decoration:设置文字的修饰效果。text-transform:设置文字大小写转换方式。
Tailwind CSS 配置
定义一些自己的类名
在我们的学习或者实际使用中,可能会需要增加一些类名来满足自己的需求,此时我们可以在 tailwind.config.js 配置文件中添加自己的类名。
// www.javascriptcn.com code example
module.exports = {
theme: {
extend: {},
},
variants: {},
plugins: [],
// 自定义类名
corePlugins: {
preflight: false,
},
}你可以在 extend 中定义自己需要的类名。
// www.javascriptcn.com code example
module.exports = {
theme: {
extend: {
colors: {
gray: {
'100': '#f5f5f5',
'200': '#EEEEEE',
'300': '#DDDDDD',
'400': '#999999',
'500': '#666666'
}
},
fontFamily: {
sans: ['Open Sans', 'sans-serif']
}
},
},
variants: {},
plugins: [],
}然后我们可以在 style.css 中自由地使用我们的自定义类名了。
主题配置
在我们的实际项目开发中,经常需要使用项目中定义好的颜色、字体等等,此时 TailwindCSS 的主题配置可以派上用场。
// www.javascriptcn.com code example
module.exports = {
theme: {
extend: {
colors: {
primary: {
'100': '#E3F2FD',
'200': '#BBDEFB',
'300': '#90CAF9',
'400': '#64B5F6',
'500': '#42A5F5',
'600': '#2196F3',
'700': '#1E88E5',
'800': '#1976D2',
'900': '#1565C0'
},
secondary: {
'100': '#FFF8E1',
'200': '#FFECB3',
'300': '#FFE082',
'400': '#FFD54F',
'500': '#FFCA28',
'600': '#FFC107',
'700': '#FFB300',
'800': '#FFA000',
'900': '#FF8F00'
},
danger: {
'100': '#FFEBEE',
'200': '#FFCDD2',
'300': '#EF9A9A',
'400': '#E57373',
'500': '#EF5350',
'600': '#F44336',
'700': '#E53935',
'800': '#D32F2F',
'900': '#B71C1C'
}
},
fontFamily: {
sans: ['Open Sans', 'sans-serif'],
serif: ['Merriweather', 'serif']
}
},
},
variants: {},
plugins: [],
}上述配置中使用了主题控制颜色和字体。然后我们可以在它们上面使用 "text-color-secondary-500" 等类似类名来实现不同颜色与字体效果的切换。
Tailwind CSS 变体
Tailwind CSS 中的变体用于针对不同的需求,为元素添加不同的样式。
进行响应式设计
通常我们很少在屏幕上使用单一样式,可以通过屏幕尺寸进行样式适配。
<div class="bg-red-200 sm:bg-yellow-200 md:bg-green-200 lg:bg-blue-200 xl:bg-purple-200"></div>
在 Tailwind CSS 中,可通过前缀 sm、md、lg、xl 和 xxl 来定义不同分辨率下的样式。
伪类
在 Tailwind CSS 中,可以使用伪类 hover、active、visited、focus、disabled 等为元素添加不同的样式。
<button class="bg-red-500 hover:bg-yellow-500 active:bg-green-500 text-white font-bold py-2 px-4 rounded"> Button </button>
上述代码中,当我们将鼠标悬停在按钮上时,按钮背景颜色会变成黄色。
动画与过渡
使用 Tailwind CSS 还可以为元素添加动画效果。使用 duration-500 使得动画时间在 0.5 秒,ease-in-out 使得动画变化速度在开始和结尾的速度不直线变化,而是先加快后慢下来。
<button class="bg-red-500 hover:bg-yellow-500 active:bg-green-500 text-white font-bold py-2 px-4 rounded transition duration-500 ease-in-out"> Button </button>
快速参考
在学习 Tailwind CSS 的过程中,以下几种方式可以让我们快速地了解使用方法。
- 官方文档:官方文档,让我们能够轻松了解 Tailwind CSS 的使用方法。
- Tailwind Play:Tailwind CSS 的在线编译器,能够让我们实时预览修改后的样式效果。
- Tailwind Components :一个收集了大量使用 Tailwind CSS 实现的组件库。
- Awesome Tailwind CSS:一个由社区维护的收集了大量 Tailwind CSS 相关资源的项目。
结语
Tailwind CSS 是一款高可定制的 CSS 框架, 用户可以通过不同的配置和自定义来定制出符合自己需求的样式。同时,它还为我们提供了一系列的工具类,可以用于快速搭建页面元素,并且使得我们可以避免重复地书写 CSS 样式。学习使用 Tailwind CSS 不仅可以让我们提升开发效率,还可以提高我们的代码质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d01b8de46428fe9ecb88f8