最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue+scss白天和夜間模式切換功能的實現(xiàn)方法

 更新時間:2021年01月05日 08:37:58   作者:天小天  
這篇文章主要介紹了Vue+scss白天和夜間模式切換功能的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文主要介紹了Vue+scss白天和夜間模式切換功能的實現(xiàn)方法,分享給大家,具體如下:

效果圖

 

圖片被壓縮了不夠清晰。

安裝Scss

注:若安裝失敗可以考慮使用cnpm,或者切換npm源等方式安裝。

npm install node-sass --save-dev  //安裝node-sass
npm install sass-loader --save-dev //安裝sass-loader
npm install style-loader --save-dev //安裝style-loader

新建頁面DarkModelPage.vue

文件所在位置:src/DarkModelPage.vue

命名路由路徑:/dark-model-page

<template>
  <div id="DarkModelPage">
    
  </div>
</template>

<script>
export default {
  
}
</script>

<style scoped lang="scss">

</style>

在src/assets新建目錄scss

在src/assets/scss新建目錄common

然后需要新建三個scss文件分別是

  • _themes.scss
  • _handle.scss
  • common.scss

_themes.scss

$themes: (
 light: (
  background_color: #cccccc,//背景色
  text-color: rgba(0, 0, 0, 0.65), // 主文本色
 ),
 dark: (
  background_color: #181c27,//背景
  text-color: rgba(255, 255, 255, 0.65), // 主文本色
 )
);

_handle.scss

@import "./_themes.scss";

//遍歷主題map
@mixin themeify {
 @each $theme-name, $theme-map in $themes {
  //!global 把局部變量強(qiáng)升為全局變量
  $theme-map: $theme-map !global;
  //判斷html的data-theme的屬性值 #{}是sass的插值表達(dá)式
  //& sass嵌套里的父容器標(biāo)識  @content是混合器插槽,像vue的slot
  [data-theme="#{$theme-name}"] & {
   @content;
  }
 }
}

//聲明一個根據(jù)Key獲取顏色的function
@function themed($key) {
 @return map-get($theme-map, $key);
}

//獲取背景顏色
@mixin background_color($color) {
 @include themeify {
  background: themed($color)!important;
 }
}
//獲取字體顏色
@mixin font_color($color) {
 @include themeify {
  color: themed($color)!important;
 }
}

common.scss

@import "@/assets/scss/common/_handle.scss";
/**
自定義的公共樣式...
**/

DarkModelPage.vue中使用

<template>
  <div id="DarkModelPage">
    <div>
      <h1 class="title">天小天個人網(wǎng)</h1>
      <a class="btn" @click="modelBrn">模式切換</a>
    </div>
  </div>
</template>

<script>
export default {
  name: "DarkModelPage",
  data(){
    return {
     dark:false,
    }
  },
  methods:{
    modelBrn(){
      this.dark = !this.dark;
      if(this.dark){
        window.document.documentElement.setAttribute( "data-theme", 'dark' );
      }else{
         window.document.documentElement.setAttribute( "data-theme", 'light' );
      }
    },
  },
  mounted() {
    window.document.documentElement.setAttribute( "data-theme", 'light' );
  },
}
</script>

<style scoped lang="scss">
@import '@/assets/scss/common/common';

#DarkModelPage{
  //在此使用了背景顏色變量
  @include background_color("background_color");
  //再次使用了文字顏色變量
  @include font_color("text-color");

  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content:center;
  align-items: center;
  transition: background 1s , color 0.6s;
  .title{
    margin-bottom: 20px;
  }
  .btn{
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 40px;
    margin: 0 auto;
  }
}
</style>

注:如需更多顏色及樣式切換,只需要在_themes.scss設(shè)置好變量,通過 _handle.scss設(shè)置切換函數(shù),即可以在頁面中通過該函數(shù)對指定樣式進(jìn)行設(shè)置。

本文演示視頻: 點擊瀏覽

到此這篇關(guān)于Vue+scss白天和夜間模式切換功能的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)Vue 白天和夜間模式切換 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3+element-plus+vite實現(xiàn)動態(tài)路由菜單方式

    vue3+element-plus+vite實現(xiàn)動態(tài)路由菜單方式

    文章詳細(xì)介紹了如何使用Vite搭建一個Vue 3 TypeScript項目,并配置了路由、狀態(tài)管理、插件和環(huán)境,項目結(jié)構(gòu)包括路由持久化、白名單、動態(tài)路由和權(quán)限控制,此外,還模擬了一個后端返回的路由數(shù)據(jù)文件
    2025-01-01
  • vue實現(xiàn)宮格輪轉(zhuǎn)抽獎

    vue實現(xiàn)宮格輪轉(zhuǎn)抽獎

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)宮格輪轉(zhuǎn)抽獎,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • vue中wangEditor5編輯器的基本使用

    vue中wangEditor5編輯器的基本使用

    wangEditor是一個輕量級web富文本編輯器,配置方便,使用簡單,下面這篇文章主要給大家介紹了關(guān)于vue中wangEditor5編輯器的基本使用,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • elementUI table如何給表頭添加氣泡顯示

    elementUI table如何給表頭添加氣泡顯示

    這篇文章主要介紹了elementUI table如何給表頭添加氣泡顯示問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue中computed下使用箭頭函數(shù)會報錯問題及解決

    vue中computed下使用箭頭函數(shù)會報錯問題及解決

    這篇文章主要介紹了vue中computed下使用箭頭函數(shù)會報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • element用腳本自動化構(gòu)建新組件的實現(xiàn)示例

    element用腳本自動化構(gòu)建新組件的實現(xiàn)示例

    本文主要介紹了element-ui的用腳本自動化構(gòu)建新組件的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Vue2 中使用圖片查看器 v-viewer的方法

    Vue2 中使用圖片查看器 v-viewer的方法

    文章介紹了v-viewer插件,它是一個用于Vue的圖像查看器組件,基于viewer.js插件,可以通過npm安裝,支持指令形式和Vue組件形式的用法,并提供了豐富的配置選項和事件監(jiān)聽,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Vue實現(xiàn)生成二維碼的簡單方式

    Vue實現(xiàn)生成二維碼的簡單方式

    與后端生成二維碼相比,前端生成二維碼更具有靈活性,下面這篇文章主要給大家介紹了關(guān)于Vue實現(xiàn)生成二維碼的簡單方式,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 在vue3中使用el-tree-select實現(xiàn)樹形下拉選擇器效果

    在vue3中使用el-tree-select實現(xiàn)樹形下拉選擇器效果

    el-tree-select是一個含有下拉菜單的樹形選擇器,結(jié)合了?el-tree?和?el-select?兩個組件的功能,這篇文章主要介紹了在vue3中使用el-tree-select做一個樹形下拉選擇器,需要的朋友可以參考下
    2024-03-03
  • Vue3+echarts5踩坑以及resize方法報錯的解決

    Vue3+echarts5踩坑以及resize方法報錯的解決

    這篇文章主要介紹了Vue3+echarts5踩坑以及resize方法報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論

涟源市| 津南区| 扶余县| 利川市| 竹北市| 柯坪县| 东宁县| 濉溪县| 大石桥市| 榆树市| 方山县| 磐石市| 宝鸡市| 旺苍县| 揭东县| 丹凤县| 兴安盟| 仲巴县| 谢通门县| 监利县| 安吉县| 阜康市| 卢氏县| 高要市| 西乌珠穆沁旗| 剑川县| 潮州市| 苗栗县| 甘南县| 利辛县| 方城县| 平远县| 民和| 泉州市| 乌兰浩特市| 奇台县| 大同市| 九江县| 昆明市| 万山特区| 叙永县|