vue項目引入tailwindcss

vue3項目引入tailwindcss

vue3 vite tailwindcss@3 版本

初始化項目

npm create vite@latest  --template vue
cd vue
npm install
npm run dev

安裝tailwindcss@3 和 postcss 引入

npm install -D tailwindcss@3  postcss autoprefixer 
// 初始化引用
npx tailwindcss init -p

以上配置后,會在根目錄生成 postcss.config.js tailwind.config.js,src目錄下創建index.css tailwind.css

postcss.config.js配置如下

export default {plugins: {tailwindcss: {},autoprefixer: {},},
}

tailwind.config.js配置如下

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

tailwind.css配置如下

styles文件夾之下

/* src/index.css */
@tailwind base;
@tailwind components;
@tailwind utilities;

index.css配置如下

styles文件夾之下的index.css

@import url('tailwind.css');

main.ts引入 index.css

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
// 注意此處
import "./index.css"createApp(App).mount('#app')

自定義配置

tailwind.config.js配置如下

/** @type {import('tailwindcss').Config} */
module.exports = {content: ["./index.html","./src/**/*.{vue,js,ts,jsx,tsx}",],theme: {extend: {// 自定義寬度類width: {...Array.from({ length: 300 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})},// 自定義高度類height: {...Array.from({ length: 300 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})},// 自定義 padding 類padding: {...Array.from({ length: 150 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})},// 自定義 margin 類margin: {...Array.from({ length: 100 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})},// 自定義 font-size 類fontSize: {...Array.from({ length: 50 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})}},},plugins: [],
};

以上配置 我們將fontSize margin 等改為了固定寬度,此時安裝 postcss-px-to-viewport可以進行適配

npm install postcss-px-to-viewport

postcss.config.js配置如下

export default {plugins: {tailwindcss: {},autoprefixer: {},"postcss-px-to-viewport": {unitToConvert: "px", // 要轉化的單位viewportWidth: 750, // UI設計稿的寬度unitPrecision: 6, // 轉換后的精度,即小數點位數propList: ["*"], // 指定轉換的css屬性的單位,*代表全部css屬性的單位都進行轉換viewportUnit: "vw", // 指定需要轉換成的視窗單位,默認vwfontViewportUnit: "vw", // 指定字體需要轉換成的視窗單位,默認vwselectorBlackList: [], // 指定不轉換為視窗單位的類名,minPixelValue: 1, // 默認值1,小于或等于1px則不進行轉換mediaQuery: true, // 是否在媒體查詢的css代碼中也進行轉換,默認false// replace: true, // 是否轉換后直接更換屬性值exclude: [/node_modules/], // 設置忽略文件,用正則做目錄名匹配landscape: false // 是否處理橫屏情況}},
}

vue3 vite tailwindcss@4 版本

初始化項目

npm create vite@latest  --template vue
cd vue
npm install
npm run dev

tailwindcss 4版本采用插件安裝

npm install tailwindcss @tailwindcss/vite

vite.config.js配置如下

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import tailwindcss from "@tailwindcss/vite";// https://vite.dev/config/
export default defineConfig({plugins: [vue(), tailwindcss()],
});

一般在src文件夾下有一個styles文件夾,在其中的index.css中進行如下配置

@import "tailwindcss";

在main.js中或main.ts文件中引入上一個文件

import "./styles/index.css";

在app.vue文件中測試

<span class="flex text-red-400">tailwindcss4</span>

截至到這里已經可以在項目中使用tailwindcss


自定義樣式(非必須)

styles 下 index.css

@import "tailwindcss";@config "../tailwind.config.js";

src根目錄下 添加 tailwind.config.js 文件并配置以下內容

/** @type {import('tailwindcss').Config} */
module.exports = {content: ["./index.html","./src/**/*.{vue,js,ts,jsx,tsx}",],theme: {extend: {// 自定義寬度類width: {...Array.from({ length: 300 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})},// 自定義高度類height: {...Array.from({ length: 300 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})},// 自定義 padding 類padding: {...Array.from({ length: 150 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})},// 自定義 margin 類margin: {...Array.from({ length: 100 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})},// 自定義 font-size 類fontSize: {...Array.from({ length: 50 }, (_, i) => i + 1).reduce((acc, num) => {acc[num] = `${num}px`;return acc;}, {})}},},plugins: [],
};

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

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

相關文章

Google ADK(Agent Development Kit)簡要示例說明

一、環境準備與依賴安裝 1.1 系統 硬件&#xff1a; GPU NVIDIA 3070加速模型推理&#xff0c;內存64GB軟件&#xff1a; Python 3.11Docker 28.04&#xff08;用于容器化部署&#xff09;Kubernetes 1.25&#xff08;可選&#xff0c;用于集群管理&#xff09; 1.2 安裝 A…

批量給文件編排序號,支持數字序號及時間日期序號編排文件

當我們需要對文件進行編號的時候&#xff0c;我們可以通過這個工具來幫我們完成&#xff0c;它可以支持從 001 到 100 甚至更多的數字序號編號。也可以支持按照日期、時間等方式對文件進行編號操作。這是一種操作簡單&#xff0c;處理起來也非常的高效文件編排序號的方法。 工作…

【系統架構】AI時代下,系統架構師如何修煉

在AI時代,系統架構師的角色正經歷深刻變革,需在技術深度、工具應用與思維模式上全面升級。以下結合行業趨勢與實踐建議,總結系統架構師的修煉路徑: 一、掌握AI工具,重構工作流 自動化文檔與設計 利用生成式AI(如DeepSeek、ChatGPT)完成70%的需求文檔、接口設計及架構圖生…

圖像顏色空間對比(Opencv)

1. 顏色轉換 import cv2 import matplotlib.pyplot as plotimg cv2.imread("tmp.jpg") img_r cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_g cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_h cv2.cvtColor(img, cv2.COLOR_BGR2HSV) img_l cv2.cvtColor(img, cv2.C…

JDBC驅動autosave缺陷的修復與配置指南

opengauss-jdbc-6.0.0.jar和opengauss-jdbc-6.0.0-og.jar版本修復了&#xff1a;autosavealways時&#xff0c;事務嵌套太深&#xff0c;導致棧溢出問題。如果使用的版本低于opengauss-jdbc-6.0.0版本&#xff0c;需要通過替換jdbc驅動和修改url參數來解決autosave缺陷。以下是…

K8S-證書過期更新

K8S證書過期問題 K8S證書過期處理方法 Unable to connect to the server: x509: certificate has expired or is not yet valid 1、查看證書有效期&#xff1a; # kubeadm certs check-expiration2、備份證書 # cp -rp /etc/kubernetes /etc/kubernetes.bak3、直接重建證書 …

2025 年網絡安全終極指南

我們生活在一個科技已成為日常生活不可分割的一部分的時代。對數字世界的依賴性日益增強的也帶來了更大的網絡風險。 網絡安全并不是IT專家的專屬特權&#xff0c;而是所有用戶的共同責任。通過簡單的行動&#xff0c;我們可以保護我們的數據、隱私和財務&#xff0c;降低成為…

Python的那些事第四十九篇:基于Python的智能客服系統設計與實現

基于Python的智能客服系統設計與實現 摘要 隨著人工智能技術的飛速發展,智能客服系統逐漸成為企業提升客戶服務質量和效率的關鍵工具。本文詳細介紹了基于Python的智能客服系統的設計與實現方案,涵蓋了系統架構、核心功能、技術選型及優化建議,旨在為企業構建高效、智能的客…

第Y1周:調用YOLOv5官方權重進行檢測

&#x1f368; 本文為&#x1f517;365天深度學習訓練營 中的學習記錄博客&#x1f356; 原作者&#xff1a;K同學啊 文章目錄 1、前言2、下載源碼3、運行代碼 1、前言 YOLOv5分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四個版本&#xff0c;這里以YOLOv5s為例。 2、下載源碼 安…

Python小程序 - 文件處理3:正則表達式

正則表達式&#xff1a;文本年鑒表。遺留的問題很多。。。用AI再想想 需求&#xff1a;讀入txt文件&#xff0c;過濾文件有關年記錄 0&#xff09;讀入txt文件 1&#xff09;以“。”&#xff0c;中文句號&#xff0c;為界區分一句&#xff0c;最小統計單位 2&#xff09;年格…

【antd + vue】Tree 樹形控件:默認展開所有樹節點 、點擊文字可以“選中/取消選中”節點

一、defaultExpandAll 默認展開所有樹節點 1、需求&#xff1a;默認展開所有樹節點 2、問題&#xff1a; v-if"data.length"判斷的層級不夠&#xff0c;只判斷到了物理那一層&#xff0c;所以只展開到那一層。 3、原因分析&#xff1a; 默認展開所有樹節點, 如果是…

Notepad++安裝Markdown實時預覽插件

具體操作 打開notepad -> 插件 -> 插件管理 -> 可用 -> “Markdown Panel” -> 安裝&#xff0c;安裝完成后工具欄點擊"Markdown Panel"按鈕。 注意&#xff1a;由于網絡等原因可能安裝失敗 導致工具欄沒出現""Markdown Panel"按鈕&am…

OpenHarmony如何編譯安裝系統應用(以settings設置為例)

開發環境 1.OpenHarmony 2.DevEco Studio 3 .Full Sdk 實現步驟 1.獲取設置應用源碼 https://gitee.com/openharmony/applications_settings/tree/OpenHarmony-v5.0.0-Release/ 2,使用 DevEco Studio 和 Full SDK對系統應用進行簽名,默認工程是未配置簽名的狀態,所構建…

【ESP32-microros(vscode-Platformio)】

一、步驟 1、目前支持ESP32 2、同一個局域網 3、上位機要安裝代理&#xff08;電腦或者linux設備&#xff09; 4、可直接通過USB下載&#xff0c;也可以使用官方燒錄工具&#xff0c;具體的分區表地址要從USB燒錄的時候日志查看&#xff0c;一共四個文件&#xff0c;第三個…

.NET MAUI教程2-利用.NET CommunityToolkit.Maui框架彈Toast

在上一篇博文的基礎上繼續操作&#xff1a; .NET MAUI教程1-入門并發布apk包安裝到真機-CSDN博客 本文內容參考&#xff1a; Toast - .NET MAUI Community Toolkit - Community Toolkits for .NET | Microsoft Learn 1 在NuGet包管理器中安裝 MAUI Community Toolkit&…

軟件工程(應試版)圖形工具總結(二)

遇到的問題,都有解決方案,希望我的博客能為你提供一點幫助。 教材參考《軟件工程導論(第六版)》 七、 層次圖(H圖)與HIPO圖 1、概述 1.1、層次圖(Hierarchy Chart / H圖) ?核心定義 ?目的:描述軟件系統的層次結構,體現模塊的從屬關系。?適用階段:自頂向下設計…

java基礎 流(Stream)

Stream Stream 的核心概念核心特點 Stream 的操作分類中間操作&#xff08;Intermediate Operations&#xff09;終止操作&#xff08;Terminal Operations&#xff09; Stream 的流分類順序流&#xff08;Sequential Stream&#xff09;并行流&#xff08;Parallel Stream&…

EAL4+ vs EAL7:高安全場景下的等級選擇策略

在數字化浪潮席卷全球的當下&#xff0c;信息安全已然成為各行各業穩健發展的基石。特別是在高安全需求場景中&#xff0c;選擇契合的安全等級成為保障信息資產安全的關鍵。EAL&#xff08;Evaluation Assurance Level&#xff09;評估保障級作為衡量信息技術產品安全保障能力的…

【Java集合】TreeSet、TreeMap源碼解讀

參考筆記&#xff1a;java TreeSet 和 TreeMap 源碼解讀-CSDN博客 目錄 1.前言 2.紅黑樹 2.1 紅黑樹的五大性質 2.2 節點顏色的初始設置 2.3 插入新節后的調整 2.4 刪除結構后的調整 2.5 排序規則 2.6 設計紅黑樹的原因 3.TreeSet簡介、底層實現 3.1 TreeSet簡介 3.…

【C++初學】C++核心編程技術詳解(二):類與繼承

函數提高 3.1 函數默認參數 函數的形參可以有默認值&#xff0c;調用時可以省略這些參數。 示例代碼&#xff1a; int func(int a, int b 10, int c 10) {return a b c; }int main() {cout << "ret " << func(20, 20) << endl;cout <<…