CSS Modules是一種CSS樣式管理解決方案,它通過給每個模塊分配唯一的類名來解決CSS全局命名空間問題。Vue也提供了一個內置的CSS Modules支持。通過Vue CLI創建的項目默認啟用了CSS Modules。要使用它,只需要將樣式文件中的選擇器改為模塊化的類名即可。
/* 使用普通CSS */ .container { display: flex; } /* 使用CSS Modules */ .container_f7c1e3a { display: flex; }
在.vue文件中,我們可以使用module作為style標簽的屬性值,來將樣式文件視為CSS Modules。在模板中使用styles屬性來綁定模塊化的類名。
在上面的代碼中,$style是一個對象,它的屬性名是樣式文件中定義的類名,屬性值是在編譯時自動生成的模塊化類名。我們可以直接使用$style來訪問這些類名。
使用CSS Modules的好處是避免了全局命名沖突,提高了樣式的可維護性。同時,它還可以帶來更好的性能。因為每個模塊都有獨立的類名,不需要額外的選擇器來區分不同的模塊,樣式的解析和渲染速度也會更快。