前端利用scss實現一鍵換膚功能

2021-10-10 12:54:35 字數 1893 閱讀 3783

variables.scss

//淺色主題

$light-theme: (

base-color: #000,

background-color: #ccc

);//深色主題

$dark-theme: (

base-color: #fff,

background-color: #000

);//定義對映集合

$themes: (

light-theme: $light-theme,

dark-theme: $dark-theme

);//獲取顏色並為當前主題色配置顏色

//字型顏色

@mixin base-color() '] &

}}//背景色

@mixin base-background() '] &

}}$font-size: 14px;

variable.scss

// 獲取背景色下的變數顏色值

@function get-color-variable($variable-name)

// 給當前主題色配置顏色變數

@mixin set-theme '] &

}}

在vue頁面中的應用

語法:

@each $var in
1.迴圈乙個list: 類名為 icon-20px 、icon-22px、icon-24px寫他們的字型大小寫法就可以如下:

$sizes:20px,22px,24px;

@each $size in $sizes

}

2.迴圈乙個map:類名為icon-primary、icon-success、icon-secondary等,但是他們的值又都是變數,寫法如下

$blue: #0d6efd !default;

$gray-600: #6c757d !default;

$green: #52c41a !default;

$primary: $blue !default;

$secondary: $gray-600 !default;

$success: $green !default;

$theme-colors:(

"primary":$primary,

"secondary":$secondary,

"success":$success

);@each $key,$val in $theme-colors

}

map-get(map

,map,

map,

key) 函式的作用是根據 $key 引數,返回 $key 在 $map 中對應的 value 值。如果 $key 不存在 $map中,將返回 null 值。此函式包括兩個引數:

$map:定義好的 map。

$key:需要遍歷的 key。

假設要獲取 facebook 鍵值對應的值 #3b5998,我們就可以使用 map-get() 函式來實現:

$social-colors: (

dribble: #ea4c89,

facebook: #3b5998,

github: #171515,

google: #db4437,

twitter: #55acee

);.btn-dribble

vue 一鍵換膚 換主題

該一鍵換膚只是定義好幾個顏色,並進行簡單的切換。在src下的assets檔案下面定義乙個css資料夾,在對應的檔案裡面定義 handle.scss和 themes.scss檔案,如下 2.在 themes.scss檔案裡面定義好需要用到的幾個樣式。如下 themes.scss 當html的data ...

expect spawn 實現遠端一鍵部署

為了 的安全,一般伺服器是不會安裝ftp的,更不會針對windows客戶端安裝類似rz等軟體。一般都是 scp,scp是有security的檔案copy,基於ssh登入。那怎麼能夠實現自動上傳和執行檔案呢。那就必須使用expect的spawn了。expect是乙個免費的程式設計工具語言,用來實現自動...

Android如何實現一鍵置頂

在很多新聞類專案中,我們向下滑動列表檢視新聞,一般都會實現下拉重新整理,上拉載入更多的功能,有時我們滑到了很底部,這時需要重新整理或上拉到頂部就很麻煩,所以需要一鍵置頂,很多專案中都有這種設計,那麼該怎麼實現呢?下面提供一種實現思路,不是很麻煩,直接上 public class gotopscrol...