Tailwind CSS入门教程

这篇具有很好参考价值的文章主要介绍了Tailwind CSS入门教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


Tailwind CSS入门教程,css,前端,图形渲染,人工智能,javascript


一、前言

Tailwind CSS - Rapidly build modern websites without ever leaving your HTML.

Tailwind是一款CSS框架,它的主要特点是提供了一系列的CSS类,可以快速地构建出各种样式。Tailwind的发展历史可以追溯到2017年,由Adam Wathan、Steve Schoger和Jonathan Reinink共同创建。Tailwind的设计理念是提供一系列的原子类,每个类都只包含一个具体的样式,通过组合这些类来构建出复杂的样式。这种设计理念可以让开发者更加灵活地控制样式,同时也可以减少样式冗余,提高代码的可维护性。
Tailwind的主要特点包括:

  • 提供了一系列的原子类,可以快速地构建出各种样式。
  • 可以通过配置文件来自定义样式,包括颜色、字体、边框等。
  • 支持响应式设计,可以根据不同的屏幕尺寸来应用不同的样式。
  • 支持插件机制,可以扩展框架的功能。
  • 提供了一些实用的工具类,如布局类、间距类、文本类等,可以帮助开发者更快地构建页面。

总的来说,Tailwind是一款非常实用的CSS框架,可以帮助开发者更快地构建页面,同时也可以提高代码的可维护性。

项目源码:tailwind

二、基础教程 上

2.1 颜色

white, black, red, green, blue, orange, yellow, purple, lime, emerald, teal, cyan, indigo, violet, fuchsia, pink, rose, sky, gray, slate, zinc, neutral, stone, amber

<!-- Default colors -->
    <!-- white, black, red, green, blue, orange, yellow, purple, lime, emerald, teal, cyan, indigo, violet, fuchsia, pink, rose, sky, gray, slate, zinc, neutral, stone, amber,  -->

    <!-- Text Colors -->
    <p class="text-black">Tailwind is awesome</p>
    <p class="text-red-50">Tailwind is awesome</p>
    <p class="text-red-100">Tailwind is awesome</p>
    <p class="text-red-200">Tailwind is awesome</p>
    <p class="text-red-300">Tailwind is awesome</p>
    <p class="text-red-400">Tailwind is awesome</p>
    <p class="text-red-500">Tailwind is awesome</p>
    <p class="text-red-600">Tailwind is awesome</p>
    <p class="text-red-700">Tailwind is awesome</p>
    <p class="text-red-800">Tailwind is awesome</p>
    <p class="text-red-900">Tailwind is awesome</p>

    <!-- Background Colors -->
    <div class="bg-slate-600">
      <p class="text-white">Tailwind is awesome</p>
    </div>
    <div class="bg-zinc-400">
      <p class="text-white">Tailwind is awesome</p>
    </div>
    <div class="bg-emerald-600">
      <p class="text-white">Tailwind is awesome</p>
    </div>

    <!-- Text Underline -->
    <p class="underline text-red-700 decoration-red-700">Tailwind is awesome</p>
    <p class="underline text-blue-700 decoration-blue-700">
      Tailwind is awesome
    </p>

    <!-- Border Colors -->
    <input class="border-2 border-rose-500" />
    <input class="border-2 border-blue-300" />
    <input class="border-2 border-purple-900" />
    <input class="border-2 border-yellow-500" />

    <!-- Divide Colors -->
    <div class="divide-y divide-blue-200">
      <div>Item 1</div>
      <div>Item 2</div>
      <div>Item 4</div>
      <div>Item 5</div>
      <div>Item 6</div>
    </div>

    <!-- Outline Colors -->
    <button class="outline outline-blue-500">Subscribe</button>
    <button class="outline outline-purple-300">Subscribe</button>
    <button class="outline outline-gray-500">Subscribe</button>

    <!-- Box Shadow Colors (Opacity defaults to 100, but you cans set it)-->
    <button class="bg-cyan-500 shadow-lg shadow-cyan-500">Subscribe</button>
    <button class="bg-blue-500 shadow-lg shadow-blue-500/50">Subscribe</button>
    <button class="bg-indigo-500 shadow-lg shadow-indigo-500/50">
      Subscribe
    </button>

    <!-- Accent Colors -->
    <input type="checkbox" class="accent-purple-500" checked /> Option 1
    <input type="checkbox" class="accent-pink-500" checked /> Option 2
    <input type="checkbox" class="accent-red-300" checked /> Option 3

    <!-- Arbitrary Colors -->
    <div class="bg-[#427fab] h-10">Hello</div>
    <div class="text-[#427fab] h-10">Hello</div>
    <div class="border border-[#427fab] h-10">Hello</div>

2.2 边距

2.2.1 container

container	None	width: 100%;
sm (640px)	    max-width: 640px;
md (768px)	    max-width: 768px;
lg (1024px)	    max-width: 1024px;
xl (1280px)	    max-width: 1280px;
2xl (1536px)	  max-width: 1536px; 

2.2.2 margin

    <div class="bg-slate-100 m-2">Hello Tailwind</div>
    <div class="bg-slate-100 mx-10">Hello Tailwind</div>
    <div class="bg-slate-100 my-10">Hello Tailwind</div>
    <div class="bg-slate-100 ml-4">Hello Tailwind</div>
    <div class="bg-slate-100 mt-4">Hello Tailwind</div>
    <div class="bg-slate-100 mr-4">Hello Tailwind</div>
    <div class="bg-slate-100 mb-4">Hello Tailwind</div>
    <div class="bg-slate-100 mt-[20px]">Hello Tailwind</div>
  • 数值 m-1 margin: 0.25rem; /* 4px */ 默认值,可以修改 1rem = 16px

2.2.3 padding

  <div class="bg-slate-100 p-2">Hello Tailwind</div>
  <div class="bg-slate-100 px-10">Hello Tailwind</div>
  <div class="bg-slate-100 py-10">Hello Tailwind</div>
  <div class="bg-slate-100 pl-4">Hello Tailwind</div>
  <div class="bg-slate-100 pt-4">Hello Tailwind</div>
  <div class="bg-slate-100 pr-4">Hello Tailwind</div>
  <div class="bg-slate-100 pb-4">Hello Tailwind</div>
  <div class="bg-slate-100 pt-[20px]">Hello Tailwind</div>

2.2.4 space

    <!-- Space Between X -->
    <div class="flex mt-10 space-x-24">
      <div>item 1</div>
      <div>item 2</div>
      <div>item 3</div>
      <div>item 4</div>
      <div>item 5</div>
      <div>item 6</div>
      <div>item 7</div>
    </div>
    <!-- Space Between Y -->
    <div class="flex flex-col mt-10 space-y-4">
      <div>item 1</div>
      <div>item 2</div>
      <div>item 3</div>
      <div>item 4</div>
      <div>item 5</div>
      <div>item 6</div>
      <div>item 7</div>
    </div>

1.png

2.3 排版

Font Family
https://fonts.google.com/

	<script>
    tailwind.config = {
      theme: {
        fontFamily: {
          sans: ['ui-sans-serif', 'system-ui'],
          serif: ['ui-serif', 'Georgia'],
          mono: ["ui-monospace", "SFMono-Regular"],
          custom: ['Roboto']
        }
      }
    }
  </script>
  • Font Family 可以使用内置的字体或者自定义的字体
  • Font Size 设置文字的大小
  • Font Weight 设置文字的粗细
  • Letter Spacing 设置文字的间距
  • Text Alignment 设置文字左、居中、右
  • Text Decoration 用于设置文本的装饰效果,例如下划线、删除线、上划线等
  • Decoration Style 设置样式
  • Decoration Offset 用于设置文本装饰线与文本本身之间的距离
  • Text Transform 用于设置文本的大小写转换方式

2.4 尺寸

  • 设置元素的宽高 w-8 h-8
  • w-screen 设置视口 w-full设置100%
  • 可设置最大最小尺寸

2.5 定位

5.png

  • 子绝父相
  • inset-y-0 意思是 top 0 bottom 0
  • 浮动元素 left right(用的少)
  • display: block;:将元素显示为块级元素,即元素会在页面中独占一行,并且可以设置宽度、高度、内边距和外边距等属性。常用于页面布局中的容器元素,例如 div、p、h1 等。
  • display: inline-block;:将元素显示为行内块级元素,即元素会在一行中显示,并且可以设置宽度、高度、内边距和外边距等属性。常用于页面布局中的容器元素,例如 button、input 等。
  • display: inline;:将元素显示为行内元素,即元素会在一行中显示,并且不可以设置宽度、高度、内边距和外边距等属性。常用于页面中的文本元素,例如 a、span、em 等。

2.6 阴影

6.png
颜色渐变

<!-- Gradients -->
  <div class="h-24 bg-gradient-to-r from-cyan-500 to-blue-500"></div>
  <div class="h-24 bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500"></div>
  <div class="w-96 mt-6 ml-4 p-3 shadow-xl shadow-blue-500/50">
    Lorem, ipsum dolor sit amet consectetur adipisicing elit. Mollitia minus
    deleniti iusto delectus alias natus quam dolor explicabo quas eius!
  </div>
  • 在Tailwind CSS中,可以使用 shadow 类名来设置元素的阴影效果
  • shadow 类名可以与以下的修饰符一起使用,以便更好地控制阴影的大小和颜色

2.7 边框

7.png

  • 边框可以设置大小、颜色、方位、边角、边框偏移量

2.8 滤镜(filter)

8.png

CSS中,可以使用 filter 属性来为元素添加滤镜效果。常用的滤镜属性包括:

  • blur():用于为元素添加高斯模糊效果,其中括号中的值表示模糊半径,取值范围为0到正无穷大。
  • brightness():用于为元素添加亮度效果,其中括号中的值表示亮度值,取值范围为0到正无穷大。
  • contrast():用于为元素添加对比度效果,其中括号中的值表示对比度值,取值范围为0到正无穷大。
  • grayscale():用于为元素添加灰度效果,其中括号中的值表示灰度值,取值范围为0到1。
  • hue-rotate():用于为元素添加色相旋转效果,其中括号中的值表示旋转角度,取值范围为0到360度。
  • invert():用于为元素添加反转颜色效果,其中括号中的值表示反转颜色的程度,取值范围为0到1。
  • opacity():用于为元素添加透明度效果,其中括号中的值表示透明度值,取值范围为0到1。
  • saturate():用于为元素添加饱和度效果,其中括号中的值表示饱和度值,取值范围为0到正无穷大。
  • sepia():用于为元素添加褐色效果,其中括号中的值表示褐色值,取值范围为0到1。

需要注意的是,滤镜属性可以组合使用,以便实现更加复杂的效果。

三、基础教程 下

3.1 伪类元素

9.png

  • 在Tailwind CSS中,可以使用伪类元素来为元素添加特殊的样式。常用的伪类元素包括 :hover、:focus、:active 等
  • 父子元素可以通过group属性自动向下触发
  • appearance-none重置默认元素样式
  • resize是CSS中的一个属性,用于控制元素是否可以被用户调整大小
  • Smooth Scroll 平滑过渡属性

3.2 媒体查询

    sm	640px	  @media (min-width: 640px) { ... }
    md	768px	  @media (min-width: 768px) { ... }
    lg	1024px	@media (min-width: 1024px) { ... }
    xl	1280px	@media (min-width: 1280px) { ... }
    2xl	1536px	@media (min-width: 1536px) { ... }
  • 在CSS中,可以使用媒体查询(Media Queries)来根据设备的特性(如屏幕宽度、高度、分辨率等)来为不同的设备设置不同的样式
  • tailwind 使用更加方便的md:类名方式进行适配

3.3 Columns

10.png

columns 是一个用于创建网格布局的类名。columns 类名可以与数字(1到12)组合使用,以便更好地控制网格的列数。

3.4 flex布局

11.png

  • 和css 使用的布局差不多,可以设置列、行。使用order可以二次设置元素的方向

Flex 布局语法教程 | 菜鸟教程

  • flex-none:将元素的flex属性设置为 none,表示该元素不会随着容器的大小而改变大小,即不会发生伸缩。
  • flex-initial:将元素的flex属性设置为 0 1 auto,表示该元素可以缩小但不能放大,同时会考虑元素的初始大小。
  • flex-auto:将元素的flex属性设置为 1 1 auto,表示该元素可以根据容器的大小自动伸缩,同时会考虑元素的初始大小。
  • flex-1:将元素的flex属性设置为 1 1 0%,表示该元素可以根据容器的大小自动伸缩,同时会忽略元素的初始大小。

3.5 grid布局

12.png

<div class="grid grid-cols-1 md:grid-cols-3 gap-4 bg-gray-300 ">
    <div class="p-10 border border-blue-600 bg-blue-100 md:row-span-2 md:col-span-2">item 1</div>
    <div class="p-10 border border-blue-600 bg-blue-100">item 2</div>
    <div class="p-10 border border-blue-600 bg-blue-100">item 3</div>
    <div class="p-10 border border-blue-600 bg-blue-100">item 4</div>
    <div class="p-10 border border-blue-600 bg-blue-100">item 5</div>
    <div class="p-10 border border-blue-600 bg-blue-100">item 6</div>
    <div class="p-10 border border-blue-600 bg-blue-100 md:row-span-2  md:col-span-2">item 7</div>
    <div class="p-10 border border-blue-600 bg-blue-100">item 8</div>
    <div class="p-10 border border-blue-600 bg-blue-100">item 9</div>
    <div class="p-10 border border-blue-600 bg-blue-100 md:col-span-3">item 10</div>
  </div>
  • grid-col 设置全局列,grid-row设置全局行
  • col-span 设置当前元素可以占几个,row-span同理

3.6 动画

13.png

//自定义数值
<script>
    tailwind.config = {
      theme: {
        extend: {
          transitionDuration: {
            0: '0ms',
            5000: '5000ms',
          },
        },
      },
    }
  </script>

Tailwind CSS 的 transition 类是用于设置 CSS 过渡效果的类。它可以让元素在状态改变时平滑地过渡到新状态,而不是突然地改变。
transition 类可以用于设置以下 CSS 属性的过渡效果:

  • opacity:元素的不透明度
  • background-color:元素的背景颜色
  • border-color:元素的边框颜色
  • box-shadow:元素的阴影效果
  • transform:元素的变换效果,如旋转、缩放、位移等

transition 类可以与其他 Tailwind CSS 类组合使用,以设置过渡效果的持续时间、速度曲线、延迟等。例如,可以使用 duration-500 类设置过渡效果的持续时间为 500 毫秒,使用 ease-in-out 类设置速度曲线为缓进缓出,使用 delay-100 类设置延迟 100 毫秒后再开始过渡效果。

3.7 关键帧

14.png

<script>
    tailwind.config = {
      theme: {
        extend: {
          animation: {
            'spin-slow': 'spin 3s linear infinite',
            'wiggle': 'wiggle 1s ease-in-out infinite',
          },
          keyframes: {
            wiggle: {
              '0%, 100%': { transform: 'rotate(-12deg)' },
              '50%': { transform: 'rotate(12deg)' },
            },
          }
        }
      }
    }
  </script>
  • Tailwind CSS 的 animate 类是用于设置 CSS 动画效果的类。它可以让元素在状态改变时以动画的形式过渡到新状态,从而增强页面的交互性和视觉效果。
  • 内置了多种效果,可以定制或者修改已有的效果

3.8 本地化

  <script>
    tailwind.config = {
      theme: {
        screens: {
          'sm': '600px',
          'md': '800px',
          'lg': '1024px',
          'xl': '1280px',
          '2xl': '1536px',
        },
        extend: {
          colors: {
            'purple': '#3f3cbb',
            'midnight': '#121063',
            'metal': '#565584',
          },
          spacing: {
            '6': '2rem',
          },
          borderRadius: {
            '4xl': '2rem',
          },
        }
      }
    }
  </script>

3.9 主题切换

16.png
15.png

  • Tailwind CSS 的 dark 模式是一种用于在网站或应用程序中切换明暗两种主题的功能。它可以让用户根据自己的喜好或环境光线的亮度来选择合适的主题,从而提高用户体验和可用性。
  • 需要注意的是,为了实现 dark 模式,需要在 HTML 的 body 元素上添加 class=“dark” 属性。

四、开发环境设置

4.1 基本步骤

17.png

Installation - Tailwind CSS

使用Tailwind CLI tool工具开发文章来源地址https://www.toymoban.com/news/detail-648775.html

4.2 修改配置

{
  "name": "tailwind-starter",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "watch": "tailwindcss -i ./src/input.css -o ./css/style.css --watch",
    "build": "tailwindcss -i ./src/input.css -o ./css/style.css"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "tailwindcss": "^3.3.3"
  }
}
  • watch一直监控input.css变化,重构生成到style.css
  • build开发完成最后打包

4.3 样式定制化

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base{
  h1 {
    font-size: 3rem;
  }

  h2 {
    @apply text-2xl text-sky-500 font-bold mt-10;
  }

}

@layer components{
  .btn-blue {
    @apply bg-blue-500 text-white font-bold py-2 px-4 rounded m-10;
  }
}


.text-area{
  @apply bg-gray-200 border-2 border-gray-400 rounded-lg p-4;
  height: theme('spacing.128');
}

到了这里,关于Tailwind CSS入门教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTML+CSS+JavaScript入门教程(万字)

    作为一名后端开发人员,开发过程中,必不可少的与前端进行对接,因此尽管是后端开发者,也需要一定的前端知识,因此写下HTML+CSS+JavaScript入门知识,着重介绍了JavaScript,方便自己复习,也各位小伙伴参考。 1.1什么是HTML HTML是一门语言,所有的网页都是用HTML这门语言编写

    2024年02月14日
    浏览(33)
  • CSS 文本样式入门教程:字体、颜色和大小

    探讨 CSS 中的字体样式、颜色和大小,以及如何使用 CSS 为网页添加样式。

    2023年04月13日
    浏览(20)
  • vue3 + Tailwind Css + Vite 搭建快速开发前端样式环境

    一个功能类优先的 CSS 框架,用于快速构建定制的用户界面。这是来自 TailwindCss 官方定义。 中文网站 Tailwindcss 基于原子化理念,将样式重复性代码降到最小,原本开发最大限度基于类名的声明块不重复,现在Tailwindcss基于单独一句声明不重复。 活跃度 github starts 数量达到

    2024年02月04日
    浏览(40)
  • Tailwind CSS 使用指南

    Tailwind CSS 官网:https://www.tailwindcss.cn/ Tailwind CSS 是一个 CSS 框架,使用初级“工具”类创建布局 如 Bootstrap 等传统 CSS 框架,其使用的类通常与组件直接相关;然而,Tailwind 则采用了不同的方法,它将类作为工具集合,让用户能够自由组合这些工具来构建个性化的自定义组件

    2024年03月16日
    浏览(30)
  • Tailwind CSS:基础使用/vue3+ts+Tailwind

    一、理解Tailwind 安装 - TailwindCSS中文文档 | TailwindCSS中文网 Installation - Tailwind CSS 1.1、词义 我们简单理解就是搭上CSS的顺风车,事半功倍。 1.2、 Tailwind CSS有以下优势 1. 快速开发:Tailwind CSS 提供了一些现成的 class / 可复用类,可以快速构建出界面和布局。使用它可以加速开发

    2024年02月14日
    浏览(27)
  • 谈谈Tailwind CSS:实用优先的 CSS 框架到底好不好?

    探讨 Tailwind CSS 的实现优势,比较原生 CSS、预编译器 SCSS 和 Tailwind CSS 在一个简单登录页面上的效果。

    2024年02月01日
    浏览(30)
  • Vue中使用Tailwind css

    1.什么是Tailwind 就是一个CSS框架,和你知道的bootstrap,element ui,Antd,bulma。一样。将一些css样式封装好,用来加速我们开发的一个工具。 Tailwind解释 tailwind css 中文文档 注意⚠️ 与预处理器一起使用 针对生产进行优化 浏览器支持 2.Vue使用Tailwind配置 1. 新建vue项目 2. 在终端输

    2024年02月13日
    浏览(24)
  • Tailwind css优于Bootstrap 7个原因

    在某些情况下,Tailwind css 比 Bootstrap 更好,因为它是一个低级 CSS 框架,可让您根据需要构建自己的自定义组件。如果使用得当,它非常注重性能,可以显着减少 CSS 负载并确保更快的渲染。如果 Web 性能和自定义是您的首要任务,请选择 Tailwind。 原因 1:Tailwind CSS 生成的 C

    2024年02月14日
    浏览(22)
  • 【你也能从零基础学会网站开发】Web建站之HTML+CSS入门篇 工欲善其事必先利其器 Dreamweaver安装教程 它依旧是初学者最好用的代码开发工具!

    🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起学习和进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注 Dreamweaver介绍与历史 Dreamweaver是一款由Adobe开发的网页设计和开发软件,也

    2024年03月10日
    浏览(45)
  • 数据可视化神器!Matplotlib Python教程 | 从入门到精通绘制各种类型的图形和保存图形

    大家好,我是爱吃熊掌的鱼,今天我要给大家带来一篇有趣开朗的Matplotlib Python教程。Matplotlib是Python中最流行的数据可视化库之一,它可以帮助我们将数据转化为易于理解的图表和图形。无论你是初学者还是专业人士,Matplotlib都是一个非常有用的工具。让我们开始吧! 在开

    2023年04月21日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包