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

【VUE】ArcoDesign之自定義主題樣式和命名空間

這篇具有很好參考價(jià)值的文章主要介紹了【VUE】ArcoDesign之自定義主題樣式和命名空間。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

Arco Design是什么?

Arco Design 是由字節(jié)跳動(dòng)推出的企業(yè)級(jí)產(chǎn)品的完整設(shè)計(jì)和開發(fā)解決方案前端組件庫

  • 官網(wǎng)地址:https://arco.design/
  • 同時(shí)也提供了一套開箱即用的中后臺(tái)前端解決方案:Arco Design Pro(https://pro.arco.design/)

Arco Design樣式基于less技術(shù)棧,但也同ElementPlus默認(rèn)主題,CSS 命名采用 BEM風(fēng)格,方便使用者覆蓋樣式。
Arco Design 提供的默認(rèn)命名空間為是空的。 在特殊情況下,我們需要自定義命名空間。

官方文檔:

  • 【ArcoDesign | 自定義主題】

以下演示按照按需導(dǎo)入模式下進(jìn)行

1、環(huán)境

  • vue: ^3.3.4
  • vite:^4.4.11
  • @arco-design/web-vue: ^2.52.1
  • @arco-plugins/vite-vue:^1.4.5

2、目錄結(jié)構(gòu)

|- public
|- src
   # ...
   |- styles # 新增目錄包含以下文件
      |- arco
         |- index.less # 用于后續(xù)對(duì)Arco Design的專門樣式配置入口
      |- base.less # 用于項(xiàng)目全局的擴(kuò)展
   # ...
|- vite.config.ts # or vite.config.js

3、Less自定義主題配置

3.1、安裝相關(guān)依賴

npm install -D less
# or
yarn add -D less
# or
pnpm add -D less

3.2、arco/index.less配置

  • 組件庫 less 樣式文件可以引入 @arco-design/web-vue/dist/arco.less 或者 @arco-design/web-vue/es/index.less
  • 如果使用了按需加載的方式引入組件,請(qǐng)確保在按需加載插件中開啟了 less 樣式文件的導(dǎo)入。
/**
 * @file: src/styles/arco/index.less
 * 
 * 組件庫的全局 Token,可以在此查看組件庫內(nèi)置的設(shè)計(jì)變量以及默認(rèn)
 * @link https://arco.design/vue/docs/token
 */
 
/* 設(shè)置主色調(diào) */
@arcoblue-6: #165dff;

/* 引入arco less庫 */
@import "@arco-design/web-vue/es/index.less";

3.3、base.less配置

/**
 * 引入arco less樣式
 */
@import (reference) "./arco/index.less";

3.4、vite.config.[ts|js]配置

以下方案二選一即可

3.4.1、方案一

該方案需要@arco-plugins/vite-vue依賴
由Arco 官方提供的 Vite 插件進(jìn)行按需加載和組件庫樣式配置,@arco-plugins/vite-vue 插件會(huì)自動(dòng)加載組件樣式
@link 《按需加載與組件庫主題(Arco 插件)》

依賴

npm install -D @arco-plugins/vite-vue
# or
yarn add -D @arco-plugins/vite-vue
# or
pnpm add -D @arco-plugins/vite-vue

配置

// ...
import path from 'node:path';
import {vitePluginForArco} from '@arco-plugins/vite-vue'
// ...

export default ()=>{
    const viteConfig:UserConfig = {
        // ...
        plugins: [
            // ...
            vitePluginForArco({})
        ],
        // ...
        css: {
            preprocessorOptions: {
                less: {
	                modifyVars: {
	                    // 引入`base.less`
	                    hack: `true; @import (reference) "${path.resolve('./src/styles/base.less')}";`
	                },
	                javascriptEnabled: true,
	            }
            },
        },
        // ...
    };

    return defineConfig(viteConfig);
}

3.4.2、方案二

該方案需要unplugin-auto-import、unplugin-vue-components依賴

注意:

這種方法并不會(huì)處理用戶在 script 中手動(dòng)導(dǎo)入的組件,比如 Message 組件,用戶仍需要手動(dòng)導(dǎo)入組件對(duì)應(yīng)的樣式文件,例如 @arco-design/web-vue/es/message/style/css.js。

依賴

npm install -D unplugin-auto-import unplugin-vue-components
# or
yarn add -D unplugin-auto-import unplugin-vue-components
# or
pnpm add -D unplugin-auto-import unplugin-vue-components

配置

// ...
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite';
import { ArcoResolver } from 'unplugin-vue-components/resolvers';
// ...

export default ()=>{
    const viteConfig:UserConfig = {
        // ...
        plugins: [
            // ...
            AutoImport({
		      resolvers: [ArcoResolver()],
		    }),
		    Components({
		      resolvers: [
		        ArcoResolver({
		          sideEffect: true
		        })
		      ]
		    })
        ],
        // ...
        css: {
            preprocessorOptions: {
                less: {
	                modifyVars: {
	                    // 引入`base.less`
	                    hack: `true; @import (reference) "${path.resolve('./src/styles/base.less')}";`
	                },
	                javascriptEnabled: true,
	            }
            },
        },
        // ...
    };

    return defineConfig(viteConfig);
}

ok,至此基本配置搞定,可以開始在arco/index.less中自定義需要的主題樣式了

4、自定義命名空間配置

命名空間Arco劃分為三個(gè)部分

  • css-vars-prefix前綴,
    默認(rèn):空
  • ClassName前綴 (arco組件樣式class命名前綴名稱,
    默認(rèn):<div class="arco-${componentName}"/>)
  • Component前綴 (arco組件調(diào)用時(shí)的前綴名稱,
    默認(rèn):<a-${componentName} />)

4.1 設(shè)置css-vars-prefix前綴

步驟三的demo代碼基礎(chǔ)上加上:@arco-vars-prefix變量

完整樣式:

/**
 * @file src/styles/arco/index.less
 */
@arco-vars-prefix: 'css-vars-prefix-name';

/* 設(shè)置主色調(diào) */
@arcoblue-6: #165dff;

@import "@arco-design/web-vue/es/index.less";

修改前:
【VUE】ArcoDesign之自定義主題樣式和命名空間,Web前端,# Vue,vue.js,前端,javascript
修改后:
【VUE】ArcoDesign之自定義主題樣式和命名空間,Web前端,# Vue,vue.js,前端,javascript

4.2 設(shè)置ClassName前綴

步驟三的demo代碼基礎(chǔ)上加上:@prefix變量

打開文件:src/styles/arco/index.less,增加@prefix變量設(shè)置:

@prefix: 'class-name-prefix';

/* 設(shè)置主色調(diào) */
@arcoblue-6: #165dff;

@import "@arco-design/web-vue/es/index.less";

打開文件:src/App.vue

<!-- App.vue -->
<template>
  <a-config-provider prefix-cls="class-name-prefix">
    <!-- ... -->
  </a-config-provider>
</template>

修改前:
【VUE】ArcoDesign之自定義主題樣式和命名空間,Web前端,# Vue,vue.js,前端,javascript

修改后:
【VUE】ArcoDesign之自定義主題樣式和命名空間,Web前端,# Vue,vue.js,前端,javascript

4.3 設(shè)置 Component調(diào)用前綴

以下基于官方提供的 Vite 插件(@arco-plugins/vite-vue)實(shí)現(xiàn)

打開文件:vite.config.[ts|js]
找到plugins配置項(xiàng):

// ...
plugins: [
    // ...
    vitePluginForArco({
        componentPrefix: "arco-ui", // 自定義組件前綴名稱
    })
],
// ...

修改前:
【VUE】ArcoDesign之自定義主題樣式和命名空間,Web前端,# Vue,vue.js,前端,javascript
修改后:
【VUE】ArcoDesign之自定義主題樣式和命名空間,Web前端,# Vue,vue.js,前端,javascript文章來源地址http://www.zghlxwxcb.cn/news/detail-718405.html

到了這里,關(guān)于【VUE】ArcoDesign之自定義主題樣式和命名空間的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 微信小程序自定義主題顏色【狀態(tài)欄tab樣式同步更改】

    微信小程序自定義主題顏色【狀態(tài)欄tab樣式同步更改】

    ?此功能使用js控制變量 調(diào)整顏色值,賦值給css顏色達(dá)到切換自定義顏色效果 1.創(chuàng)建公共樣式userStyle.js文件,通過定義style1和style2來控制全局顏色改變。 注意:顏色值務(wù)必為十六進(jìn)制,避免API不兼容顏色 2.在index.js中引入userColor并放入data中。 打印userColor? ?? 3.index.wxml中將變

    2024年02月03日
    瀏覽(26)
  • Vue寶典之自定義組件聲明與使用

    Vue.js 是一款現(xiàn)代化的JavaScript框架,它的核心思想是組件化開發(fā)。通過使用Vue的自定義組件功能,我們可以將頁面拆分為多個(gè)組件,每個(gè)組件負(fù)責(zé)自己的一部分功能。這樣做的好處是,我們可以更好地管理和維護(hù)代碼,使得項(xiàng)目結(jié)構(gòu)更加清晰和可擴(kuò)展。 自定義組件是Vue中用來

    2024年02月05日
    瀏覽(22)
  • SpringBoot 系列 web 篇之自定義返回 Http Code 的 n 種姿勢

    雖然 http 的提供了一整套完整、定義明確的狀態(tài)碼,但實(shí)際的業(yè)務(wù)支持中,后端并不總會(huì)遵守這套規(guī)則,更多的是在返回結(jié)果中,加一個(gè) code 字段來自定義業(yè)務(wù)狀態(tài),即便是后端 5xx 了,返回給前端的 http code 依然是 200 那么如果我想遵守 http 的規(guī)范,不同的 case 返回不同的

    2024年04月12日
    瀏覽(16)
  • 從零用VitePress搭建博客教程(4) – 如何自定義首頁布局和主題樣式修改?

    從零用VitePress搭建博客教程(4) – 如何自定義首頁布局和主題樣式修改?

    接上一節(jié): 從零用VitePress搭建博客教程(3) - VitePress頁腳、標(biāo)題logo、最后更新時(shí)間等相關(guān)細(xì)節(jié)配置 有時(shí)候覺得自帶的樣式不好看,想自定義,首先我們?cè)赿ocs/.vitePress新建一個(gè)theme文件夾,用來存放自定義布局和主題修改的相關(guān)文件,如下所示 theme下再新建custom.css 和 index.js c

    2024年02月08日
    瀏覽(25)
  • vue重修之自定義項(xiàng)目、ESLint和代碼規(guī)范修復(fù)

    vue重修之自定義項(xiàng)目、ESLint和代碼規(guī)范修復(fù)

    安裝腳手架 (已安裝) 創(chuàng)建項(xiàng)目 選項(xiàng) 手動(dòng)選擇功能 選擇vue的版本 是否使用history模式 選擇css預(yù)處理 選擇eslint的風(fēng)格 (eslint 代碼規(guī)范的檢驗(yàn)工具,檢驗(yàn)代碼是否符合規(guī)范) 選擇校驗(yàn)的時(shí)機(jī) (直接回車) 選擇配置文件的生成方式 (直接回車) 是否保存預(yù)設(shè),下次直接使用?

    2024年02月07日
    瀏覽(60)
  • WebService 客戶端增加Header頭、并且指定命名空間、添加攔截器(日志攔截器,自定義攔截器)、soap:Envelope 添加命名空間

    1.增加Header頭 生成XML結(jié)果如下 2.添加攔截器 3.soap:Envelope 添加命名空間 生成XML結(jié)果如下

    2024年02月10日
    瀏覽(28)
  • vue+elementui表單數(shù)組對(duì)象深層嵌套之自定義驗(yàn)證規(guī)則

    需求場景:在Vue+Elementui項(xiàng)目中,需要在表單的循環(huán)數(shù)組中,對(duì)某一深層嵌套的對(duì)象屬性制定自定義校驗(yàn)規(guī)則。

    2024年02月05日
    瀏覽(37)
  • IntelliJ IDEA 常用設(shè)置 主題顏色模式、字體、樣式、背景自定義顏色及其背景圖片(圖文步驟)

    IntelliJ IDEA 常用設(shè)置 主題顏色模式、字體、樣式、背景自定義顏色及其背景圖片(圖文步驟)

    這里已 IntelliJ IDEA 2018.2.8 版本為例(本人已將主題設(shè)置成了暗色主題): 點(diǎn)擊 file﹥setting? 打開設(shè)置 點(diǎn)擊 Editor﹥Color Scheme﹥Color Scheme Font 主要的操作有主代碼字體,字體字號(hào)大小,字體行間距,非主代碼字體 ? 主要的操作有顏色,斜體,加粗,背景,下劃線,刪除線,邊框

    2023年04月16日
    瀏覽(30)
  • unity的C#學(xué)習(xí)——命名空間的定義與訪問、using語句的常見用法

    在C#中,命名空間(Namespace)是一種 將類和其他相關(guān)類型組織在一起的方式 ??梢詫⒚臻g看作是一個(gè)容器,用于管理和組織類和其他類型。通過將相關(guān)的類型組織在一起,可以使代碼更加清晰和易于維護(hù)。 命名空間的主要目的是為了避免名稱沖突,使得開發(fā)人員可以 使

    2024年02月11日
    瀏覽(27)
  • 【vue會(huì)員管理系統(tǒng)】篇三之自定義Axios、初試后臺(tái)接口、跨域問題

    【vue會(huì)員管理系統(tǒng)】篇三之自定義Axios、初試后臺(tái)接口、跨域問題

    ????????因?yàn)楸卷?xiàng)目很多組件需要通過Axios發(fā)送一步請(qǐng)求,所以封裝Axios對(duì)象,自己封裝的Axios在后續(xù)可以使用axios中提供的攔截器。 1.在src文件夾下創(chuàng)建utils文件夾,再在utils文件夾下創(chuàng)建request.js文件 2.填入以下代碼 1.在public文件夾下新建db.json文件,并添加數(shù)據(jù)。 2.在src文

    2024年02月07日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包