百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

为什么tailwindcss在开发者中如此受欢迎?揭秘背后的原因!

myzbx 2025-02-27 15:58 15 浏览

1.邂逅 tailwindcss

我们平时写 css 样式是这样的:




后来随着前端技术的发展,原子化 CSS 出现了。原子化 CSS 是一种 CSS 框架。

在原子化 CSS 中,CSS 组件被拆分为更小的部分,这些部分可以独立地编辑、测试和重用。这些原子通常是单个像素或极其微小的变化,例如颜色、大小、位置等。

原子化 CSS 有助于减少代码量,提高代码的可维护性和可重用性。

原子化 CSS 写法:

  

好好学习

天天向上

原子化 CSS 框架更像是一个已经封装好的 CSS 工具类。

例如:我们在类选择器中写了 w-[10px],原子化 CSS 框架经过扫描,将 w-[10px] 扫描成

width:10px;

也就是说,我们只要按照这个框架的要求去任意组合,框架最后一扫描,就能生成我们想要的 CSS 样式。这样会大大减少代码量,提高工作效率。

而本文介绍的 tailwindcss 就是市面上非常热门的原子化 CSS 框架。

tailwindcss 中文网

https://www.tailwindcss.cn/

2.Vite 安装配置 tailwindcss

2.1 安装 tailwindcss

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

其中第一行命令会安装 tailwindcss 的依赖

第二行命令会创建 tailwindcss 配置文件,包含 postcss.config.js 和 tailwind.config.js 文件。

postcss.config.js 主要用来给项目中添加 tailwindcss 的插件。

tailwind.config.js 主要用来配置 tailwindcss 的扫描规则、设置主题等。

2.2 配置 tailwind.config.js

/** @type {import('tailwindcss').Config} */
export default {
  content: [
    "./index.html",
    "./src/**/*.{vue,js,ts,jsx,tsx}",],
  theme: {
    extend: {},
  },
  plugins: [],
}

2.3 添加 tailwindcss 的基本指令

新建样式文件,在 main.js 中导入该文件

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

3. 编辑器安装 tailwindcss 辅助插件

这里我们使用的编辑器是 VScode。

新手刚开始用 tailwindcss 时,需要不断从官网查询相关原子类的写法,这样太繁琐。

安装插件之后,编辑器就能智能提示了,非常的方便

4. tailwindcss 常用方法

4.1 设置宽高

1.w-[ ],h-[ ] 设置任意宽高




2.w-1/2 设置比例

好好学习

天天向上

3.占满宽度和高度

w-full:占满父容器的宽度

h-full:占满父容器的高度

w-screen:占满整个屏幕的宽度

h-screen:占满整个屏幕的高度




4.设置最小和最大宽度、高度

设置最小最大宽度:min-w-[]、max-w-[]

设置最小最大高度:min-h-[]、max-h-[]

好好学习

天天向上

好好学习

天天向上

4.2 设置边距

1.margin

  • mt-* : margin-top
  • mb-* : margin-bottom
  • ml-* : margin-left
  • mr-* : margin-right
  • mx-* : margin-left, margin-right;
  • my-* : margin-top, margin-bottom;
  • mx-auto : margin: 0 auto;

好好学习

天天向上

好好学习

天天向上

2.padding

  • pt-* : padding-top
  • pb-* : padding-bottom
  • pl-* : padding-left
  • pr-* : padding-right
  • px-* : padding-left, padding-right;
  • py-* : padding-top, padding-bottom;

好好学习

天天向上

4.3 设置边框

1.设置边框宽度,如果不写数值,默认是 1px

  • border-t-数值 :border-top-width;
  • border-r-数值 :border-right-width;
  • border-b-数值 :border-bottom-width;
  • border-l-数值 :border-left-width;
  • border-x-数值 :border-left-width; border-right-width;
  • border-y-数值 :border-top-width; border-right-width;

2.设置边框颜色

border-颜色-数值

border-red-500

例:

好好学习

天天向上

3.设置边框线条类型

  • border-solid :border-style: solid;
  • border-dotted :border-style: dotted;
  • border-dashed :border-style: dashed;
  • border-double :border-style: double;

好好学习

天天向上

4.4 设置背景颜色

bg-颜色-数值

好好学习

天天向上

4.5 设置文本字体

1.设置字体大小: text-[ ]

 

好好学习

2.设置字体加粗

  • font-thin 表示 font-weight: 100;
  • font-light 表示 font-weight: 300;
  • font-normal 表示 font-weight: 400;
  • font-bold 表示 font-weight: 700;
  • font-black 表示 font-weight: 900;

好好学习

天天向上

3.设置字体颜色:text-颜色-数值

好好学习

天天向上

4.6 伪类

hover:
  • hover:bg-red-300
  • hover:text-[60px]
  • hover:w-[500px]
  • hover:h-[200px]

好好学习

天天向上

4.7 定位

  • relative 表示 position: relative;
  • absolute 表示 position: absolute;
  • fiexed 表示 position: fiexed;
  • z-1 表示 z-index:1;

数值:1 表示 4px

  • top-1 表示 top: 4px;
  • left-2 表示 left: 8px;
  • right-10 表示 right: 40px;
  • bottom-3 表示 bottom: 12px;

任意值:

  • top-[5px]
  • left-[10rem]
  • right-[20px]
  • bottom-[100px]

例:

好好学习

天天向上

4.8 flex 布局

  • flex 表示 display: flex;
  • flex-row 表示 flex-direction: row;
  • flex-col 表示 flex-direction: column;
  • justify-center 表示 justify-content: center;
  • items-center 表示 align-items: center;
  • flex-wrap 表示换行
  • flex-nowrap 表示不换行
  • flex-1 表示 flex:1;

例:

好好学习

天天向上

4.9 样式复用

下面的例子中 p 标签有重复的样式

好好学习

天天向上

如果遇到重复的样式,我们可以借助 @layer 和 @apply 指令定义全局复用的样式:

1.在 TailwindCSS 的样式文件中定义复用样式

@layer components {
  .title {
    @apply w-[100px] h-[100px] text-white text-[20px];
  }
}

2.在类选择器中使用复用类名

好好学习

天天向上

相关推荐

炫酷的计时器效果Canvas绘图与动画

-----------------------------------------华丽的分割线-----------------------------------------------------...

康托尔集合的绘制及其Python绘制(康托尔集合论的概括原则是什么)

康托尔三分集(Cantorternaryset)是数学中一个著名的分形例子,由德国数学家格奥尔格·康托尔在1883年引入。它通过不断去掉线段的中间三分之一部分,重复这个过程得到的一个分形集合。康托...

一文带你搞懂JS实现压缩图片(js 压缩图片)

作者:wuwhs转发链接:https://segmentfault.com/a/1190000023486410前言公司的移动端业务需要在用户上传图片是由前端压缩图片大小,再上传到服务器,这样可以减...

数据可视化—Echarts图表应用(数据可视化图表类型)

ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。使用JavaScript实现开源的可视化库,可以流畅的...

ThreeJS中三维世界坐标转换成二维屏幕坐标

Threejs全称是“Javascript3Dlibrary”。WebGL则是openGL在浏览器上的一个实现。Threejs对WebGL进行了封装,让前端开发人员在不需要掌握很多数学知识和绘图知...

鸿蒙开源第三方件组件——加载动画库

前言基于安卓平台的加载动画库AVLoadingIndicatorView(https://github.com/81813780/AVLoadingIndicatorView),实现了鸿蒙化迁移和重构...

canvas实现下雪背景图(canvas绘制背景图)

canvas下雪背景html+css+js实现:1.定义标签:<h1>北极光之夜。</h1><divclass="bg"></...

用canvas画简单的“我的世界”人物头像

前言:花了4天半终于看完了《HeadFirstHTML5》,这本书的学习给我最大的感受就是,自己知识的浅薄,还有非常多非常棒的技术在等着我呢。[熊本表情]扶朕起来,朕还能学!H5新增标签里面最喜欢...

Manim-基础图形之点(什么叫图形基点)

制作数学演示视频时需要用到各类的集合图形,manim中内置了一些列的图形,本篇就从最简单的点讲起。点作为manim中最简单图形,也是其他所有图形的基,所有图形的绘制都是靠点来定位。manim中的点主...

一起学 WebGL:坐标系(坐标系格式)

大家好,我是前端西瓜哥,今天我们来学习WebGL。WebGL的世界坐标系是三维的。默认使用笛卡尔坐标系的右手坐标系,满足右手定则,即x轴向右,y轴向上,z轴向着观察者,原点位于画布中心。然...

漫画 欣赏 - 聖鬥士星矢 THE.LOST.CANVAS 冥王神話 24

《圣斗士星矢THELOSTCANVAS冥王神话》改编自车田正美原作的漫画《圣斗士星矢》,由车田正美原作、手代木史织作画。其外传《圣斗士星矢THELOSTCANVAS冥王神话外传》则在《...

漫画 欣赏 - 聖鬥士星矢 THE.LOST.CANVAS 冥王神話 25 - 完结篇

《圣斗士星矢THELOSTCANVAS冥王神话》改编自车田正美原作的漫画《圣斗士星矢》,由车田正美原作、手代木史织作画。其外传《圣斗士星矢THELOSTCANVAS冥王神话外传》则在《...

Eric Fischl 名画录(eric tucker画家)

艾瑞克费舍尔(EricFischl,1948——),是美国新表现主义画家,当代国际画坛一位十分活跃的人物,在国际上享有很高的知名度。作为20世纪美国第6次经济衰退时期本土第一个伟大画家艾瑞克·费舍尔...

canvas绘画板的实现(canvas画布)

新项目有一个需求:客户需要在订单确认的时候签名。第一反应就是用html的canvas实现,同事一起商量了下,canvas有三个制约:canvas必须要用鼠标,签名会很难看;手机端webapp怎么实现...

Python程序开发之简单小程序实例(9)利用Canvas绘制图形和文字

Python程序开发之简单小程序实例(9)利用Canvas绘制图形和文字一、项目功能利用Tkinter组件中的Canvas绘制图形和文字。二、项目分析要在窗体中绘制图形和文字,需先导入Tkinter组...