TailwindCss快速上手

什么是Tailwind Css?

一個實用優先的 CSS 框架,可以直接在標記中組合以構建任何設計。

開始使用Tailwind Css

如何安裝

下面是使用vite構建工具的方法

①安裝 Tailwind CSS:

tailwindcss通過@tailwindcss/vitenpm安裝。

npm install tailwindcss @tailwindcss/vite

②配置 Vite 插件:

將插件添加@tailwindcss/vite到您的 Vite 配置中。

import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'  //這一部分
export default defineConfig({plugins: [tailwindcss(),  // 這一部分],
})

③ 導入 Tailwind CSS:

自定義一個css文件,并向您的 CSS 文件添加一個@import導入 Tailwind CSS 的內容。

@import "tailwindcss";

在這里插入圖片描述

④在main.js上引入這個css文件:

import '@/index.css'
import { createApp } from 'vue'
import App from './App.vue'createApp(App).mount('#app')

VS Code 的 IntelliSense

Visual Studio Code 的官方Tailwind CSS IntelliSense擴展通過為用戶提供自動完成、語法突出顯示和 linting 等高級功能增強了 Tailwind 開發體驗。

在這里插入圖片描述

  • 自動完成——為實用程序類以及CSS 函數和指令提供智能建議。
  • Linting — 突出顯示 CSS 和標記中的錯誤和潛在缺陷。
  • 懸停預覽— 將鼠標懸停在實用程序類上時顯示其完整的 CSS。
  • 語法高亮——以便正確高亮使用自定義 CSS 語法的 Tailwind 功能。

注意

在 Tailwind CSS v4 中,tailwindcss.config.js 配置文件已被移除,希望人們可以使用我們直接生成的 CSS 變量,這要簡單得多,并且會顯著減少您的捆綁包大小。

Preflight

Preflight 是 Tailwind CSS 的核心基礎樣式層,基于 modern-normalize 構建,旨在消除瀏覽器默認樣式的不一致,并提供一個統一的樣式起點。它自動注入到 base 圖層中,確保項目在設計系統約束內一致運行。

關鍵樣式重置
1. 邊距移除

Preflight 刪除所有元素的默認邊距,避免意外依賴瀏覽器默認值:

*,
::after,
::before,
::backdrop,
::file-selector-button {margin: 0;padding: 0;
}
2. 邊框樣式重置

統一所有元素的邊框樣式,確保 border 類可直接使用:

*,
::after,
::before,
::backdrop,
::file-selector-button {box-sizing: border-box;border: 0 solid;
}
3. 標題無樣式

標題元素默認不設置字體大小和粗細,需手動定義:

h1,
h2,
h3,
h4,
h5,
h6 {font-size: inherit;font-weight: inherit;
}
4. 列表無樣式

默認移除列表項目符號和編號:

ol,
ul,
menu {list-style: none;
}
5. 圖像與替換元素
  • 圖像默認為 block 布局,防止對齊問題:

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {display: block;vertical-align: middle;
    }
    
  • 圖像和視頻限制在容器寬度內,保持響應式:

    img,
    video {max-width: 100%;height: auto;
    }
    

添加自定義樣式

Tailwind 從一開始就被設計為可擴展和可定制的,因此無論您構建什么,您都不會感覺自己正在與框架作斗爭。

注意,下述內容都應在你自定義的css文件內操作,因為最新版本去除了配置文件

自定義主題

如果您想要更改調色板、間距比例、排版比例或斷點等內容,請使用@themeCSS 中的指令添加自定義內容:

@theme {--font-display: "Satoshi", "sans-serif";--breakpoint-3xl: 120rem;--color-avocado-100: oklch(0.99 0 0);--color-avocado-200: oklch(0.98 0.04 113.22);--color-avocado-300: oklch(0.94 0.11 115.03);--color-avocado-400: oklch(0.92 0.19 114.08);--color-avocado-500: oklch(0.84 0.18 117.33);--color-avocado-600: oklch(0.53 0.12 118.34);--ease-fluid: cubic-bezier(0.3, 0, 0, 1);--ease-snappy: cubic-bezier(0.2, 0, 0, 1);/* ... */
}

為什么@theme不是:root

主題變量不僅僅是CSS變量 - 它們還指示 Tailwind 創建可在 HTML 中使用的新實用程序類。

由于主題變量的作用比常規 CSS 變量更多,Tailwind 使用特殊語法,以便始終明確定義主題變量。主題變量也必須在頂層定義,并且不能嵌套在其他選擇器或媒體查詢中,使用特殊語法可以強制執行此要求。

使用任意值

當你發現自己確實需要top: 117px在正確的位置獲取背景圖像時,請使用 Tailwind 的方括號表示法動態生成具有任意值的類:

<div class="top-[117px]"><!-- ... -->
</div>

這適用于框架中的所有內容,包括背景顏色、字體大小、偽元素內容等:

<div class="bg-[#bada55] text-[22px] before:content-['Festivus']"><!-- ... -->
</div>

函數和指令

指令是您可以在 CSS 中使用的自定義 Tailwind 特定規則,它為 Tailwind CSS 項目提供特殊功能。

@import

使用@import指令內聯導入 CSS 文件,包括 Tailwind 本身:

@import "tailwindcss";

@theme

使用@theme指令定義項目的自定義設計標記,如字體、顏色和斷點:

@theme {--font-display: "Satoshi", "sans-serif";--breakpoint-3xl: 120rem;--color-avocado-100: oklch(0.99 0 0);--color-avocado-200: oklch(0.98 0.04 113.22);--color-avocado-300: oklch(0.94 0.11 115.03);--color-avocado-400: oklch(0.92 0.19 114.08);--color-avocado-500: oklch(0.84 0.18 117.33);--color-avocado-600: oklch(0.53 0.12 118.34);--ease-fluid: cubic-bezier(0.3, 0, 0, 1);--ease-snappy: cubic-bezier(0.2, 0, 0, 1);/* ... */
}

@variant

使用@variant指令將 Tailwind 變體應用于 CSS 中的樣式:

.my-element {background: white;@variant dark {background: black;}
}

@apply

使用@apply指令將任何現有的實用程序類內聯到您自己的自定義 CSS 中:

.select2-dropdown {@apply rounded-b-lg shadow-md;
}.select2-search {@apply rounded border border-gray-300;
}.select2-results__group {@apply text-lg font-bold text-gray-900;
}

當您需要編寫自定義 CSS(例如覆蓋第三方庫中的樣式)但仍想使用設計令牌并使用您在 HTML 中習慣使用的相同語法時,這很有用。

@reference

如果您想在 Vue 或 Svelte 組件的塊中或 CSS 模塊中使用@apply或,則需要導入主題變量、自定義實用程序和自定義變體,以使這些值在該上下文中可用。@variant``<style>

為了在輸出中不重復任何 CSS,請使用@reference指令導入主樣式表以供參考,而無需實際包含樣式:

<template><h1>Hello world!</h1>
</template><style>@reference "../../app.css";h1 {@apply text-2xl font-bold text-red-500;}
</style>

如果您只是使用默認主題而沒有進行任何自定義,則可以tailwindcss直接導入:

<template><h1>Hello world!</h1>
</template><style>@reference "tailwindcss";h1 {@apply text-2xl font-bold text-red-500;}
</style>

--alpha()

使用該--alpha()函數調整顏色的不透明度:

輸入 CSS

.my-element {color: --alpha(var(--color-lime-300) / 50%);
}

編譯后的 CSS

.my-element {color: color-mix(in oklab, var(--color-lime-300) 50%, transparent);
}

–spacing()

使用該--spacing()函數根據您的主題生成間距值:

輸入 CSS

.my-element {margin: --spacing(4);
}

編譯后的 CSS

.my-element {margin: calc(var(--spacing) * 4);
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901650.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901650.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901650.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Web前端 (CSS篇)

什么是CSS&#xff1f; css(Cascading Style Sheets)是層疊樣式表或級聯樣式表&#xff0c;是一組設置規則&#xff0c;用于控制web頁面外觀。 為什么使用CSS? CSS 用于定義網頁的樣式&#xff0c;包括針對不同設備和屏幕尺寸的設計和布局。 CSS 實例 body {background-col…

微服務2--服務治理與服務調用

前言 &#xff1a;本文主要闡述微服務架構中的服務治理&#xff0c;以及Nacos環境搭建、服務注冊、服務調用&#xff0c;負載均衡以及Feign實現服務調用。 服務治理 服務治理是微服務架構中最核心最基本的模塊。用于實現各個微服務的自動化注冊與發現。 服務注冊&#xff1a;在…

智能麻將出牌組件

開篇引言? 麻將作為一款風靡全球的策略性游戲&#xff0c;其復雜的規則和多變的牌局給玩家帶來了無盡樂趣。在數字化時代&#xff0c;運用編程技術為麻將游戲賦予智能&#xff0c;實現自動出牌功能&#xff0c;不僅能提升玩家體驗&#xff0c;還能深入探索算法在博弈游戲中的…

“大灣區珠寶藝境花園”璀璨綻放第五屆消博會

2025年4月13日&#xff0c;第五屆中國國際消費品博覽會&#xff08;以下簡稱"消博會"&#xff09;重要主題活動——《大灣區珠寶藝境花園》啟動儀式在海南國際會展中心2號館隆重舉行。由廣東省金銀珠寶玉器業廠商會組織帶領粵港澳大灣區優秀珠寶品牌&#xff0c;以“…

基于前端技術的QR碼API開發實戰:從原理到部署

前言 QR碼&#xff08;Quick Response Code&#xff09;是一種二維碼&#xff0c;于1994年開發。它能快速存儲和識別數據&#xff0c;包含黑白方塊圖案&#xff0c;常用于掃描獲取信息。QR碼具有高容錯性和快速讀取的優點&#xff0c;廣泛應用于廣告、支付、物流等領域。通過掃…

利用耦合有限元和神經網絡計算的骨重塑模擬多尺度方法

Multiscale methodology for bone remodelling simulation using coupled finite element and neural network computation 摘要&#xff1a;本文旨在開發一種基于有限元分析&#xff08;FEA&#xff09;和神經網絡&#xff08;NN&#xff09;計算的多尺度分層混合模型&#xf…

使用異步特征引發的錯誤error[E0195]: lifetime parameters or bounds on method `before_save`

問題描述&#xff1a; 使用SeaOrm保存實體到數據庫時不想每次都設置更新時間&#xff0c;所以想通過實現ActiveModelBehavior在保存實體前統一設置更新時間 impl ActiveModelBehavior for ActiveModel {async fn before_save<C>(self, _db: &C, _insert: bool) -&…

TVS管與ESD保護二極管詳解:原理、區別與應用選型

一、TVS管&#xff08;瞬態電壓抑制二極管&#xff09; 1. 基本定義 TVS管&#xff08;Transient Voltage Suppressor&#xff09; 是一種用于抑制瞬態高壓脈沖的半導體器件&#xff0c;通過雪崩擊穿效應快速鉗位電壓&#xff0c;保護后端電路。 2. 核心特性參數 參數定義公…

Day08 【基于jieba分詞實現詞嵌入的文本多分類】

基于jieba分詞的文本多分類 目標數據準備參數配置數據處理模型構建主程序測試與評估測試結果 目標 本文基于給定的詞表&#xff0c;將輸入的文本基于jieba分詞分割為若干個詞&#xff0c;然后將詞基于詞表進行初步編碼&#xff0c;之后經過網絡層&#xff0c;輸出在已知類別標…

入門-C編程基礎部分:6、常量

飛書文檔https://x509p6c8to.feishu.cn/wiki/MnkLwEozRidtw6kyeW9cwClbnAg C 常量 常量是固定值&#xff0c;在程序執行期間不會改變&#xff0c;可以讓我們編程更加規范。 常量可以是任何的基本數據類型&#xff0c;比如整數常量、浮點常量、字符常量&#xff0c;或字符串字…

第二階段:數據結構與函數

模塊4&#xff1a;常用數據結構 (Organizing Lots of Data) 在前面的模塊中&#xff0c;我們學習了如何使用變量來存儲單個數據&#xff0c;比如一個數字、一個名字或一個布爾值。但很多時候&#xff0c;我們需要處理一組相關的數據&#xff0c;比如班級里所有學生的名字、一本…

【C++算法】61.字符串_最長公共前綴

文章目錄 題目鏈接&#xff1a;題目描述&#xff1a;解法C 算法代碼&#xff1a;解釋 題目鏈接&#xff1a; 14. 最長公共前綴 題目描述&#xff1a; 解法 解法一&#xff1a;兩兩比較 先算前兩個字符串的最長公共前綴&#xff0c;然后拿這個最長公共前綴和后面一個來比較&…

JVM 調優不再難:AI 工具自動生成內存優化方案

在 Java 應用程序的開發與運行過程中&#xff0c;Java 虛擬機&#xff08;JVM&#xff09;的性能調優一直是一項極具挑戰性的任務&#xff0c;尤其是內存優化方面。不合適的 JVM 內存配置可能會導致應用程序出現性能瓶頸&#xff0c;甚至頻繁拋出內存溢出異常&#xff0c;影響業…

紛析云開源財務軟件:企業財務數字化轉型的靈活解決方案

紛析云是一家專注于開源財務軟件研發的公司&#xff0c;自2018年成立以來&#xff0c;始終以“開源開放”為核心理念&#xff0c;致力于通過技術創新助力企業實現財務管理的數字化與智能化轉型。其開源財務軟件憑借高擴展性、靈活部署和全面的功能模塊&#xff0c;成為眾多企業…

【數字圖像處理】數字圖像空間域增強(3)

圖像銳化 圖像細節增強 圖像輪廓&#xff1a;灰度值陡然變化的部分 空間變化&#xff1a;計算灰度變化程度 圖像微分法&#xff1a;微分計算灰度梯度突變的速率 一階微分&#xff1a;單向差值 二階微分&#xff1a;雙向插值 一階微分濾波 1&#xff1a;梯度法 梯度&#xff1…

基于Linux的ffmpeg python的關鍵幀抽取

1.FFmpeg的環境配置 首先強調&#xff0c;ffmpeg-python包與ffmpeg包不一樣。 1) 創建一個虛擬環境env conda create -n yourenv python3.x conda activate yourenv2) ffmpeg-python包的安裝 pip install ffmpeg-python3) 安裝系統級別的 FFmpeg 工具 雖然安裝了 ffmpeg-p…

C#進階學習(四)單向鏈表和雙向鏈表,循環鏈表(上)單向鏈表

目錄 前置知識&#xff1a; 一、鏈表中的結點類LinkedNode 1、申明字段節點類&#xff1a; 2、申明屬性節點類: 二、兩種方式實現單向鏈表 ①定框架&#xff1a; ②增加元素的方法&#xff1a;因為是單鏈表&#xff0c;所以增加元素一定是只能在末尾添加元素&#xff0c;…

RK3588 Buildroot 串口測試工具

RK3588 Buildroot串口測試工具(含代碼) 一、引言 1.1 目的 本文檔旨在指導開發人員能快速測試串口功能 1.2 適用范圍 本文檔適用于linux 系統串口測試。 二、開發環境準備 2.1 硬件環境 開發板:RK3588開發板,確保其串口硬件連接正常,具備電源供應、調試串口等基本硬…

HOJ PZ

https://docs.hdoi.cn/deploy 單體部署 請到~/hoj-deploy/standAlone的目錄下&#xff0c;即是與docker-compose.yml的文件同個目錄下&#xff0c;該目錄下有個叫hoj的文件夾&#xff0c;里面的文件夾介紹如下&#xff1a; hoj ├── file # 存儲了上傳的圖片、上傳的臨…

EtherCAT 的優點與缺點

EtherCAT&#xff08;以太網控制自動化技術&#xff09;是一種高性能的工業以太網協議&#xff0c;廣泛應用于實時自動化控制。以下是其核心優缺點分析&#xff1a; ?一、EtherCAT 的核心優點? 1. ?超低延遲 & 高實時性? ?原理?&#xff1a;采用"?Processing…