如果你打算分發你的 Sass 代碼,比如一個庫、框架、柵格系統或者其他的什么,為了防止與其他人的代碼發生沖突,你就可能會考慮使用命名空間包裹你所有的變量、函數、混合宏和占位符。
舉例來說,如果你參加了一個名為?_Sassy Unicorn_?的項目——這意味著全球的開發者都可能會使用它(誰都有可能,對吧?),你可能會考慮使用?`su-`?作為一個命名空間。這確實非常獨特,既不會引發命名沖突,又足夠短小而沒有書寫困難。
~~~
$su-configuration: ( ... );
@function su-rainbow($unicorn) {
// ...
}
~~~
需要注意的是,自動命名空間功能絕對是即將到來的Sass4.0中重構的`@import`的一個設計目標。隨著即將取得結果,將會越來越少的需要手動命名,最終,手動命名庫名實際上會越來越難用。
## 擴展閱讀
* [Please Respect the Global CSS Namespace](http://blog.kaelig.fr/post/44554267597/please-respect-the-global-css-namespace)
- 關于作者
- 貢獻
- 關于Sass
- Ruby Sass Or LibSass
- Sass Or SCSS
- 其他預編譯器
- 簡介
- 為什么需要一個樣式指南
- 免責聲明
- 核心原則
- 語法格式
- 字符串
- 數字
- 顏色
- 列表
- Maps
- CSS規則集
- 聲明順序
- 選擇器嵌套
- 命名約定
- 常量
- 命名空間
- 注釋
- 標示注釋
- 文檔
- 結構
- 組件
- 7-1模式
- Shame文件
- 響應式設計和斷點
- 命名斷點
- 斷點管理器
- 媒體查詢用法
- 變量
- 作用域
- !default標識符
- !global標識符
- 多變量或maps
- 擴展
- 混合宏
- 基礎
- 參數列表
- 混合宏和瀏覽器前綴
- 條件語句
- 循環
- Each
- For
- While
- 警告和錯誤
- 警告
- 錯誤
- 工具
- Compass
- 柵格系統
- SCSS-Lint
- 總結概要