tailwindcss快速入门(上篇)

tailwindcss

相关链接

  1. 演示地址 演示地址
  2. 源码地址 源码地址

什么是 Tailwind

  • Tailwind CSS 是一种 实用优先的 CSS 框架,它通过一组预定义的、基于类名的样式帮助开发者快速构建现代化、响应式的用户界面。与传统的 CSS 框架(如 Bootstrap)不同,Tailwind 并不提供现成的 UI 组件,而是通过大量的小而精确的 CSS 类,让开发者能够灵活地自定义页面的设计,而无需编写大量自定义的 CSS 代码。

安装与配置

  1. 安装 Tailwind CSS
  • 通过 npm 安装 tailwindcss,然后创建你自己的 create your tailwind.config.js 配置文件。
npm install -D tailwindcss
npx tailwindcss init
  1. 配置模板文件的路径
  • 在 tailwind.config.js 配置文件中添加所有模板文件的路径。
/** @type {import('tailwindcss').Config} */
module.exports = {content: ['./src/**/*.{html,js}'],theme: {extend: {},},plugins: [],
};
  1. 将加载 Tailwind 的指令添加到你的 CSS 文件中
  • 将加载 Tailwind 的指令添加到你的 CSS 文件中
/*src/input.css*/
@tailwind base;
@tailwind components;
@tailwind utilities;
  1. 启 Tailwind CLI 构建流程
  • 运行命令行(CLI)工具扫描模板文件中的所有出现的 CSS 类(class)并编译 CSS 代码。
npx tailwindcss -i ./src/input.css -o ./src/output.css --watch
  1. 在你的 HTML 代码中使用 Tailwind 吧
  • 在 标签内引入编译好的 CSS 文件,然后就可以开始使用 Tailwind 的工具类 来为你的内容设置样式了。
<!--src/index.html-->
<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><link href="./output.css" rel="stylesheet" /></head><body><h1 class="text-3xl font-bold underline">Hello world!</h1></body>
</html>

如何配置主题,字体样式等

  • 主题部分是您定义调色板、字体、字体比例、边框大小、断点 - 与站点视觉设计相关的任何内容的地方
//tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {// ...theme: {colors: {blue: '#1fb6ff',purple: '#7e5bef',pink: '#ff49db',orange: '#ff7849',green: '#13ce66',yellow: '#ffc82c','gray-dark': '#273444',gray: '#8492a6','gray-light': '#d3dce6',},fontFamily: {sans: ['Graphik', 'sans-serif'],serif: ['Merriweather', 'serif'],},extend: {spacing: {'8xl': '96rem','9xl': '128rem',},borderRadius: {'4xl': '2rem',},},},
};

如何使用插件

  • 插件部分允许您向 Tailwind 注册插件,这些插件可用于生成额外的实用程序、组件、基本样式或自定义变体。
//tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {// ...plugins: [require('@tailwindcss/forms'),require('@tailwindcss/aspect-ratio'),require('@tailwindcss/typography'),require('tailwindcss-children'),],
};

如何设置预设

  • 预设部分允许您指定自己的自定义基本配置,而不是使用 Tailwind 的默认基本配置。
//tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {// ...presets: [require('@acmecorp/base-tailwind-config')],// Project-specific customizationstheme: {//...},
};

如何设置前缀

  • 前缀选项允许您向所有 Tailwind 生成的实用程序类添加自定义前缀。当将 Tailwind 分层在可能存在命名冲突的现有 CSS 之上时,这非常有用。
//tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {prefix: 'tw-',
};
  • 现在每个类都将使用配置的前缀生成:
.tw-text-left {text-align: left;
}
.tw-text-center {text-align: center;
}
.tw-text-right {text-align: right;
}
  • 重要的是要了解此前缀添加在任何变体修饰符之后。这意味着具有响应式或状态修饰符(例如 sm: 或悬停:)的类仍将首先具有响应式或状态修饰符,并且您的自定义前缀出现在冒号之后:
<div class="tw-text-lg md:tw-text-xl tw-bg-red-500 hover:tw-bg-blue-500"><!-- -->
</div>

配置是否应标记为 !important

  • important 选项可让您控制 Tailwind 的实用程序是否应标记为 !important。当将 Tailwind 与具有高特异性选择器的现有 CSS 一起使用时,这非常有用。
//tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {important: true,
};
  • 现在所有 Tailwind 的实用程序类都将生成为 !important:
.leading-none {line-height: 1 !important;
}
.leading-tight {line-height: 1.25 !important;
}
.leading-snug {line-height: 1.375 !important;
}
  • 这也适用于您使用 @layer utility 指令在 CSS 中定义的任何自定义实用程序
@layer utilities {.bg-brand-gradient {background-image: linear-gradient(#3490dc, #6574cd);}
}/* Output */
.bg-brand-gradient {background-image: linear-gradient(#3490dc, #6574cd) !important;
}

未完待续…

联系我们

  1. 关注我们
  1. 联系作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1550840.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

只申请一块sizeofimage的内存能否实现PE文件的拉伸

不能,别试了,浪费时间. 从最后一个节复制,也会被覆盖 BOOL StrechFileBuffer(__in char* m_fileName, __inout char** LPImageBuffer) {FILE* file (fopen(m_fileName, "rb"));if (file NULL){printf("error :%d", GetLastError());return FALSE;}// 从文…

工作日志:nvm版本控制遇到的一系列问题。

1、安装vue3可使用的富文本编辑器。&#xff08;https://www.wangeditor.com/v5/for-frame.html#demo-1&#xff09; npm install wangeditor/editor-for-vuenext --save2、为同时拥有两个类的元素设置样式&#xff0c;组合选择器是通过在选择器中并列写入两个类名来实现的&am…

PL3328CD直插DIP7/24W反激式开关电源芯片

PL3328CD 是一系列高效率、高集成度、原边调节的 PWM功率开关&#xff0c;其主要应用于 AC/DC 反激式开关电源。PL3328C通过去除光耦以及次级控制电路&#xff0c;简化了充电器/适配器等传统的恒流/恒压的设计&#xff0c;从而实现高精度的电压和电流调节&#xff0c;调节波形如…

zy85_C#中文件夹操作,Path,以及Environment类

文章目录 1.文件夹的操作1.1Directory类的部分方法1.2程序代码 2.Path2.1Path类的部分字段和方法2.2程序代码 3.Environment3.1Environment类3.2SpecialFolder类3.3程序代码 1.文件夹的操作 1.1Directory类的部分方法 1.2程序代码 try {string path "D:\01";if (D…

leetcode45:跳跃游戏||

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1] 的最小…

低空经济时代:无人机飞行安全要点详解

随着低空经济的蓬勃发展&#xff0c;无人机&#xff08;UAV&#xff09;在农业、航拍、物流、应急救援等多个领域的应用日益广泛。然而&#xff0c;无人机的安全飞行不仅关乎任务的成功与否&#xff0c;更直接关系到地面人员、财产及空中交通的安全。本文将从飞行前检查、环境评…

plt.bar函数介绍及实战

目录 plt.bar() 函数实战 plt.bar() 函数 plt.bar() 函数是 Matplotlib 中用于创建柱状图的函数。它用于在图形中绘制一个或多个柱状图&#xff0c;通常用于展示类别型数据的数量或大小的比较。 基本语法&#xff1a; plt.bar(x, height, width0.8, bottomNone, aligncenter…

水波荡漾效果+渲染顺序+简单UI绘制

创建场景及布置 创建新场景Main,在Main场景中创建一个plane物体&#xff0c;命名为WaterWavePla,具体数值及层级面板排布如下&#xff1a; 编写脚本 创建一个文件夹&#xff0c;用于存放脚本&#xff0c;命名Scripts,创建一个子文件夹Effect,存放特效相关脚本&#xff0c;创建…

【Linux 22】生产者消费者模型

文章目录 &#x1f308; 一、生产者消费者模型⭐ 1. 生产者消费者模型的概念⭐ 2. 生产者消费者模型的特点⭐ 3. 生产者消费者模型的优点 &#x1f308; 二、基于阻塞队列的生产消费模型⭐ 1. 阻塞队列概念⭐ 2. 模拟实现基于阻塞队列的生产消费模型 &#x1f308; 三、POSIX 信…

ASP.NET Core 创建使用异步队列

示例图 在 ASP.NET Core 应用程序中&#xff0c;执行耗时任务而不阻塞线程的一种有效方法是使用异步队列。在本文中&#xff0c;我们将探讨如何使用 .NET Core 和 C# 创建队列结构以及如何使用此队列异步执行操作。 步骤 1&#xff1a;创建 EmailMessage 类 首先&#xff0c…

【零基础入门产品经理】学习准备篇 | 需要学一些什么呢?

前言&#xff1a; 零实习转行产品经理经验分享01-学习准备篇_哔哩哔哩_bilibili 该篇内容主要是对bilibili这个视频的观后笔记~谢谢美丽滴up主友情分享。 全文摘要&#xff1a;如何在0实习且没有任何产品相关经验下&#xff0c;如何上岸产品经理~ 目录 一、想清楚为什么…

AIGC教程:如何用Stable Diffusion+ControlNet做角色设计?

前言 对于生成型AI的画图能力&#xff0c;尤其是AI画美女的能力&#xff0c;相信同行们已经有了充分的了解。然而&#xff0c;对于游戏开发者而言&#xff0c;仅仅是漂亮的二维图片实际上很难直接用于角色设计&#xff0c;因为&#xff0c;除了设计风格之外&#xff0c;角色设…

C#知识|基于反射和接口实现抽象工厂设计模式

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 01 应用场景 在项目的多数据库支持上、业务的多算法封装、以及各种变化的业务中&#xff1b; 02 抽象工厂组成 抽象工厂包括抽象产品&#xff08;即业务接口&#xff0c;可以通过抽象类或抽象接口设计&#xff09;…

mfc140u.dll缺失?快速解决方法全解析,解决mfc140u.dll错误

当你的电脑出现找不到mfc140u.dll的问题&#xff0c;不少用户在使用电脑时陷入了困扰。这个错误提示就像一道屏障&#xff0c;阻挡了用户正常使用某些软件。无论是办公软件、游戏还是专业的设计工具&#xff0c;一旦出现这个问题&#xff0c;都会导致软件无法正常运行。如果您也…

mips指令系统简介

**MIPS&#xff08;Microprocessor without Interlocked Piped Stages&#xff09;**&#xff1a;这是一种RISC&#xff08;精简指令集计算&#xff09;芯片架构&#xff0c;由John L. Hennessy设计&#xff0c;特点是没有内部互锁的流水级&#xff0c;简化了处理器设计。 对比…

【WRF工具】cmip6-to-wrfinterm工具概述:生成WRF中间文件

cmip6-to-wrfinterm工具概述 cmip6-to-wrfinterm工具安装cmip6-to-wrfinterm工具使用快速启动&#xff08;Quick start&#xff09;情景1&#xff1a;MPI-ESM-1-2-HR&#xff08;默认&#xff09;&#xff1a;情景2&#xff1a;BCMM情景3&#xff1a;EC-Earth3 更改使用&#x…

【三步 完全离线搭建 openwebui 】

完全离线linux 版open webui 的搭建 1.在具有网络连接的环境中下载whl 在有网络的环境&#xff0c;使用pip download可以保存所有的依赖包,可以使用-i 指定清华的镜像源加速下载速度。 # 命令&#xff1a; pip download <package_name> --only-binary:all: --wheel --…

使用微服务Spring Cloud集成Kafka实现异步通信

在微服务架构中&#xff0c;使用Spring Cloud集成Apache Kafka来实现异步通信是一种常见且高效的做法。Kafka作为一个分布式流处理平台&#xff0c;能够处理高吞吐量的数据&#xff0c;非常适合用于微服务之间的消息传递。 微服务之间的通信方式包括同步通信和异步通信。 1&a…

ansible之playbook\shell\script模块远程自动安装nginx

通过shell模块&#xff0c; 编写安装nginx脚本&#xff0c;为yaml脚本&#xff0c;远程到135机器上安装并启动nginx - hosts: 192.168.45.135remote_user: roottasks:- name: 安装Nginx依赖环境和库文件yum: namewget,tar,make,gcc,pcre-devel,pcre,zlib-devel stateinstalle…

tr命令:替换文本中的字符

一、命令简介 ​tr​ 命令用于转换或删除文件中的字符。它可以从标准输入中读取数据&#xff0c;对数据进行字符替换、删除或压缩&#xff0c;并将结果输出到标准输出。 ‍ 二、命令参数 格式 tr [选项] [集合1] [集合2]选项和参数 ​ ​-c​​: 指定 集合 1 的补集。​ …