iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
1
Modern Web

不只是寫寫CSS,切版概念30天系列 第 12

DAY12 - 邏輯性的歸納你的CSS/SCSS - Sass 7-1 Pattern

  • 分享至 

  • xImage
  •  

像上一篇說的,沒有架構的css散落在同一個資料夾會變得難以維護,scss也是。
而因為sass/scss的特性(eg.variables、import...)
讓scss檔案可以更容易的分割成不同的小部分,並且互相引用,也因此也更容易將其分類。

我自己覺得,有點像是SMACSS因應sass/scss產生的延伸版本,
以下擷取 官方版本提到得架構: (官方版本的連結附在後面)

sass/
|
|– abstracts/
|   |– _variables.scss    # Sass Variables
|   |– _functions.scss    # Sass Functions
|   |– _mixins.scss       # Sass Mixins
|   |– _placeholders.scss # Sass Placeholders
|
|– base/
|   |– _reset.scss        # Reset/normalize
|   |– _typography.scss   # Typography rules
|   …                     # Etc.
|
|– components/
|   |– _buttons.scss      # Buttons
|   |– _carousel.scss     # Carousel
|   |– _cover.scss        # Cover
|   |– _dropdown.scss     # Dropdown
|   …                     # Etc.
|
|– layout/
|   |– _navigation.scss   # Navigation
|   |– _grid.scss         # Grid system
|   |– _header.scss       # Header
|   |– _footer.scss       # Footer
|   |– _sidebar.scss      # Sidebar
|   |– _forms.scss        # Forms
|   …                     # Etc.
|
|– pages/
|   |– _home.scss         # Home specific styles
|   |– _contact.scss      # Contact specific styles
|   …                     # Etc.
|
|– themes/
|   |– _theme.scss        # Default theme
|   |– _admin.scss        # Admin theme
|   …                     # Etc.
|
|– vendors/
|   |– _bootstrap.scss    # Bootstrap
|   |– _jquery-ui.scss    # jQuery UI
|   …                     # Etc.
|
`– main.scss              # Main Sass file

從以上的架構可以看得出來, Sass 7-1 Pattern

abstracts

  1. 輔主用的scss,compiler後不會產出實體css的樣式
  2. 例如: 變數、mixins、extends等等

base

  1. 全站共用樣式,類似SMACSS中的Base
  2. eg. reset, 全站字型等等

components

  1. 共用元件,類似SMACSS中的Module
  2. slider, button...

layout

  1. 全站layout,類似SMACSS中的Layout
  2. eg. header, footer

pages

  1. 根據各個頁面才有的scss
  2. eg. aboutus.scss, news.scss

themes

  1. 全站主題樣式,類似SMACSS中的Theme

vendors

  1. 第三方的scss
  2. eg. bootstrap.scss

參考資料:
sass-guideline
sass-7-1-pattern.scss


上一篇
DAY11 - 邏輯性的歸納你的CSS/SCSS - SMACSS
下一篇
DAY13 - Postprocessor - PostCss 基本介紹
系列文
不只是寫寫CSS,切版概念30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言