Vue3配置bem樣式架構(gòu)的代碼詳解
BEM的組成
- Block 塊獨立實體,獨立的意義
- Element 元素block的一部分,沒有獨立的意義。語意上和block有關(guān)系
- Modifier 修飾符block或element上的標記。使用他來改變外觀或行為
上代碼
首先我們需要再vue3項目中創(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; // 占位符,用于填寫真實想要開發(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官方文檔來配置
然后來看看頁面代碼的實際使用方式
效果圖
到此為止,這里的bem樣式架構(gòu)算是完成了,這樣的命名規(guī)范真的很舒服,很簡潔,維護起來也很方便
到此這篇關(guān)于Vue3配置bem樣式架構(gòu)的代碼詳解的文章就介紹到這了,更多相關(guān)Vue3配置bem內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
elementPlus組件之表格編輯并校驗功能實現(xiàn)
本文詳細介紹了如何使用Element Plus組件實現(xiàn)表格的單條數(shù)據(jù)新增、編輯、刪除操作,并對數(shù)據(jù)進行校驗,代碼簡單易懂,感興趣的朋友跟隨小編一起看看吧2024-12-12vue權(quán)限路由實現(xiàn)的方法示例總結(jié)
這篇文章主要給大家介紹了關(guān)于vue權(quán)限路由實現(xiàn)方法的相關(guān)資料,文中通過示例代碼介紹地方非常詳細,對大家學習或者使用vue具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-07-07vue自定義指令添加跟隨鼠標光標提示框v-tooltip方式
這篇文章主要介紹了vue自定義指令添加跟隨鼠標光標提示框v-tooltip方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10vue-cli開發(fā)時,關(guān)于ajax跨域的解決方法(推薦)
下面小編就為大家分享一篇vue-cli開發(fā)時,關(guān)于ajax跨域的解決方法(推薦),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02解決Vue項目打包后打開index.html頁面顯示空白以及圖片路徑錯誤的問題
這篇文章主要介紹了解決Vue項目打包后打開index.html頁面顯示空白以及圖片路徑錯誤的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10vue使用路由的query配置項時清除地址欄的參數(shù)案例詳解
這篇文章主要介紹了vue使用路由的query配置項時如何清除地址欄的參數(shù),本文通過案例給大家分享完美解決方案,需要的朋友可以參考下2023-09-09