Vue3配置bem樣式架構(gòu)的代碼詳解
BEM的組成
- Block 塊獨(dú)立實(shí)體,獨(dú)立的意義
- Element 元素block的一部分,沒有獨(dú)立的意義。語意上和block有關(guān)系
- Modifier 修飾符block或element上的標(biāo)記。使用他來改變外觀或行為
上代碼
首先我們需要再vue3項(xiàng)目中創(chuàng)建一個用于保存bem樣式文件的地方
其次,bem.scss內(nèi)文件代碼為
// bem 架構(gòu) $namespace: "vat" !default; // 命名空間(可自定義,看心情) $block-sel: "-" !default; // 塊級元素與命名空間之間的連接符(可自定義,看心情) $element-sel: "__" !default; // 元素與塊級元素之間的連接符(可自定義,看心情) $modify-sel: "--" !default; // 修飾符與元素之間的連接符(可自定義,看心情) // 定義混入指令 @mixin block($block) { // 創(chuàng)建一個類名變量 $B: #{$namespace + $block-sel + $block}; // 取動態(tài)類名賦值樣式 .#{$B} { @content; // 占位符,用于填寫真實(shí)想要開發(fā)的樣式 } } // 定義混入指令 @mixin element($element) { // 使用@at-root和#{&}可以引用父(在Sass中總是引用父選擇器)和插值,可以嵌套,做一些其他的事情 @at-root { #{& + $element-sel + $element} { @content; // 占位符 } } } // 定義混入指令 @mixin modify($modify) { // 使用@at-root和#{&}可以引用父(在Sass中總是引用父選擇器)和插值,可以嵌套,做一些其他的事情 @at-root { #{& + $modify-sel + $modify} { @content;// 占位符 } } } // 定義混入指令 @mixin bfc { height: 100%; width: 100%; overflow: hidden; }
bem文件我們寫好了,接下來還需要配置一下才能全局生效
找到配置文件
css: { preprocessorOptions: { scss: { additionalData: '@import "./src/styles/bem.scss";' } },
這里可以參考vite官方文檔來配置
然后來看看頁面代碼的實(shí)際使用方式
效果圖
到此為止,這里的bem樣式架構(gòu)算是完成了,這樣的命名規(guī)范真的很舒服,很簡潔,維護(hù)起來也很方便
到此這篇關(guān)于Vue3配置bem樣式架構(gòu)的代碼詳解的文章就介紹到這了,更多相關(guān)Vue3配置bem內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Vue3+PDF.js實(shí)現(xiàn)PDF預(yù)覽功能
項(xiàng)目中有一個需要預(yù)覽下載pdf的需求,網(wǎng)上找了很久,決定使用 pdf.js 完成,下面這篇文章主要給大家介紹了關(guān)于使用Vue3+PDF.js實(shí)現(xiàn)PDF預(yù)覽功能的相關(guān)資料,需要的朋友可以參考下2022-12-12elementPlus組件之表格編輯并校驗(yàn)功能實(shí)現(xiàn)
本文詳細(xì)介紹了如何使用Element Plus組件實(shí)現(xiàn)表格的單條數(shù)據(jù)新增、編輯、刪除操作,并對數(shù)據(jù)進(jìn)行校驗(yàn),代碼簡單易懂,感興趣的朋友跟隨小編一起看看吧2024-12-12vue.js todolist實(shí)現(xiàn)代碼
這篇文章主要介紹了vue.js todolist實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-10-10vue 表單驗(yàn)證按鈕事件交由父組件觸發(fā)的方法
這篇文章主要介紹了vue 表單驗(yàn)證按鈕事件交由父組件觸發(fā)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12vue權(quán)限路由實(shí)現(xiàn)的方法示例總結(jié)
這篇文章主要給大家介紹了關(guān)于vue權(quán)限路由實(shí)現(xiàn)方法的相關(guān)資料,文中通過示例代碼介紹地方非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07vue自定義指令添加跟隨鼠標(biāo)光標(biāo)提示框v-tooltip方式
這篇文章主要介紹了vue自定義指令添加跟隨鼠標(biāo)光標(biāo)提示框v-tooltip方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10vue-cli開發(fā)時,關(guān)于ajax跨域的解決方法(推薦)
下面小編就為大家分享一篇vue-cli開發(fā)時,關(guān)于ajax跨域的解決方法(推薦),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02解決Vue項(xiàng)目打包后打開index.html頁面顯示空白以及圖片路徑錯誤的問題
這篇文章主要介紹了解決Vue項(xiàng)目打包后打開index.html頁面顯示空白以及圖片路徑錯誤的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10vue使用路由的query配置項(xiàng)時清除地址欄的參數(shù)案例詳解
這篇文章主要介紹了vue使用路由的query配置項(xiàng)時如何清除地址欄的參數(shù),本文通過案例給大家分享完美解決方案,需要的朋友可以參考下2023-09-09