亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue3快速實現(xiàn)主題切換功能的步驟詳解

 更新時間:2024年06月04日 10:57:09   作者:蒾酒  
本文介紹一種基于css變量的主題切換實現(xiàn)方式,這種是最簡單,最直接,最容易理解的方式,實現(xiàn)的原理就是定義不同的HTML根標簽元素的樣式,通過data屬性來區(qū)分不同主題css變量樣式,感興趣的朋友可以參考下

內容概要

本文介紹一種基于css變量的主題切換實現(xiàn)方式,這種是最簡單,最直接,最容易理解的方式。

實現(xiàn)的原理就是定義不同的HTML根標簽元素的樣式,通過data屬性來區(qū)分不同主題css變量樣式,通過修改根元素的data屬性值來加載不同的css變量,實現(xiàn)主題切換。

實現(xiàn)步驟

1.定義不同主題的css樣式變量

一般把該css文件放在styles目錄下的theme.css里面

代碼如下:

/* 淺色色主題 */
html[data-theme="light"]{
	--page-bg: #ecf4fd;
	--bg1: #ffffff;
	--bg2: #ffffff;
	--txt-color: #000000;
	--prominent-txt-color :#ffffff;
	--prominent-color :#000000;
}
/* 暗色主題 */
html[data-theme="dark"]{
	--page-bg: #06142a;/*頁面級背景色*/
	--bg1: #06142a;/*菜單導航欄級背景色*/
	--bg2: #06142a;/*按鈕控件等小組件背景色*/
	--txt-color: #ffffff;
	--prominent-txt-color :#000000;
	--prominent-color :#ffffff;
}

2.入口main.ts中引入這個樣式文件

3.主題樣式css變量引用

在頁面各種根據(jù)主題變化的地方,如頁面背景色,導航欄背景色,文字顏色等引用這些css變量

比如:

通過var()來引用css變量 

此時全部的前置工作已經(jīng)完成。

4.設置默認主題樣式 

在index.html設置默認樣式。如圖設置的是深色主題

代碼如下: 

<!DOCTYPE html>
<html lang="en" data-theme="dark">
  <head>
    <meta charset="UTF-8">
    <link rel="icon" href="/favicon.ico" rel="external nofollow" >
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的工具箱</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

此時你的頁面就變成深色主題了。

5.實現(xiàn)點擊按鈕主題切換

準備一個主題切換按鈕

js部分代碼:

//當前主題
const theme=ref('dark')
//切換主題
const toggleTheme=()=>{
//獲取根元素并設置屬性
document.documentElement.setAttribute('data-theme',theme.value=='dark'?'light':'dark')
theme.value=theme.value=='dark'?'light':'dark'
}

html部分:

 <div class="theme" @click="toggleTheme()">
            <div class="theme-img">
                <a href="#" rel="external nofollow" >
                   
                    <div v-if="theme==='light'">
                        <img src="../../assets/月亮 .png" alt="">
                    </div>
                    <div v-if="theme==='dark'">
                      
                        <img src="../../assets/太陽.png" alt="">
                    </div>
                    
                </a>
            </div>
        </div>

效果:

點擊切換即可。

總結

這種實現(xiàn)主題切換的原理就是通過 HTML 的 data 屬性和 CSS 變量來動態(tài)改變頁面的樣式,從而實現(xiàn)不同主題下的樣式切換。當用戶切換主題時,只需改變 HTML 標簽上的 data 屬性的值,頁面的樣式會自動更新為對應主題下的樣式。 

以上就是vue3快速實現(xiàn)主題切換功能的步驟詳解的詳細內容,更多關于vue3主題切換的資料請關注腳本之家其它相關文章!

相關文章

  • Vue項目如何引入bootstrap、elementUI、echarts

    Vue項目如何引入bootstrap、elementUI、echarts

    這篇文章主要介紹了Vue項目如何引入bootstrap、elementUI、echarts,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Vue2異步更新及nextTick原理詳解

    Vue2異步更新及nextTick原理詳解

    Vue2的異步更新機制是基于JavaScript的事件循環(huán)機制實現(xiàn)的。nextTick方法則是在DOM更新后執(zhí)行回調函數(shù)。本文詳細介紹了Vue2的異步更新機制和nextTick原理,對于理解Vue2的渲染機制和優(yōu)化性能有很大的幫助。
    2023-04-04
  • 如何在vite初始化項目中安裝scss以及scss的使用

    如何在vite初始化項目中安裝scss以及scss的使用

    今天想要給vite項目,添加全局的scss變量文件引用,這樣我們在使用scss變量和函數(shù)的時候就不需要每個組件都取引用了,下面這篇文章主要給大家介紹了關于如何在vite初始化項目中安裝scss以及scss使用的相關資料,需要的朋友可以參考下
    2022-10-10
  • 詳解使用vue-router進行頁面切換時滾動條位置與滾動監(jiān)聽事件

    詳解使用vue-router進行頁面切換時滾動條位置與滾動監(jiān)聽事件

    本篇文章主要介紹了詳解使用vue-router進行頁面切換時滾動條位置與滾動監(jiān)聽事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • vue addRoutes路由動態(tài)加載操作

    vue addRoutes路由動態(tài)加載操作

    這篇文章主要介紹了vue addRoutes路由動態(tài)加載操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 基于vue-router的matched實現(xiàn)面包屑功能

    基于vue-router的matched實現(xiàn)面包屑功能

    本文主要介紹了基于vue-router的matched實現(xiàn)面包屑功能,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • VUE引入騰訊地圖并實現(xiàn)軌跡動畫的詳細步驟

    VUE引入騰訊地圖并實現(xiàn)軌跡動畫的詳細步驟

    這篇文章主要介紹了VUE引入騰訊地圖并實現(xiàn)軌跡動畫,引入步驟大概是在 html 中通過引入 script 標簽加載API服務,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • 手把手教你如何創(chuàng)建一個VUE項目(超簡單)

    手把手教你如何創(chuàng)建一個VUE項目(超簡單)

    這篇文章主要給大家介紹了關于如何創(chuàng)建一個VUE項目的相關資料,創(chuàng)建vue項目有很多種方式,這里給大家介紹一種非常簡單的方法,需要的朋友可以參考下
    2023-08-08
  • Vue+webpack實現(xiàn)懶加載過程解析

    Vue+webpack實現(xiàn)懶加載過程解析

    這篇文章主要介紹了Vue+webpack實現(xiàn)懶加載過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Vue + element 實現(xiàn)多選框組并保存已選id集合的示例代碼

    Vue + element 實現(xiàn)多選框組并保存已選id集合的示例代碼

    這篇文章主要介紹了Vue + element 實現(xiàn)多選框組并保存已選id集合,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論