上一小節(jié)的那個實例幾乎用不著,哈哈,所以其實是沒什么營養(yǎng)的東西,只是幫助理解了原來 @for 是這么回事。怎么的也不能就這么忽悠大家啊,大家好不容易抽空看下文章,就這么點扯淡的東西怎么對得住呢。下面再來個營養(yǎng)級別的,@for應用在網格系統(tǒng)生成各個格子 class 的代碼:
//SCSS $grid-prefix: span !default; $grid-width: 60px !default; $grid-gutter: 20px !default; %grid { float: left; margin-left: $grid-gutter / 2; margin-right: $grid-gutter / 2; } @for $i from 1 through 12 { .#{$grid-prefix}#{$i}{ width: $grid-width * $i + $grid-gutter * ($i - 1); @extend %grid; } }
編譯出來的 CSS:
.span1, .span2, .span3, .span4, .span5, .span6, .span7, .span8, .span9, .span10, .span11, .span12 { float: left; margin-left: 10px; margin-right: 10px; } .span1 { width: 60px; } .span2 { width: 140px; } .span3 { width: 220px; } .span4 { width: 300px; } .span5 { width: 380px; } .span6 { width: 460px; } .span7 { width: 540px; } .span8 { width: 620px; } .span9 { width: 700px; } .span10 { width: 780px; } .span11 { width: 860px; } .span12 { width: 940px; }
將上面的示例稍做修改,將 @for through 方式換成 @for to::
//SCSS @for $i from 1 to 13 { .#{$grid-prefix}#{$i}{ width: $grid-width * $i + $grid-gutter * ($i - 1); @extend %grid; } }
其最終編譯出來的 CSS 代碼和上例所編譯出來的一模一樣。
這兩段 Sass 代碼并無太多差別,只是 @for中的 <end> 取值不同。配合 through 的 <end> 值是 12,其遍歷出來的終點值也是 12,和 <end> 值一樣。配合 to 的 <end> 值是 13,其遍歷出來的終點值是 12,就是 <end> 對就的值減去 1 。
小伙伴們,現在讓我們來練習一下@for循環(huán)的用法吧!
請驗證,完成請求
由于請求次數過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報