這一節,咱們來說規矩,談網格,作人能夠不要臉,不講規矩,不講道理(特指傲嬌獸),但底線仍是要有的,如同網格同樣,不能超出。css
這裏咱們別人封裝好的模塊,不過呢,咱們也會詳細介紹一下原理。首先咱們安裝如下 jeet 框架html
npm install --save jeet
複製代碼
這個 jeet 框架有 scss 和 stylus 兩個版本。核心不大,只有 3 個文件。在 _settings.scss 裏面初始化了設置,而 _function.scss 則存放了一些工具函數,例如。node
假如讀者本身去閱讀源碼的話,筆者將以前沒見過的內建方法作一下簡單的說明。npm
更多能夠在 http://sass-lang.com/documentation/Sass/Script/Functions.html 找到bootstrap
_gird.scss 裏面則封裝了一些佈局範式,大多都是 @mixin ,在 sass 文件寫法則以 = 開頭。數組
新建 src/vars/_jeet.sass,將配置複製過來,以備修改緩存
$jeet: (gutter: 3, max-width: 1440px, layout-direction: LTR, parent-first: false, nth: child)
複製代碼
新建 src/vars/_query-size.sass 設置響應式斷點,參考的 bootstrap。box 的表明是內部 container 大小sass
$media-size-1: 576px !default
$media-size-2: 768px !default
$media-size-3: 992px !default
$media-size-4: 1200px !default
$media-size-box-1: 540px !default
$media-size-box-2: 720px !default
$media-size-box-3: 960px !default
$media-size-box-4: 1140px !default
複製代碼
新建 src/fns/_media-query.sass , 構建媒體查詢區間 mixinbash
=media1
@media screen and (max-width: $media-size-2)
@content
=media2
@media screen and (max-width: $media-size-3) and (min-width: $media-size-2)
@content
=media3
@media screen and (max-width: $media-size-4) and (min-width: $media-size-3)
@content
=media4
@media screen and (min-width: $media-size-4)
@content
複製代碼
新建 src/gird.sass,導入依賴,這個時候會報錯,由於找不到 jeet。app
@import './vars/_jeet.sass'
@import 'jeet/scss/_functions.scss'
@import 'jeet/scss/index.scss'
@import './vars/_query-size.sass'
@import './fns/_media-query.sass'
複製代碼
在項目跟目錄下建立 .sassrc.js,這樣就能夠找到 node_modules 下面的 jeet 了,或者本身寫長路徑。
const { resolve } = require('path')
const cwd = process.cwd()
module.exports = {
includePaths: [resolve(cwd, 'node_modules'), resolve(cwd, 'src')]
}
複製代碼
如今以非緩存模式啓動
parcel index.html --no-cache
複製代碼