Vuetify 是一個基於 Vue.js 的開源 UI 框架,它提供了一系列的預製組件和樣式,讓開發者能夠快速地建立美觀、功能豐富的網頁應用程式。Vuetify 的設計目標是簡化前端開發流程,同時提供一致性的外觀和使用者體驗。
近一年來,Vuetify 的下載量也是表現得不錯
於是我使用了 Vuetify3,並且搭配 TailwindCSS 來做這次的專案
但卻遇到了一個問題...
Vuetify 與 TailwindCSS 的樣式互相衝突了!!!😱
在設定 mb-1 時,會出現兩個 mb-1
Vuetify 的類別會被加上 !important
,導致 TailwindCSS 都會被蓋掉了
搜尋了一下解法,TailwindCSS 有支援前綴的方式,如發生命名衝突時,這會是一個好方法,直接在設定檔加上 prefix
tailwind.config.js
1 | module.exports = { |
這麼一來,所有的樣式前面都會被加上 tw-
1 | .tw-text-left { |
在加類名時就會變成
1 | <div class="tw-text-lg md:tw-text-xl tw-bg-red-500 hover:tw-bg-blue-500"> |
但這有個缺點,TailwindCSS 的類名本來就很長了,每個類名再加上 tw- 後,變得又臭又長,不是很美觀 😥
所以我決定還是從 Vuetify 下手!!
好在爬了幾篇文章後解決了我的問題
只要三個步驟
- Vuetify 基本設定
- 安裝 vite-plugin-vuetify,設定 settings.scss 路徑
- 設定 vuetify utility
Vuetify 基本設定
首先先在進入點加入 Vuetify ,因為我專案需要有一些 icon,所以有加入一些 icon 的檔案,也有針對專案去做一些顏色、breakpoint 的客製設定,這些都可視專案情況加入
main.js
1 | import { createApp } from "vue"; |
安裝 vite-plugin-vuetify,設定 settings.scss 路徑
接著要先安裝 vite-plugin-vuetify,並設定 styles 設定檔的路徑
vite.config.js
1 | import { defineConfig } from "vite"; |
設定 vuetify utility
新增一個 settings.scss 檔案並設定 vuetify utility,我們可以針對不需要使用的 utility 來做關閉,在這邊我關閉了 vuetify 對 margin 和 padding 的相關類別
除此之外也可以調整變數的預設值 🥳
src/assets/scss/settings.scss
1 | @use 'vuetify/settings' with ( |
完全解決了我的問題 🥳🥳🥳
這麼一來就不會有類別覆蓋的問題,也可以結合兩邊的好用之處
大功告成囉!!
Reference
How to replace Vuetify utility classes with TailwindCSS
🚀實體工作坊分享
玩轉 Web頁面的前端技術(HTML/CSS/JS) 一日體驗課
最近時賦學苑開了實體體驗課,即使你對程式碼沒有概念也能上手!Lala 會帶你一起做出一個個人品牌形象網站,帶你快速了解前端的開發流程,快跟我們一起玩轉 Web 吧!🚀線上課程分享
線上課程可以加速學習的時間,省去了不少看文件的時間XD,以下是我推薦的一些課程想學習更多關於前後端的線上課程,可以參考看看。
Hahow
Hahow 有各式各樣類型的課程,而且是無限次數觀看,對學生或上班族而言,不用擔心被時間綁住六角學院
如果你是初學者,非常推薦六角學院哦!剛開始轉職也是上了六角的課,非常的淺顯易懂,最重要的是,隨時還有線上的助教幫你解決問題!
Udemy
Udemy 裡的課程非常的多,品質普遍不錯,且價格都滿實惠的,CP值很高!也是很多工程師推薦的線上課程網站。