susy 2.0.0.alpha.2 → 2.0.0.alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/susy.rb +0 -10
- data/sass/_susy.scss +2 -2
- data/sass/susy/_core.scss +3 -3
- data/sass/susy/_helpers.scss +2 -3
- data/sass/susy/_math.scss +2 -2
- data/sass/susy/_settings.scss +4 -39
- data/sass/susy/api/_float.scss +2 -2
- data/sass/susy/api/_shared.scss +2 -2
- data/sass/susy/api/float/_container.scss +9 -5
- data/sass/susy/api/float/_end.scss +8 -4
- data/sass/susy/api/float/_isolate.scss +7 -3
- data/sass/susy/api/float/_span.scss +18 -4
- data/sass/susy/api/shared/_container.scss +10 -6
- data/sass/susy/api/shared/_grid-background.scss +30 -7
- data/sass/susy/api/shared/_margins.scss +9 -5
- data/sass/susy/api/shared/_padding.scss +9 -5
- data/sass/susy/helpers/_direction.scss +11 -1
- data/sass/susy/helpers/_nth.scss +4 -0
- data/sass/susy/language/_shared.scss +2 -3
- data/sass/susy/language/_susy.scss +5 -4
- data/sass/susy/language/shared/_context.scss +10 -9
- data/sass/susy/language/shared/_settings.scss +181 -101
- data/sass/susy/language/susy/_background.scss +84 -75
- data/sass/susy/language/susy/_container.scss +57 -77
- data/sass/susy/language/susy/_gallery.scss +46 -67
- data/sass/susy/language/susy/_gutters.scss +117 -0
- data/sass/susy/language/susy/_isolate.scss +21 -14
- data/sass/susy/language/susy/_margins.scss +92 -0
- data/sass/susy/language/susy/_padding.scss +68 -0
- data/sass/susy/language/susy/_rows.scss +43 -15
- data/sass/susy/language/susy/_span.scss +198 -61
- data/sass/susy/language/susy1/_settings.scss +13 -23
- data/sass/susy/math/_columns.scss +26 -3
- data/sass/susy/math/_container.scss +17 -12
- data/sass/susy/math/_location.scss +13 -0
- metadata +8 -35
- data/sass/susy/helpers/_sass-lists.scss +0 -90
- data/sass/susy/language/susy/_functions.scss +0 -58
- data/sass/susy/language/susy/_math.scss +0 -153
@@ -1,52 +1,70 @@
|
|
1
1
|
// Grid Syntax
|
2
2
|
// ===========
|
3
3
|
|
4
|
+
// layout math
|
5
|
+
// - static | fluid
|
6
|
+
$layout-math : fluid !default;
|
7
|
+
|
8
|
+
// layout method
|
9
|
+
// - isolate | float
|
10
|
+
$layout-method : float !default;
|
11
|
+
|
12
|
+
// layout direction
|
13
|
+
// - ltr | rtl
|
14
|
+
$flow : ltr !default;
|
15
|
+
|
16
|
+
// box-sizing
|
17
|
+
// false | border-box | content-box
|
18
|
+
$box-sizing : false !default;
|
19
|
+
|
20
|
+
// container justification
|
21
|
+
// - left | center | right
|
22
|
+
$container-position : center !default;
|
23
|
+
|
24
|
+
// gutter handling
|
25
|
+
// - before | after | split
|
26
|
+
$gutter-position : after !default;
|
27
|
+
|
28
|
+
// show/hide grids
|
29
|
+
// show | show-columns | show-baseline | hide
|
30
|
+
$show-grids : show-columns !default;
|
31
|
+
|
32
|
+
// Set Grid
|
33
|
+
// --------
|
4
34
|
// Set a new grid using a shorthand
|
35
|
+
// - $grid : <settings>
|
36
|
+
// - [$clean] : true | false (resets container, column-width, & box-sizing)
|
5
37
|
@mixin set-grid(
|
6
38
|
$grid,
|
7
39
|
$clean: false
|
8
40
|
) {
|
9
|
-
|
41
|
+
|
42
|
+
$grid : get-adjusted-grid($grid, $clean);
|
10
43
|
|
11
44
|
// get values
|
12
|
-
$
|
13
|
-
$
|
14
|
-
$
|
15
|
-
$
|
16
|
-
$
|
17
|
-
$
|
18
|
-
|
19
|
-
$
|
20
|
-
$
|
21
|
-
$
|
22
|
-
$
|
23
|
-
|
24
|
-
// fill missing values
|
25
|
-
@if not $clean {
|
26
|
-
$new-columns : if($new-columns, $new-columns, $columns);
|
27
|
-
$new-gutters : if($new-gutters, $new-gutters, $gutters);
|
28
|
-
$new-container : if($new-container, $new-container, $container);
|
29
|
-
$new-column-width : if($new-column-width, $new-column-width, $column-width);
|
30
|
-
$new-static : if($new-static, $new-static, $static);
|
31
|
-
$new-isolate : if($new-isolate, $new-isolate, $isolate);
|
32
|
-
$new-box : if($new-box, $new-box, $box-sizing);
|
33
|
-
}
|
45
|
+
$columns : get-setting(columns, $grid);
|
46
|
+
$gutters : get-setting(gutters, $grid);
|
47
|
+
$container : get-setting(container, $grid);
|
48
|
+
$column-width : get-setting(column-width, $grid);
|
49
|
+
$layout-math : get-setting(layout-math, $grid);
|
50
|
+
$layout-method : get-setting(layout-method, $grid);
|
51
|
+
|
52
|
+
$flow : get-setting(flow, $grid);
|
53
|
+
$gutter-position : get-setting(gutter-position, $grid);
|
54
|
+
$container-position : get-setting(container-position, $grid);
|
55
|
+
$show-grids : get-setting(show-grids, $grid);
|
56
|
+
$box : get-setting(box-sizing, $grid);
|
34
57
|
|
35
|
-
|
36
|
-
$
|
37
|
-
$
|
38
|
-
$container : $new-container;
|
39
|
-
$column-width : $new-column-width;
|
40
|
-
$static : $new-static;
|
41
|
-
$isolate : $new-isolate;
|
42
|
-
$box-sizing : $new-box;
|
43
|
-
|
44
|
-
$flow : if($new-flow, $new-flow, $flow);
|
45
|
-
$gutter-placement : if($new-gutter-place, $new-gutter-place, $gutter-placement);
|
46
|
-
$show-grids : if($new-show-grids, $new-show-grids, $show-grids);
|
58
|
+
$container : get-setting(container, $grid);
|
59
|
+
$column-width : get-setting(column-width, $grid);
|
60
|
+
$box-sizing : get-setting(box-sizing, $grid);
|
47
61
|
}
|
48
62
|
|
63
|
+
// Use Grid
|
64
|
+
// --------
|
49
65
|
// Use an arbitrary grid for a section of code
|
66
|
+
// - $grid : <settings>
|
67
|
+
// - [$clean] : true | false (resets container, column-width, & box-sizing)
|
50
68
|
@mixin use-grid(
|
51
69
|
$grid,
|
52
70
|
$clean: false
|
@@ -58,149 +76,209 @@
|
|
58
76
|
@include set-grid($old-grid, $clean);
|
59
77
|
}
|
60
78
|
|
61
|
-
// Grid
|
62
|
-
//
|
63
|
-
|
79
|
+
// Get Grid
|
80
|
+
// --------
|
64
81
|
// Get the current grid settings as a shorthand list
|
65
82
|
@function get-grid(
|
66
83
|
) {
|
67
|
-
$
|
68
|
-
$
|
69
|
-
$isolate-setting : false;
|
70
|
-
$show-grids-setting : false;
|
84
|
+
$new-gutters : $gutters;
|
85
|
+
$new-show-grids : false;
|
71
86
|
|
72
87
|
// Use units for column/gutter ratio if available
|
73
88
|
@if $column-width {
|
74
|
-
$
|
75
|
-
}
|
76
|
-
|
77
|
-
// Create keyword for static setting
|
78
|
-
@if $static and $static != fluid {
|
79
|
-
$static-setting: static;
|
80
|
-
} @else {
|
81
|
-
$static-setting: fluid;
|
82
|
-
}
|
83
|
-
|
84
|
-
// Create keyword for isolate setting
|
85
|
-
@if $isolate and $isolate != float {
|
86
|
-
$isolate-setting: isolate;
|
87
|
-
} @else {
|
88
|
-
$isolate-setting: float;
|
89
|
+
$new-gutters: $column-width $column-width * $gutters;
|
89
90
|
}
|
90
91
|
|
91
92
|
// Create keyword for show-grids setting
|
92
|
-
@if
|
93
|
-
$show-grids
|
93
|
+
@if type-of($show-grids) == bool {
|
94
|
+
@if $show-grids {
|
95
|
+
$new-show-grids: show;
|
96
|
+
} @else {
|
97
|
+
$new-show-grids: hide;
|
98
|
+
}
|
94
99
|
} @else {
|
95
|
-
$show-grids
|
100
|
+
$new-show-grids: $show-grids;
|
96
101
|
}
|
97
102
|
|
98
103
|
// Return grid shorthand
|
99
|
-
@return compact($container $columns $
|
104
|
+
@return compact($container $columns $new-gutters $layout-math $layout-method $container-position $new-show-grids $flow $gutter-position $box-sizing);
|
100
105
|
}
|
101
106
|
|
107
|
+
// Parse Grid
|
108
|
+
// ----------
|
102
109
|
// Parse a shorthand grid, and return an ordered list of settings
|
110
|
+
// - [$grid] : <settings>
|
103
111
|
@function parse-grid(
|
104
112
|
$grid: get-grid()
|
105
113
|
) {
|
106
|
-
$columns
|
107
|
-
$gutters
|
108
|
-
$container
|
109
|
-
$column-width
|
110
|
-
$
|
111
|
-
$
|
112
|
-
$
|
113
|
-
$
|
114
|
-
$
|
115
|
-
$
|
116
|
-
|
117
|
-
|
114
|
+
$new-columns : false;
|
115
|
+
$new-gutters : false;
|
116
|
+
$new-container : false;
|
117
|
+
$new-column-width : false;
|
118
|
+
$new-layout-math : false;
|
119
|
+
$new-layout-method : false;
|
120
|
+
$new-container-position : false;
|
121
|
+
$new-flow : false;
|
122
|
+
$new-gutter-position : false;
|
123
|
+
$new-show-grids : false;
|
124
|
+
$new-box-sizing : false;
|
125
|
+
|
126
|
+
$columns-check : false;
|
118
127
|
|
119
128
|
@each $value in $grid {
|
120
129
|
@if type-of($value) == string {
|
121
|
-
//
|
130
|
+
// layout-math: static | fluid
|
122
131
|
@if $value == static {
|
123
|
-
$
|
132
|
+
$new-layout-math: static;
|
124
133
|
} @else if $value == fluid {
|
125
|
-
$
|
134
|
+
$new-layout-math: fluid;
|
126
135
|
}
|
127
136
|
|
128
|
-
//
|
137
|
+
// layout-method: isolate | fluid
|
129
138
|
@if $value == isolate {
|
130
|
-
$
|
139
|
+
$new-layout-method: isolate;
|
131
140
|
} @else if $value == float {
|
132
|
-
$
|
141
|
+
$new-layout-method: float;
|
142
|
+
}
|
143
|
+
|
144
|
+
// container-position: left | center | right
|
145
|
+
@if $value == left {
|
146
|
+
$new-container-position: left;
|
147
|
+
} @else if $value == right {
|
148
|
+
$new-container-position: right;
|
149
|
+
} @else if $value == center {
|
150
|
+
$new-container-position: center;
|
133
151
|
}
|
134
152
|
|
135
153
|
// flow: ltr | rtl
|
136
154
|
@if $value == rtl {
|
137
|
-
$flow
|
155
|
+
$new-flow: rtl;
|
138
156
|
} @else if $value == ltr {
|
139
|
-
$flow
|
157
|
+
$new-flow: ltr;
|
140
158
|
}
|
141
159
|
|
142
160
|
// show-grid: show | hide
|
143
161
|
@if $value == show {
|
144
|
-
$show-
|
162
|
+
$new-show-grids: show;
|
145
163
|
} @else if $value == hide {
|
146
|
-
$show-
|
164
|
+
$new-show-grids: hide;
|
165
|
+
} @else if $value == show-columns {
|
166
|
+
$new-show-grids: show-columns;
|
167
|
+
} @else if $value == show-baseline {
|
168
|
+
$new-show-grids: show-baseline;
|
147
169
|
}
|
148
170
|
|
149
|
-
// gutter-
|
171
|
+
// gutter-position: before | after | split | no-gutters
|
150
172
|
@if $value == before {
|
151
|
-
$gutter-
|
173
|
+
$new-gutter-position: before;
|
152
174
|
} @else if $value == after {
|
153
|
-
$gutter-
|
175
|
+
$new-gutter-position: after;
|
154
176
|
} @else if $value == split {
|
155
|
-
$gutter-
|
177
|
+
$new-gutter-position: split;
|
156
178
|
} @else if $value == inside {
|
157
|
-
$gutter-
|
179
|
+
$new-gutter-position: inside;
|
158
180
|
} @else if $value == no-gutters {
|
159
|
-
$gutter-
|
181
|
+
$new-gutter-position: no-gutters;
|
160
182
|
}
|
161
183
|
|
162
184
|
// box-sizing: border-box | content-box
|
163
185
|
@if $value == border-box {
|
164
|
-
$box-
|
186
|
+
$new-box-sizing: border-box;
|
165
187
|
} @else if $value == content-box {
|
166
|
-
$box-
|
188
|
+
$new-box-sizing: content-box;
|
189
|
+
}
|
190
|
+
|
191
|
+
// auto container
|
192
|
+
@if $value == auto {
|
193
|
+
$new-container: auto;
|
167
194
|
}
|
168
195
|
}
|
169
196
|
|
170
197
|
// container, columns, or gutters
|
171
198
|
@else if type-of($value) == number {
|
172
199
|
@if not unitless($value) {
|
173
|
-
$container
|
200
|
+
$new-container: $value;
|
174
201
|
} @else if not $columns-check {
|
175
|
-
$columns
|
202
|
+
$new-columns: $value;
|
176
203
|
$columns-check: true;
|
177
204
|
} @else {
|
178
|
-
$gutters
|
205
|
+
$new-gutters: $value;
|
179
206
|
}
|
180
207
|
}
|
181
208
|
|
182
209
|
// columns or gutters
|
183
210
|
@else if type-of($value) == list {
|
184
211
|
@if unitless(nth($value,1)) {
|
185
|
-
$columns
|
212
|
+
$new-columns: $value;
|
186
213
|
$columns-check: true;
|
187
214
|
} @else {
|
188
|
-
$column-width
|
189
|
-
$gutters
|
215
|
+
$new-column-width: nth($value,1);
|
216
|
+
$new-gutters: nth($value,2) / nth($value,1);
|
190
217
|
}
|
191
218
|
}
|
192
219
|
}
|
193
220
|
|
194
|
-
@return $columns
|
221
|
+
@return $new-columns $new-gutters $new-container $new-column-width $new-layout-math $new-layout-method $new-container-position $new-flow $new-gutter-position $new-show-grids $new-box-sizing;
|
222
|
+
}
|
223
|
+
|
224
|
+
// Get Adjusted Grid
|
225
|
+
// -----------------
|
226
|
+
// Fill missing grid values based on global settings
|
227
|
+
// - $grid : <settings>
|
228
|
+
// - [$clean] : true | false (resets container, column-width, & box-sizing)
|
229
|
+
@function get-adjusted-grid(
|
230
|
+
$grid,
|
231
|
+
$clean: false
|
232
|
+
) {
|
233
|
+
$grid : parse-grid($grid);
|
234
|
+
|
235
|
+
$new-columns : get-setting(columns, $grid);
|
236
|
+
$new-gutters : get-setting(gutters, $grid);
|
237
|
+
$new-layout-math : get-setting(layout-math, $grid);
|
238
|
+
$new-layout-method : get-setting(layout-method, $grid);
|
239
|
+
$new-flow : get-setting(flow, $grid);
|
240
|
+
$new-gutter-place : get-setting(gutter-position, $grid);
|
241
|
+
$new-container-position : get-setting(container-position, $grid);
|
242
|
+
$new-show-grids : get-setting(show-grids, $grid);
|
243
|
+
|
244
|
+
$new-container : get-setting(container, $grid);
|
245
|
+
$new-column-width : get-setting(column-width, $grid);
|
246
|
+
$new-box-sizing : get-setting(box-sizing, $grid);
|
247
|
+
|
248
|
+
// Set required values
|
249
|
+
$new-columns : if($new-columns, $new-columns, $columns);
|
250
|
+
$new-gutters : if($new-gutters, $new-gutters, $gutters);
|
251
|
+
$new-layout-math : if($new-layout-math, $new-layout-math, $layout-math);
|
252
|
+
$new-layout-method : if($new-layout-method, $new-layout-method, $layout-method);
|
253
|
+
$new-flow : if($new-flow, $new-flow, $flow);
|
254
|
+
$new-gutter-place : if($new-gutter-place, $new-gutter-place, $gutter-position);
|
255
|
+
$new-container-position : if($new-container-position, $new-container-position, $container-position);
|
256
|
+
$new-show-grids : if($new-show-grids, $new-show-grids, $show-grids);
|
257
|
+
|
258
|
+
// optionally fill values based on current grid
|
259
|
+
@if $clean {
|
260
|
+
$new-container : if($new-container, $new-container, auto);
|
261
|
+
} @else {
|
262
|
+
$new-container : if($new-container, $new-container, $container);
|
263
|
+
$new-column-width : if($new-column-width, $new-column-width, $column-width);
|
264
|
+
$new-box-sizing : if($new-box-sizing, $new-box-sizing, $box-sizing);
|
265
|
+
}
|
266
|
+
|
267
|
+
@return $new-columns, $new-gutters, $new-container, $new-column-width, $new-layout-math, $new-layout-method, $new-container-position, $new-flow, $new-gutter-place, $new-show-grids, $new-box-sizing;
|
195
268
|
}
|
196
269
|
|
270
|
+
// Get Setting
|
271
|
+
// -----------
|
197
272
|
// Return one setting from a shorhand grid
|
273
|
+
// - setting : <keyword> (see $options below)
|
274
|
+
// - $grid : <settings>
|
275
|
+
// - [$parse] : true | false
|
198
276
|
@function get-setting(
|
199
277
|
$setting,
|
200
|
-
$grid : parse-grid(
|
278
|
+
$grid : parse-grid(),
|
201
279
|
$parse : false
|
202
280
|
) {
|
203
|
-
$options : columns gutters container column-width
|
281
|
+
$options : columns gutters container column-width layout-math layout-method container-position flow gutter-position show-grids box-sizing;
|
204
282
|
$key : index($options, $setting);
|
205
283
|
$value : false;
|
206
284
|
|
@@ -208,8 +286,10 @@
|
|
208
286
|
$grid: parse-grid($grid);
|
209
287
|
}
|
210
288
|
|
211
|
-
@if $key
|
289
|
+
@if $key {
|
212
290
|
$value: nth($grid, $key);
|
291
|
+
} @else {
|
292
|
+
@warn '"#{$setting}" is not a valid grid setting.';
|
213
293
|
}
|
214
294
|
|
215
295
|
@return $value;
|
@@ -1,88 +1,43 @@
|
|
1
|
-
// Background
|
2
|
-
//
|
1
|
+
// Background Grid Syntax
|
2
|
+
// ======================
|
3
|
+
|
4
|
+
@import "compass/layout/stretching";
|
3
5
|
|
4
6
|
// The overlay is painted over your container's ::after pseudo-element,
|
5
7
|
// so we must give position to the container itself.
|
6
8
|
// If relative doesn't suit your layout, it can be replaced by absolute/fixed.
|
7
|
-
$overlay-position: relative
|
9
|
+
$overlay-position : relative !default;
|
8
10
|
|
9
11
|
// Set the location of the switch.
|
10
|
-
$grid-toggle-position: left bottom
|
12
|
+
$grid-toggle-position : left bottom !default;
|
13
|
+
|
14
|
+
// Set the color of background grids.
|
15
|
+
$grid-background-color : rgba(#66f, .25) !default;
|
11
16
|
|
12
|
-
// Set the
|
13
|
-
$
|
17
|
+
// Set the line height for your vertical rhythm.
|
18
|
+
$base-line-height : 24px !default;
|
14
19
|
|
15
20
|
// Grid Background
|
16
21
|
// ---------------
|
17
|
-
|
22
|
+
// Show a grid background on any element.
|
23
|
+
// - [$grid] : <settings>
|
18
24
|
@mixin grid-background(
|
19
|
-
$grid:
|
25
|
+
$grid: get-grid()
|
20
26
|
) {
|
21
|
-
$
|
22
|
-
$color : $grid-background-color;
|
23
|
-
|
24
|
-
@if length($grid) == 2 and type-of(nth($grid,2)) == color {
|
25
|
-
$color: nth($grid,2);
|
26
|
-
$grid: nth($grid,1);
|
27
|
-
}
|
28
|
-
|
29
|
-
$trans : transparent;
|
30
|
-
$light : lighten($color, 15%);
|
31
|
-
|
32
|
-
$this-columns : get-setting(columns, $grid);
|
33
|
-
$this-gutters : get-setting(gutters, $grid);
|
34
|
-
$this-column-width : get-setting(column-width, $grid);
|
35
|
-
$this-static : get-setting(static, $grid);
|
36
|
-
$this-gutter-place : get-setting(gutter-placement, $grid);
|
37
|
-
$this-flow : get-setting(flow, $grid);
|
38
|
-
|
39
|
-
$this-static : if($this-static and $this-static != fluid, true, false);
|
27
|
+
$grid : get-adjusted-grid($grid);
|
40
28
|
|
41
|
-
|
42
|
-
|
29
|
+
$this-flow : get-setting(flow, $grid);
|
30
|
+
$this-show : get-setting(show-grids, $grid);
|
43
31
|
|
44
|
-
|
45
|
-
$start: get-isolation(1, $location, $this-columns, $this-gutters, $this-column-width, $this-static);
|
46
|
-
$this-stop: append($this-stop, $color $start, comma);
|
47
|
-
}
|
32
|
+
$stops : get-grid-color-stops($grid);
|
48
33
|
|
49
|
-
|
50
|
-
$this-stop: append($this-stop, $light 100%, comma);
|
51
|
-
} @else {
|
52
|
-
$end: get-span-width($location, 1, $this-columns, $this-gutters, $this-column-width, $this-static, $this-gutter-place);
|
53
|
-
$gutter: get-isolation(1, $location + 1, $this-columns, $this-gutters, $this-column-width, $this-static);
|
54
|
-
|
55
|
-
$this-stop: append($this-stop, $light $end, comma);
|
56
|
-
$this-stop: append($this-stop, $trans $end, comma);
|
57
|
-
$this-stop: append($this-stop, $trans $gutter, comma);
|
58
|
-
}
|
59
|
-
|
60
|
-
$stops: join($stops, $this-stop, comma);
|
61
|
-
}
|
62
|
-
|
63
|
-
@include grid-background-output($stops, $this-flow)
|
34
|
+
@include grid-background-output($stops, $this-show, $this-flow);
|
64
35
|
}
|
65
36
|
|
66
37
|
// Grid Overlay
|
67
38
|
// ------------
|
68
|
-
|
69
|
-
|
70
|
-
position: unquote($overlay-position);
|
71
|
-
}
|
72
|
-
|
73
|
-
%grid-overlay {
|
74
|
-
content: " ";
|
75
|
-
position: absolute;
|
76
|
-
top: 0;
|
77
|
-
left: 0;
|
78
|
-
right: 0;
|
79
|
-
bottom: 0;
|
80
|
-
height: 100%;
|
81
|
-
width: 100%;
|
82
|
-
z-index: 998;
|
83
|
-
background-color: rgba(red,.25);
|
84
|
-
}
|
85
|
-
|
39
|
+
// Generate an icon to trigger grid-overlays on any given elements.
|
40
|
+
// $grids... : <selector> [<settings>] [, <selector>]*
|
86
41
|
@mixin grid-overlay (
|
87
42
|
$grids...
|
88
43
|
) {
|
@@ -90,7 +45,6 @@ $grid-background-color: rgba(#66f, .25) !default;
|
|
90
45
|
$horz: nth($grid-toggle-position, 2);
|
91
46
|
|
92
47
|
head {
|
93
|
-
@include transition(all .4s);
|
94
48
|
@include border-radius(.25em);
|
95
49
|
display: block;
|
96
50
|
position: fixed;
|
@@ -112,21 +66,76 @@ $grid-background-color: rgba(#66f, .25) !default;
|
|
112
66
|
}
|
113
67
|
&:hover {
|
114
68
|
@include box-shadow(0 0 3px rgba(#333,.5));
|
115
|
-
color: #333;
|
116
69
|
background: rgba(white,.5);
|
117
70
|
@each $grid in $grids {
|
118
71
|
$selector: nth($grid, 1);
|
119
|
-
$grid:
|
72
|
+
$grid: if(length($grid) > 1, nth($grid, 2), get-grid());
|
120
73
|
|
74
|
+
~ #{$selector},
|
121
75
|
~ body #{$selector} {
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
@include grid-background($grid);
|
76
|
+
position: unquote($overlay-position);
|
77
|
+
&::before {
|
78
|
+
@extend %grid-overlay-base;
|
79
|
+
@include grid-background($grid);
|
80
|
+
}
|
128
81
|
}
|
129
82
|
}
|
130
83
|
}
|
131
84
|
}
|
132
85
|
}
|
86
|
+
|
87
|
+
%grid-overlay-base {
|
88
|
+
@include stretch;
|
89
|
+
content: " ";
|
90
|
+
z-index: 998;
|
91
|
+
}
|
92
|
+
|
93
|
+
// Grid Color-Stops
|
94
|
+
// ----------------
|
95
|
+
// Calculate the color-stops needed for a particular grid.
|
96
|
+
// - $grid : <settings>
|
97
|
+
@function get-grid-color-stops(
|
98
|
+
$grid: parse-grid()
|
99
|
+
) {
|
100
|
+
$stops : ();
|
101
|
+
$color : $grid-background-color;
|
102
|
+
$trans : transparent;
|
103
|
+
$light : lighten($color, 15%);
|
104
|
+
|
105
|
+
$this-columns : get-setting(columns, $grid);
|
106
|
+
$this-gutters : get-setting(gutters, $grid);
|
107
|
+
$this-column-width : get-setting(column-width, $grid);
|
108
|
+
$this-layout-math : get-setting(layout-math, $grid);
|
109
|
+
$this-gutter-position : get-setting(gutter-position, $grid);
|
110
|
+
|
111
|
+
@for $location from 1 through column-count($this-columns) {
|
112
|
+
$this-stop: compact();
|
113
|
+
|
114
|
+
@if $location == 1 {
|
115
|
+
$this-stop: append($this-stop, $color, comma);
|
116
|
+
} @else {
|
117
|
+
$start: get-isolation(1, $location, $this-columns, $this-gutters, $this-column-width, $this-layout-math);
|
118
|
+
$this-stop: append($this-stop, $color $start, comma);
|
119
|
+
}
|
120
|
+
|
121
|
+
@if $location == column-count($this-columns) {
|
122
|
+
$this-stop: append($this-stop, $light, comma);
|
123
|
+
} @else {
|
124
|
+
$end-color: $light;
|
125
|
+
|
126
|
+
@if $this-gutter-position != inside {
|
127
|
+
$gutter: get-span-width($location, 1, $this-columns, $this-gutters, $this-column-width, $this-layout-math, $this-gutter-position);
|
128
|
+
$this-stop: append($this-stop, $light $gutter, comma);
|
129
|
+
$this-stop: append($this-stop, $trans $gutter, comma);
|
130
|
+
$end-color: $trans;
|
131
|
+
}
|
132
|
+
|
133
|
+
$end: get-isolation(1, $location + 1, $this-columns, $this-gutters, $this-column-width, $this-layout-math);
|
134
|
+
$this-stop: append($this-stop, $end-color $end, comma);
|
135
|
+
}
|
136
|
+
|
137
|
+
$stops: join($stops, $this-stop, comma);
|
138
|
+
}
|
139
|
+
|
140
|
+
@return $stops;
|
141
|
+
}
|