Skip to content

Commit fa06b63

Browse files
author
Darius Rosendahl
committed
New formula for generating the grid. Added gutter-map to variables, needed for generating the grid
1 parent 803275f commit fa06b63

File tree

2 files changed

+46
-152
lines changed

2 files changed

+46
-152
lines changed

sass/layout/grid.scss

Lines changed: 33 additions & 152 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,9 @@
150150

151151
}
152152

153-
/* Grid widths */
153+
/* Grid widths
154+
12 column grid for $b0
155+
*/
154156

155157
@for $i from 1 through 12 {
156158
$width: ($i/12) * 100%;
@@ -173,204 +175,83 @@
173175

174176
.b0_push_none { margin-left: 0; }
175177

176-
// $b1
177-
@media only screen and (min-width: $b1) {
178-
179-
@for $i from 1 through 12 {
180-
$width: ($i/12) * 100%;
181-
182-
@if $i < 10 {
183-
.b1_0#{ $i } { width: $width; }
184-
185-
.b1_push_0#{ $i } { margin-left: $width; }
186-
} @else {
187-
188-
.b1_#{ $i } { width: $width; }
189-
190-
.b1_push_#{ $i } { margin-left: $width; }
191-
}
192-
}
193-
@for $i from 13 through 24 {
194-
$width: ($i/12) * 100%;
195-
}
196-
197-
.g {
198-
margin-left: -$grid-gutter-b1;
199-
200-
> * {
201-
padding-left: $grid-gutter-b1;
202-
}
203-
}
204-
205-
.b1_push_none { margin-left: 0; }
206-
207-
}
208-
209-
210-
// $b2
211-
@media only screen and (min-width: $b2) {
178+
/* 12 column grid for $b1 and $b2 */
179+
@for $b from 1 through 2 {
180+
$breakpoint : map-get($breakpoint-map, $b);
181+
$gutter : map-get($gutter-map, $b);
212182

213183
@for $i from 1 through 12 {
214184
$width: ($i/12) * 100%;
215185

216186
@if $i < 10 {
217-
.b2_0#{ $i } { width: $width; }
187+
.b#{$b}_0#{ $i } { width: $width; }
218188

219-
.b2_push_0#{ $i } { margin-left: $width; }
189+
.b#{$b}_push_0#{ $i } { margin-left: $width; }
220190
} @else {
221191

222-
.b2_#{ $i } { width: $width; }
192+
.b#{$b}_#{ $i } { width: $width; }
223193

224-
.b2_push_#{ $i } { margin-left: $width; }
194+
.b#{$b}_push_#{ $i } { margin-left: $width; }
225195
}
226196
@for $i from 13 through 24 {
227197
$width: ($i/12) * 100%;
228198
}
229199
}
230200

231201
.g {
232-
margin-left: -$grid-gutter-b2;
202+
margin-left: -#{$gutter};
233203

234204
> * {
235-
padding-left: $grid-gutter-b2;
205+
padding-left: $gutter;
236206
}
237207
}
238208

239209
.b2_push_none { margin-left: 0; }
240210

241211
}
242212

243-
// $b3
244-
@media only screen and (min-width: $b3) {
245-
246-
@for $i from 1 through 24 {
247-
$width: ($i/24) * 100%;
248-
249-
@if $i < 10 {
250-
.b3_0#{ $i } { width: $width; }
251-
252-
.b3_push_0#{ $i } { margin-left: $width; }
253-
} @else {
254-
.b3_#{ $i } { width: $width; }
255-
256-
.b3_push_#{ $i } { margin-left: $width; }
257-
}
258-
@for $i from 13 through 48 {
259-
$width: ($i/24) * 100%;
260-
}
261-
}
262-
263-
.g {
264-
margin-left: -$grid-gutter-b3;
265-
266-
> * {
267-
padding-left: $grid-gutter-b3;
268-
269-
}
270-
}
271-
272-
.b3_x5 { width: 20%; }
273-
.b3_x7 { width: 14.28571428571429%; }
274-
275-
.b3_push_none { margin-left: 0; }
213+
/* 24 column grid for $b3 and higher */
214+
@for $b from 3 through $amount-breakpoints {
215+
$breakpoint : map-get($breakpoint-map, $b);
216+
$gutter : map-get($gutter-map, $b);
276217

277-
}
278-
279-
// $b4
280-
@media only screen and (min-width: $b4) {
218+
@media only screen and (min-width: $breakpoint) {
281219

282220
@for $i from 1 through 24 {
283221
$width: ($i/24) * 100%;
284222

285223
@if $i < 10 {
286-
.b4_0#{ $i } { width: $width; }
287-
288-
.b4_push_0#{ $i } { margin-left: $width; }
289-
} @else {
290-
291-
.b4_#{ $i } { width: $width; }
292-
293-
.b4_push_#{ $i } { margin-left: $width; }
294-
}
295-
}
296-
297-
.g {
298-
margin-left: -$grid-gutter-b4;
299-
300-
> * {
301-
padding-left: $grid-gutter-b4;
302-
}
303-
}
304-
305-
.b4_x5 { width: 20%; }
306-
.b4_x7 { width: 14.28571428571429%; }
307-
308-
.b4_push_none { margin-left: 0; }
309-
310-
311-
}
312224

313-
// $b5
314-
@media only screen and (min-width: $b5) {
225+
.b#{$b}_0#{ $i } { width: $width; }
315226

316-
@for $i from 1 through 24 {
317-
$width: ($i/24) * 100%;
318-
319-
@if $i < 10 {
320-
.b5_0#{ $i } { width: $width; }
321-
322-
.b5_push_0#{ $i } { margin-left: $width; }
227+
.b#{$b}_push_0#{ $i } { margin-left: $width; }
228+
323229
} @else {
324230

325-
.b5_#{ $i } { width: $width; }
231+
.b#{$b}_#{ $i } { width: $width; }
326232

327-
.b5_push_#{ $i } { margin-left: $width; }
233+
.b#{$b}_push_#{ $i } { margin-left: $width; }
328234
}
329-
}
330235

331-
.g {
332-
margin-left: -$grid-gutter-b5;
333-
334-
> * {
335-
padding-left: $grid-gutter-b5;
336-
}
337-
}
338-
339-
.b5_x5 { width: 20%; }
340-
.b5_x7 { width: 14.28571428571429%; }
341-
342-
.b5_push_none { margin-left: 0; }
343-
344-
}
345-
// $b6
346-
@media only screen and (min-width: $b6) {
347-
348-
@for $i from 1 through 24 {
349-
$width: ($i/24) * 100%;
350-
351-
@if $i < 10 {
352-
.b6_0#{ $i } { width: $width; }
353-
354-
.b6_push_0#{ $i } { margin-left: $width; }
355-
} @else {
356-
357-
.b6_#{ $i } { width: $width; }
358-
359-
.b6_push_#{ $i } { margin-left: $width; }
236+
@for $i from 13 through 48 {
237+
$width: ($i/24) * 100%;
360238
}
361239
}
362240

363241
.g {
364-
margin-left: -$grid-gutter-b6;
242+
margin-left: -#{$gutter};
365243

366244
> * {
367-
padding-left: $grid-gutter-b6;
245+
padding-left: $gutter;
246+
368247
}
369248
}
370249

371-
.b6_x5 { width: 20%; }
372-
.b6_x7 { width: 14.28571428571429%; }
250+
.b#{$b}_x5 { width: 20%; }
251+
.b#{$b}_x7 { width: 14.28571428571429%; }
373252

374-
.b6_push_none { margin-left: 0; }
253+
.b#{$b}_push_none { margin-left: 0; }
375254

255+
}
256+
376257
}

sass/variables.scss

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,19 @@ $grid-gutter-b4: 16px;
100100
$grid-gutter-b5: 16px;
101101
$grid-gutter-b6: 16px;
102102

103+
/*
104+
Gutter map
105+
Must be the same amount of gutters and $gutter-map as above
106+
*/
107+
$gutter-map: (
108+
1: $grid-gutter-b1,
109+
2: $grid-gutter-b2,
110+
3: $grid-gutter-b3,
111+
4: $grid-gutter-b4,
112+
5: $grid-gutter-b5,
113+
6: $grid-gutter-b6,
114+
);
115+
103116
/*
104117
Default margin and padding
105118
*/

0 commit comments

Comments
 (0)