国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)

這篇具有很好參考價值的文章主要介紹了Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

直接開始,高手話不多

但圖多

基本樣式:
Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)
紅色主題:
Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)

藍(lán)色主題:
Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)

看到這里,是不是有人已經(jīng)開始安耐不住了???
Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)

Action

一. 首先,引入scss依賴(node-sass, sass-loader)

npm install node-sass sass-loader --save-dev

二.項目樣式文件目錄介紹

1.此處我將項目中的公共樣式文件放到了 src/style目錄下,其中 index.scss是以供全局使用的一些基本樣式,在main.js文件中引入即可全局使用(圖2)。 _theme.scss, _handle.scss兩個文件為我們稍后進(jìn)行主題顏色配置的文件.

Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)
Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)


三.主題目錄scss文件配置

1.src/style目錄下的_themes.scss,里面可以配置不同的主題配色方案,這里我配置了三個主題顏色,分別為basic、red、blue。
_themes.scss文件內(nèi)容:

$themes: (

    basic: (
        basic_color: #3064E7,// 主題色
        logo_color: #3064E7,   // 主題色字體
        title_color: #494D50, //新增、注冊、行業(yè)標(biāo)頭字體顏色
        foot_tolor: #5E6165, // 頁腳字體顏色
        font_color1: #909399,
        font_color2: #909399,
        // 小logo圖片
        logo_image: url('@/assets/image/logo.png'), 
        // 大logo圖片
        big_logo_image: url('@/assets/image/logo_big.png'), 
        // banner圖片
        banner_image: url('@/assets/image/basic_banner.png'),
        // 首頁搜索按鈕
        search_btn: linear-gradient(187deg, #5E9DF5 0%, #3064E7 47%),
        // 注冊動態(tài)下邊框
        border_bottom_1: 1px solid #3064E7,
        // 注冊動態(tài)邊框
        card_border_1: 1px solid rgba(208,211,219,1),
        // 注冊動態(tài)卡片背景
        zhuce_card: #fff,
        // 新聞標(biāo)題聚焦顏色
        font_hover: #3064E7,

        //背景
        navbar_background: #fff,
        background_color2: #f0f2f5,
        // 新聞時事背景
        // news_background:  #fff,
        // 注冊動態(tài)背景
        zhuce_background:  #fff,
        // 行業(yè)資訊背景
        hangye_background: #fff,
        background_color3: red,
        background_color4: #2674e7,
        
        //邊框
        border_bottom: 5px solid #4554DE,
    
    ),
    
    red: (
        basic_color: #D0021B,
        logo_color: #fff,
        title_color: #494D50, //新增、注冊、行業(yè)標(biāo)頭字體顏色
        foot_tolor: #5E6165, // 頁腳字體顏色
        font_color1: #909399,
        font_color2: #fff,
        // 新聞標(biāo)題聚焦顏色
        font_hover: #D0021B,
        
         // 小logo圖片
        logo_image: url('@/assets/image/logo_white.png'),  
        // 大logo圖片
        big_logo_image: url('@/assets/theme/redTheme/logo-b.png'), 
        // banner圖片
        banner_image: url('@/assets/theme/redTheme/banner-bg.png'),
         // 首頁搜索按鈕
        search_btn: linear-gradient(187deg, #d20000  0%, #da0707de  47%),
        // 注冊動態(tài)下邊框
        border_bottom_1: 2px solid #D0021B ,
        // 注冊動態(tài)邊框
        card_border_1:  1px solid rgba(208,211,219,1),
        // 注冊動態(tài)卡片背景
        zhuce_card: #fff,

        //背景
        navbar_background: url('@/assets/theme/basicTheme/top-bg.png'),
        background_color2: #283142,
        // 新聞時事背景
        // news_background:  #fff,
        // 注冊動態(tài)背景
        zhuce_background:  #fff,
        // 行業(yè)資訊背景
        hangye_background: #fff,
        background_color3: #1e6ceb,
        background_color4: #323e4e,
    
        //邊框
        border_bottom: 5px solid #fff,
    ),

    blue: (
        basic_color: #0DECFF ,
        logo_color: #fff,
        title_color: #fff, //新增、注冊、行業(yè)標(biāo)頭字體顏色
        foot_tolor: #B2D4F5 , // 頁腳字體顏色
        font_color1: #909399,
        font_color2: #fff,
        // 新聞標(biāo)題聚焦顏色
        font_hover: #0E458C,
       
         // 小logo圖片
        logo_image: url('@/assets/image/logo_white.png'),  
        // 大logo圖片
        big_logo_image: url('@/assets/theme/redTheme/logo-b.png'), 
        // banner圖片
        banner_image: url('@/assets/theme/blueTheme/y.png'),
         // 首頁搜索按鈕
        search_btn: linear-gradient(187deg, #0076FF  0%, #0076FF  47%),
        // 注冊動態(tài)下邊框
        border_bottom_1: 2px solid #0DECFF ,
        // 注冊動態(tài)卡片背景
        zhuce_card: #034488,
        // 注冊動態(tài)邊框
        card_border_1: 2px solid rgba(8,93,185,1),

        //背景
        navbar_background: #0E458C,
        foot_background: linear-gradient(131deg, #005FBC 0%, #08215F 100%),
        // 新聞時事背景
        news_background:  url('@/assets/theme/blueTheme/科技藍(lán).png') no-repeat,
        // 注冊動態(tài)背景
        zhuce_background: #033367,
         // 行業(yè)資訊背景
        hangye_background: #033367,
        background_color2: #283142,
        background_color3: #1e6ceb,
        background_color4: #323e4e,
    
        //邊框
        border_bottom: 5px solid #fff,
    ),


);


2.src/style/下的 _handle.scss來操作上述1中的$theme變量(當(dāng)然兩個文件可以合并,分開寫是想把配置和操作解耦),上代碼:
_handle.scss文件內(nèi)容:

@import "./_theme.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-color: themed($color)!important;
    }
}
//獲取背景圖片
@mixin background($color) {
    @include themeify {
        background: themed($color)!important;
    }
}

//獲取圖片
@mixin content($color) {
    @include themeify {
        content: themed($color)!important;
    }
}

//獲取背景圖片
@mixin border_bottom($color) {
    @include themeify {
        border-bottom: themed($color)!important;
    }
}

//獲取背景圖片
@mixin border($color) {
    @include themeify {
        border: themed($color)!important;
    }
}

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

//獲取邊框顏色
@mixin border_color($color) {
    @include themeify {
        border-color: themed($color)!important;
    }
}

3.主題樣式文件都配置好了,接下來就是怎么全局引入這兩個文件及 怎么在vue頁面中使用了,此處我們先看 vue頁面中怎么使用 我們在_theme.scss中配置好的樣式:
這里以其中一個頁面為例,其他頁面同理:
Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)


4.樣式文件基本都配置完成了,最后說最重要的一點:怎么知道當(dāng)前我們需要用的樣式呢?
Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)文章來源地址http://www.zghlxwxcb.cn/news/detail-440297.html

  • 此處根據(jù)具體情況具體分析,在合適的頁面或位置寫入即可,此處我是放到了 App.vue項目入口文件中,在進(jìn)入文件后 通過window.document.documentElement.setAttribute()方法傳入你當(dāng)前想要使用的主題,此處我傳入的’blue‘(藍(lán)色主題),則vue頁面中使用的即為_theme.scss中的 blue對象下配置好的顏色或者其他屬性,
  • 為其他主題色(如’red’,‘basic’同理,前提是_theme.scss文件中有已經(jīng)配置好的這兩個主題色)

到了這里,關(guān)于Vue項目如何配置、切換主題顏色(mixin + scss方式,簡單高效)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • scss配置主題

    ?上面是theme.scss 文件 light,dark 黑白主題配置顏色。 在項目中使用案例如下: ?@include background_color(\\\'font_color\\\');? //背景顏色 ?@include border_color(\\\'font_color\\\');? //邊框顏色 切換data-theme: 黑: 白:

    2024年02月21日
    瀏覽(9)
  • ElementUI主題顏色動態(tài)切換并緩存

    今天給大家分享一下在Vue中使用ElementUI時,想切換主題顏色的兩種方式。 第一種:靜態(tài)改變項目中的主題顏色 比較簡單,稍微帶過: 項目中創(chuàng)建 element-variables.scss 文件,編寫內(nèi)容: 之后,在項目的入口文件中,直接引入以上樣式文件即可(無需引入 Element 編譯好的 CSS 文件

    2024年02月14日
    瀏覽(23)
  • uniapp切換主題顏色(后臺管理系統(tǒng))

    uniapp切換主題顏色(后臺管理系統(tǒng))

    需求:在現(xiàn)有已經(jīng)做好的后臺管理系統(tǒng)添加一個切換主題顏色的功能 分析:該項目用了很多uniapp的組件,css樣式?jīng)]有統(tǒng)一,類名也沒有統(tǒng)一 使用混合mixin.scss,并使用vuex 效果圖 功能:按鈕背景顏色、部分樣式、字體圖標(biāo)、分頁跟隨主題顏色變化也變化 每一個用戶喜歡的主題

    2024年02月10日
    瀏覽(13)
  • 前端實現(xiàn)動態(tài)切換主題色-使用 css/less 動態(tài)更換主題顏色(換膚功能)或通過單擊更改背景顏色

    提示: 以下是本篇文章正文內(nèi)容,主要描述 使用 css/less 動態(tài)更換主題色(換膚功能) 提示: 使用 css/less 動態(tài)更換主題色(換膚功能), 方法共通,不限制技術(shù)棧: 其實在日常項目開發(fā)中經(jīng)常會遇到有些用戶想要一些自定義的的主題色來滿足不同的視覺需求,這時候就需

    2024年02月15日
    瀏覽(24)
  • element如何動態(tài)切換主題(vite+vue+ts+elementPlus)

    element如何動態(tài)切換主題(vite+vue+ts+elementPlus)

    提示:動態(tài)切換主題使用的是css3的var函數(shù)現(xiàn)實 示例:切換--main-bg-color的值,使用div style=\\\"--main-bg-color:red\\\" /div 那么當(dāng)前標(biāo)簽下的所有節(jié)點使用到當(dāng)前變量的都會發(fā)生變化 ?通過瀏覽器檢查,發(fā)現(xiàn)element ui庫的變量 提示: 眾所周知css是從上往下執(zhí)行,如果我們可以在hand標(biāo)簽里最后一

    2023年04月08日
    瀏覽(22)
  • 前端項目review之修改element-ui全局主題顏色配置element-theme-chalk和gulp

    前端項目review之修改element-ui全局主題顏色配置element-theme-chalk和gulp

    每個公司的主題風(fēng)格肯定是不一樣的,比如現(xiàn)在的公司主題就是#00ab7a。在PC端TO-B的項目中少不了用 element-ui ,這個時候用 element-theme-chalk 直接本地編譯修改了element全局的主題色。 執(zhí)行 當(dāng)只有一個主題不需要切換的時候,使用 element-theme-chalk 就足夠了,但是當(dāng)主題很多的時候

    2023年04月09日
    瀏覽(31)
  • scss中@mixin和@include

    在 Sass 中,@include指令用于在您的樣式中包含一個 mixin。mixin 是可重用的樣式塊,您可以將其包含在樣式表的多個位置。 以下是如何使用該@include指令的示例: 在此示例中,rounded-cornersmixin 是使用border-radius屬性定義的。該@include指令用于將 mixin 包含在.button和.card類中。這將生

    2024年02月11日
    瀏覽(14)
  • 【vue】聊一聊Element UI的自定義主題顏色

    【vue】聊一聊Element UI的自定義主題顏色

    Element UI組件庫相信大家一定都接觸過。但是自定義主題顏色的需求有接觸過的應(yīng)該不多,至少我到今天是沒有遇到類似的需求。之所以講這個需求,是因為在我個人開發(fā)的開源項目中有做到這個需求,所以在這里和大家聊一聊我的實現(xiàn)。 在此之前我們需要先了解一下 CSS變量

    2024年02月11日
    瀏覽(37)
  • vue2自定義切換主題 dark暗黑主題(暗黑模式)

    vue2自定義切換主題 dark暗黑主題(暗黑模式)

    業(yè)務(wù)要求要做一個主題色切換,類似于暗黑模式,以前沒有做過于是在網(wǎng)絡(luò)上搜羅現(xiàn)成的解決方案,由于是vue2的項目,找了很久都沒有找到一個好的方便的解決方案,最后在github找到一個使用css3的解決方案,覺得十分不錯,也很簡單明了,于是就拿來直接用了,參考的gith

    2024年02月15日
    瀏覽(23)
  • vue項目中使用scss

    vue項目中使用scss

    sass-loader:把 sass編譯成css sass-loader:nodejs環(huán)境中將sass轉(zhuǎn)css 提示:限制 node-sass,sass-loader 版本號,防止默認(rèn)安裝的版本號過高 版本對應(yīng)關(guān)系: 提示:在 build 文件夾目錄下 webpack.base.conf.js 文件中,找到 rules 添加以下代碼 提示:在組件中style標(biāo)簽上添加屬性 lang=\\\"scss\\\",保存運

    2024年02月17日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包