compass-flex-box 0.1 → 0.2
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.
data/stylesheets/_flex-box.scss
CHANGED
@@ -20,7 +20,7 @@ $default-justify-content: flex-start !default;
|
|
20
20
|
@mixin justify-content(
|
21
21
|
$justification: $default-justify-content
|
22
22
|
) {
|
23
|
-
@include
|
23
|
+
@include _flex-property(justify-content, $justification, flex-pack, box-pack);
|
24
24
|
}
|
25
25
|
|
26
26
|
// Cross-axis alignment: specifying alignment of items along the cross-axis
|
@@ -30,7 +30,7 @@ $default-align-items: stretch !default;
|
|
30
30
|
@mixin align-items(
|
31
31
|
$alignment: $default-align-items
|
32
32
|
) {
|
33
|
-
@include
|
33
|
+
@include _flex-property(align-items, $alignment, flex-align, box-align);
|
34
34
|
}
|
35
35
|
|
36
36
|
// Individual cross-axis alignment: override to align individual items along the cross-axis
|
@@ -40,7 +40,7 @@ $default-align-self: stretch !default;
|
|
40
40
|
@mixin align-self(
|
41
41
|
$alignment: $default-align-self
|
42
42
|
) {
|
43
|
-
@include
|
43
|
+
@include _flex-property(align-self, $alignment, flex-item-align, null);
|
44
44
|
}
|
45
45
|
|
46
46
|
// Flex line alignment: specifying alignment of flex lines along the cross-axis
|
@@ -50,7 +50,7 @@ $default-align-content: stretch !default;
|
|
50
50
|
@mixin align-content(
|
51
51
|
$alignment: $default-align-content
|
52
52
|
) {
|
53
|
-
@include
|
53
|
+
@include _flex-property(align-items, $alignment, flex-line-pack, null);
|
54
54
|
}
|
55
55
|
|
56
56
|
// Display order: specifying the order of flex items
|
@@ -60,7 +60,7 @@ $default-order: 1 !default;
|
|
60
60
|
@mixin order(
|
61
61
|
$order: $default-order
|
62
62
|
) {
|
63
|
-
@include
|
63
|
+
@include _flex-property(order, $order, flex-order, box-ordinal-group);
|
64
64
|
}
|
65
65
|
|
66
66
|
// Flexibility: specifying how the size of items flex
|
@@ -70,7 +70,7 @@ $default-flex: 1 !default;
|
|
70
70
|
@mixin flex(
|
71
71
|
$amount: $default-flex
|
72
72
|
) {
|
73
|
-
@include
|
73
|
+
@include _flex-property(flex, $amount, flex, box-flex);
|
74
74
|
}
|
75
75
|
|
76
76
|
$default-flex-grow: $default-flex !default;
|
@@ -78,7 +78,7 @@ $default-flex-grow: $default-flex !default;
|
|
78
78
|
@mixin flex-grow(
|
79
79
|
$amount: $default-flex-grow
|
80
80
|
) {
|
81
|
-
@include
|
81
|
+
@include _flex-property(flex-grow, $amount);
|
82
82
|
}
|
83
83
|
|
84
84
|
$default-flex-shrink: $default-flex !default;
|
@@ -86,7 +86,7 @@ $default-flex-shrink: $default-flex !default;
|
|
86
86
|
@mixin flex-shrink(
|
87
87
|
$amount: $default-flex-shrink
|
88
88
|
) {
|
89
|
-
@include
|
89
|
+
@include _flex-property(flex-shrink, $amount);
|
90
90
|
}
|
91
91
|
|
92
92
|
$default-flex-basis: $default-flex !default;
|
@@ -94,7 +94,7 @@ $default-flex-basis: $default-flex !default;
|
|
94
94
|
@mixin flex-basis(
|
95
95
|
$amount: $default-flex-basis
|
96
96
|
) {
|
97
|
-
@include
|
97
|
+
@include _flex-property(flex-basis, $amount);
|
98
98
|
}
|
99
99
|
|
100
100
|
// Direction: specifying the direction of the main flexbox axis
|
@@ -104,7 +104,7 @@ $default-flex-direction: row !default;
|
|
104
104
|
@mixin flex-direction(
|
105
105
|
$direction: $default-flex-direction
|
106
106
|
) {
|
107
|
-
@include
|
107
|
+
@include _flex-property(flex-direction, $direction, flex-direction, box-orient);
|
108
108
|
}
|
109
109
|
|
110
110
|
// Wrapping: specifying if and how flex items wrap along the cross-axis
|
@@ -114,7 +114,7 @@ $default-flex-wrap: nowrap !default;
|
|
114
114
|
@mixin flex-wrap(
|
115
115
|
$wrap: $default-flex-wrap
|
116
116
|
) {
|
117
|
-
@include
|
117
|
+
@include _flex-property(flex-wrap, $wrap, flex-wrap, box-lines);
|
118
118
|
}
|
119
119
|
|
120
120
|
// Shorthand for flex-direction & flex-wrap
|
@@ -124,61 +124,68 @@ $default-flex-flow: $default-flex-direction $default-flex-wrap !default;
|
|
124
124
|
@mixin flex-flow(
|
125
125
|
$flow: $default-flex-flow
|
126
126
|
) {
|
127
|
-
@include
|
127
|
+
@include _flex-property(flex-flow, $flow, flex-flow, null);
|
128
128
|
}
|
129
129
|
|
130
|
-
|
130
|
+
// Internal functions; not intended to be called directly
|
131
|
+
|
132
|
+
@mixin _flex-property($standard-property, $value, $ie-property: null, $legacy-property: null) {
|
131
133
|
$standard-property: unquote($standard-property);
|
132
|
-
$
|
133
|
-
$
|
134
|
+
$ie-property: unquote($ie-property);
|
135
|
+
$legacy-property: unquote($legacy-property);
|
134
136
|
$value: unquote($value);
|
135
137
|
$standard-value: $value;
|
136
|
-
$
|
137
|
-
$
|
138
|
+
$ie-value: _flex-value($standard-property, $value, ie);
|
139
|
+
$legacy-value: _flex-value($standard-property, $value, legacy);
|
138
140
|
|
139
141
|
// Safari, Firefox (buggy), iOS, Android browser, older WebKit browsers
|
140
|
-
@if $
|
141
|
-
|
142
|
-
|
143
|
-
|
142
|
+
@if $legacy-property {
|
143
|
+
@if $legacy-value {
|
144
|
+
@if $standard-property == flex-direction and ($value == row-reverse or $value == column-reverse) {
|
145
|
+
@include experimental(box-direction, reverse, -moz, -webkit, not -o, not -ms, not -khtml, not official);
|
146
|
+
}
|
147
|
+
@include experimental($legacy-property, $legacy-value, -moz, -webkit, not -o, not -ms, not -khtml, not official);
|
144
148
|
}
|
145
|
-
|
149
|
+
} @else {
|
150
|
+
@warn _support-warning($standard-property, "legacy");
|
146
151
|
}
|
152
|
+
|
147
153
|
// IE 10
|
148
|
-
@if $
|
149
|
-
@include experimental($
|
154
|
+
@if $ie-property and $ie-value {
|
155
|
+
@include experimental($ie-property, $ie-value, not -moz, not -webkit, not -o, -ms, not -khtml, not official);
|
150
156
|
}
|
157
|
+
|
151
158
|
// Chrome 21+, Opera 12.1, Firefox 22+
|
152
159
|
@include experimental($standard-property, $standard-value, not -moz, -webkit, not -o, not -ms, not -khtml, official);
|
153
160
|
}
|
154
161
|
|
155
|
-
@function
|
162
|
+
@function _flex-value($property, $value, $syntax) {
|
156
163
|
$new-value: $value;
|
157
164
|
$warning: false;
|
158
165
|
|
159
166
|
@if $property == justify-content {
|
160
167
|
@if $value == flex-start {
|
161
|
-
@if $syntax ==
|
168
|
+
@if $syntax == legacy or $syntax == ie {
|
162
169
|
$new-value: start;
|
163
170
|
}
|
164
171
|
}
|
165
172
|
@else if $value == flex-end {
|
166
|
-
@if $syntax ==
|
173
|
+
@if $syntax == legacy or $syntax == ie {
|
167
174
|
$new-value: end;
|
168
175
|
}
|
169
176
|
}
|
170
177
|
@else if $value == space-between {
|
171
|
-
@if $syntax ==
|
172
|
-
$warning: "\"#{$property}: #{$value}\" does not work in the
|
178
|
+
@if $syntax == legacy {
|
179
|
+
$warning: "\"#{$property}: #{$value}\" does not work in the legacy Firefox implementation";
|
173
180
|
}
|
174
|
-
@if $syntax ==
|
181
|
+
@if $syntax == legacy or $syntax == ie {
|
175
182
|
$new-value: justify;
|
176
183
|
}
|
177
184
|
}
|
178
185
|
@else if $value == space-around {
|
179
|
-
@if $syntax ==
|
186
|
+
@if $syntax == legacy {
|
180
187
|
$new-value: null;
|
181
|
-
} @else if $syntax ==
|
188
|
+
} @else if $syntax == ie {
|
182
189
|
$new-value: distribute;
|
183
190
|
}
|
184
191
|
}
|
@@ -186,12 +193,12 @@ $default-flex-flow: $default-flex-direction $default-flex-wrap !default;
|
|
186
193
|
|
187
194
|
@if $property == align-items {
|
188
195
|
@if $value == flex-start {
|
189
|
-
@if $syntax ==
|
196
|
+
@if $syntax == legacy or $syntax == ie {
|
190
197
|
$new-value: start;
|
191
198
|
}
|
192
199
|
}
|
193
200
|
@else if $value == flex-end {
|
194
|
-
@if $syntax ==
|
201
|
+
@if $syntax == legacy or $syntax == ie {
|
195
202
|
$new-value: end;
|
196
203
|
}
|
197
204
|
}
|
@@ -199,12 +206,12 @@ $default-flex-flow: $default-flex-direction $default-flex-wrap !default;
|
|
199
206
|
|
200
207
|
@if $property == align-self {
|
201
208
|
@if $value == flex-start {
|
202
|
-
@if $syntax ==
|
209
|
+
@if $syntax == ie {
|
203
210
|
$new-value: start;
|
204
211
|
}
|
205
212
|
}
|
206
213
|
@else if $value == flex-end {
|
207
|
-
@if $syntax ==
|
214
|
+
@if $syntax == ie {
|
208
215
|
$new-value: end;
|
209
216
|
}
|
210
217
|
}
|
@@ -212,36 +219,36 @@ $default-flex-flow: $default-flex-direction $default-flex-wrap !default;
|
|
212
219
|
|
213
220
|
@if $property == align-content {
|
214
221
|
@if $value == flex-start {
|
215
|
-
@if $syntax ==
|
222
|
+
@if $syntax == ie {
|
216
223
|
$new-value: start;
|
217
224
|
}
|
218
225
|
}
|
219
226
|
@else if $value == flex-end {
|
220
|
-
@if $syntax ==
|
227
|
+
@if $syntax == ie {
|
221
228
|
$new-value: end;
|
222
229
|
}
|
223
230
|
}
|
224
231
|
@else if $value == space-between {
|
225
|
-
@if $syntax ==
|
232
|
+
@if $syntax == ie {
|
226
233
|
$new-value: justify;
|
227
234
|
}
|
228
235
|
}
|
229
236
|
@else if $value == space-around {
|
230
|
-
@if $syntax ==
|
237
|
+
@if $syntax == ie {
|
231
238
|
$new-value: distribute;
|
232
239
|
}
|
233
240
|
}
|
234
241
|
}
|
235
242
|
|
236
243
|
@if $property == order {
|
237
|
-
@if $syntax ==
|
244
|
+
@if $syntax == legacy and $value < 1 {
|
238
245
|
$warning: "\"#{$property}\" must be a positive integer in the \"#{$syntax}\" syntax";
|
239
246
|
$new-value: null;
|
240
247
|
}
|
241
248
|
}
|
242
249
|
|
243
250
|
@if $property == flex {
|
244
|
-
@if $syntax ==
|
251
|
+
@if $syntax == legacy and type_of($value) != number {
|
245
252
|
$warning: "\"#{$property}\" only accepts an integer in the \"#{$syntax}\" syntax";
|
246
253
|
$new-value: null;
|
247
254
|
}
|
@@ -249,12 +256,12 @@ $default-flex-flow: $default-flex-direction $default-flex-wrap !default;
|
|
249
256
|
|
250
257
|
@if $property == flex-direction {
|
251
258
|
@if $value == row or $value == row-reverse {
|
252
|
-
@if $syntax ==
|
259
|
+
@if $syntax == legacy {
|
253
260
|
$new-value: horizontal;
|
254
261
|
}
|
255
262
|
}
|
256
263
|
@else if $value == column or $value == column-reverse {
|
257
|
-
@if $syntax ==
|
264
|
+
@if $syntax == legacy {
|
258
265
|
$new-value: vertical;
|
259
266
|
}
|
260
267
|
}
|
@@ -262,27 +269,29 @@ $default-flex-flow: $default-flex-direction $default-flex-wrap !default;
|
|
262
269
|
|
263
270
|
@if $property == flex-wrap {
|
264
271
|
@if $value == nowrap {
|
265
|
-
@if $syntax ==
|
272
|
+
@if $syntax == legacy {
|
266
273
|
$new-value: single;
|
267
274
|
}
|
268
275
|
}
|
269
276
|
@else if $value == wrap {
|
270
|
-
@if $syntax ==
|
277
|
+
@if $syntax == legacy {
|
271
278
|
$new-value: multiple;
|
272
279
|
}
|
273
280
|
}
|
274
281
|
@else if $value == wrap-reverse {
|
275
|
-
@if $syntax ==
|
282
|
+
@if $syntax == legacy {
|
276
283
|
$new-value: null;
|
277
284
|
}
|
278
285
|
}
|
279
286
|
}
|
280
287
|
|
281
288
|
@if $new-value == null or $warning {
|
282
|
-
@warn if($warning, $warning, "
|
289
|
+
@warn if($warning, $warning, _support-warning("#{$property}: #{$value}", $syntax));
|
283
290
|
}
|
284
291
|
|
285
292
|
@return $new-value;
|
286
293
|
}
|
287
294
|
|
288
|
-
|
295
|
+
@function _support-warning($value, $syntax) {
|
296
|
+
@return "\"#{$value}\" not supported in the #{$syntax} syntax"
|
297
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
6
|
+
<title>Flex Box</title>
|
7
|
+
<meta name="description" content="">
|
8
|
+
<meta name="viewport" content="width=device-width">
|
9
|
+
<link rel="stylesheet" href="stylesheets/compass-flex-box.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>FLEX BOX</h1>
|
13
|
+
<h2>Common Layouts</h2>
|
14
|
+
<h3>Horizontally & Vertically Centered Box</h3>
|
15
|
+
<p>Hover to change height & width</p>
|
16
|
+
<div class="centered-box-container">
|
17
|
+
<div class="centered-box">HOLY SHIT</div>
|
18
|
+
</div>
|
19
|
+
<h3>Nav</h3>
|
20
|
+
<p>One item fills all remaining space</p>
|
21
|
+
<div class="flex-nav">
|
22
|
+
<div class="flex-nav-item">Home</div>
|
23
|
+
<div class="flex-nav-item">Shop</div>
|
24
|
+
<div class="flex-nav-item">Sports</div>
|
25
|
+
<div class="flex-nav-item--search"><label><input type="search" placeholder="Search"></label></div>
|
26
|
+
<div class="flex-nav-item">Help</div>
|
27
|
+
<div class="flex-nav-item">Cart</div>
|
28
|
+
<div class="flex-nav-item">Join</div>
|
29
|
+
</div>
|
30
|
+
<h3>Holy Grail</h3>
|
31
|
+
<h4>Desktop</h4>
|
32
|
+
<div class="holy-grail">
|
33
|
+
<header>Header</header>
|
34
|
+
<main class="holy-grail-body">
|
35
|
+
<article>Main</article>
|
36
|
+
<nav>Nav</nav>
|
37
|
+
<aside>Sidebar</aside>
|
38
|
+
</main>
|
39
|
+
<footer>Footer</footer>
|
40
|
+
</div>
|
41
|
+
<h4>Mobile (Same Markup)</h4>
|
42
|
+
<div class="holy-grail is-mobile">
|
43
|
+
<header>Header</header>
|
44
|
+
<main class="holy-grail-body">
|
45
|
+
<article>Main</article>
|
46
|
+
<nav>Nav</nav>
|
47
|
+
<aside>Sidebar</aside>
|
48
|
+
</main>
|
49
|
+
<footer>Footer</footer>
|
50
|
+
</div>
|
51
|
+
</body>
|
52
|
+
</html>
|
@@ -0,0 +1,293 @@
|
|
1
|
+
@import "flex-box";
|
2
|
+
@import "compass/css3/box-sizing";
|
3
|
+
@import "compass/css3/transition";
|
4
|
+
|
5
|
+
body {
|
6
|
+
font-family: Helvetica;
|
7
|
+
}
|
8
|
+
|
9
|
+
%flex-container {
|
10
|
+
background-color: rgba(skyblue, 0.2);
|
11
|
+
@include display-flex();
|
12
|
+
min-height: 250px;
|
13
|
+
width: 100%;
|
14
|
+
}
|
15
|
+
|
16
|
+
.flex {
|
17
|
+
@extend %flex-container;
|
18
|
+
}
|
19
|
+
|
20
|
+
.flex--justify-content--flex-start {
|
21
|
+
@extend %flex-container;
|
22
|
+
@include justify-content(flex-start);
|
23
|
+
}
|
24
|
+
|
25
|
+
.flex--justify-content--center {
|
26
|
+
@extend %flex-container;
|
27
|
+
@include justify-content(center);
|
28
|
+
}
|
29
|
+
|
30
|
+
.flex--justify-content--flex-end {
|
31
|
+
@extend %flex-container;
|
32
|
+
@include justify-content(flex-end);
|
33
|
+
}
|
34
|
+
|
35
|
+
.flex--justify-content--space-between {
|
36
|
+
@extend %flex-container;
|
37
|
+
@include justify-content(space-between);
|
38
|
+
}
|
39
|
+
|
40
|
+
.flex--justify-content--space-around {
|
41
|
+
@extend %flex-container;
|
42
|
+
@include justify-content(space-around);
|
43
|
+
}
|
44
|
+
|
45
|
+
%flex-container--align-items {
|
46
|
+
@extend %flex-container;
|
47
|
+
@include justify-content(space-around);
|
48
|
+
}
|
49
|
+
|
50
|
+
.flex--align-items--flex-start {
|
51
|
+
@extend %flex-container--align-items;
|
52
|
+
@include align-items(flex-start);
|
53
|
+
}
|
54
|
+
|
55
|
+
.flex--align-items--center {
|
56
|
+
@extend %flex-container--align-items;
|
57
|
+
@include align-items(center);
|
58
|
+
}
|
59
|
+
|
60
|
+
.flex--align-items--flex-end {
|
61
|
+
@extend %flex-container--align-items;
|
62
|
+
@include align-items(flex-end);
|
63
|
+
}
|
64
|
+
|
65
|
+
.flex--align-items--baseline {
|
66
|
+
@extend %flex-container--align-items;
|
67
|
+
@include align-items(baseline);
|
68
|
+
|
69
|
+
> .flex-item:first-child {
|
70
|
+
height: 100px;
|
71
|
+
line-height: 100px;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
.flex--align-items--stretch {
|
76
|
+
@extend %flex-container--align-items;
|
77
|
+
@include align-items(stretch);
|
78
|
+
}
|
79
|
+
|
80
|
+
.flex--align-self {
|
81
|
+
@extend %flex-container;
|
82
|
+
@include justify-content(space-around);
|
83
|
+
|
84
|
+
> .flex-item--auto {
|
85
|
+
@extend .flex-item;
|
86
|
+
@include align-self(auto);
|
87
|
+
}
|
88
|
+
|
89
|
+
> .flex-item--flex-start {
|
90
|
+
@extend .flex-item;
|
91
|
+
@include align-self(flex-start);
|
92
|
+
}
|
93
|
+
|
94
|
+
> .flex-item--center {
|
95
|
+
@extend .flex-item;
|
96
|
+
@include align-self(center);
|
97
|
+
}
|
98
|
+
|
99
|
+
> .flex-item--flex-end {
|
100
|
+
@extend .flex-item;
|
101
|
+
@include align-self(flex-end);
|
102
|
+
}
|
103
|
+
|
104
|
+
> .flex-item--baseline {
|
105
|
+
@extend .flex-item;
|
106
|
+
@include align-self(baseline);
|
107
|
+
}
|
108
|
+
|
109
|
+
> .flex-item--stretch {
|
110
|
+
@extend .flex-item;
|
111
|
+
@include align-self(stretch);
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
115
|
+
.flex--flex-direction--row {
|
116
|
+
@extend %flex-container;
|
117
|
+
@include flex-direction(row);
|
118
|
+
}
|
119
|
+
|
120
|
+
.flex--flex-direction--row-reverse {
|
121
|
+
@extend %flex-container;
|
122
|
+
@include flex-direction(row-reverse);
|
123
|
+
}
|
124
|
+
|
125
|
+
.flex--flex-direction--column {
|
126
|
+
@extend %flex-container;
|
127
|
+
@include flex-direction(column);
|
128
|
+
}
|
129
|
+
|
130
|
+
.flex--flex-direction--column-reverse {
|
131
|
+
@extend %flex-container;
|
132
|
+
@include flex-direction(column-reverse);
|
133
|
+
}
|
134
|
+
|
135
|
+
.flex--flex-wrap--nowrap {
|
136
|
+
@extend %flex-container;
|
137
|
+
@include flex-wrap(nowrap);
|
138
|
+
}
|
139
|
+
|
140
|
+
.flex--flex-wrap--wrap {
|
141
|
+
@extend %flex-container;
|
142
|
+
@include flex-wrap(wrap);
|
143
|
+
}
|
144
|
+
|
145
|
+
.flex--flex-wrap--wrap-reverse {
|
146
|
+
@extend %flex-container;
|
147
|
+
@include flex-wrap(wrap-reverse);
|
148
|
+
}
|
149
|
+
|
150
|
+
$flex-item-dimension: 220px;
|
151
|
+
|
152
|
+
.flex-item {
|
153
|
+
@include display-flex();
|
154
|
+
@include justify-content(center);
|
155
|
+
@include align-items(center);
|
156
|
+
background-color: hotpink;
|
157
|
+
color: white;
|
158
|
+
height: $flex-item-dimension;
|
159
|
+
text-align: center;
|
160
|
+
width: $flex-item-dimension;
|
161
|
+
}
|
162
|
+
|
163
|
+
// Centered Box
|
164
|
+
|
165
|
+
.centered-box-container {
|
166
|
+
@extend %flex-container;
|
167
|
+
@include justify-content(center);
|
168
|
+
@include align-items(center);
|
169
|
+
height: 500px;
|
170
|
+
}
|
171
|
+
|
172
|
+
.centered-box {
|
173
|
+
@extend .flex-item;
|
174
|
+
@include single-transition();
|
175
|
+
|
176
|
+
&:hover {
|
177
|
+
height: 400px;
|
178
|
+
width: 500px;
|
179
|
+
}
|
180
|
+
}
|
181
|
+
|
182
|
+
// Holy Grail
|
183
|
+
|
184
|
+
$holy-grail-margin: 5px;
|
185
|
+
|
186
|
+
%holy-grail-item {
|
187
|
+
padding: 10px;
|
188
|
+
|
189
|
+
.is-mobile & {
|
190
|
+
@include flex(1);
|
191
|
+
@include order(1);
|
192
|
+
}
|
193
|
+
}
|
194
|
+
|
195
|
+
.holy-grail {
|
196
|
+
@include display-flex();
|
197
|
+
@include flex-direction(column);
|
198
|
+
margin: 0 auto;
|
199
|
+
width: 800px;
|
200
|
+
text-align: center;
|
201
|
+
|
202
|
+
&.is-mobile {
|
203
|
+
max-width: 320px;
|
204
|
+
}
|
205
|
+
|
206
|
+
> header, > footer {
|
207
|
+
@extend %holy-grail-item;
|
208
|
+
background-color: Moccasin;
|
209
|
+
}
|
210
|
+
}
|
211
|
+
|
212
|
+
.holy-grail-body {
|
213
|
+
@include display-flex();
|
214
|
+
@include flex-direction(row);
|
215
|
+
margin: $holy-grail-margin 0;
|
216
|
+
width: 100%;
|
217
|
+
|
218
|
+
.is-mobile & {
|
219
|
+
@include flex-direction(column);
|
220
|
+
margin: 0;
|
221
|
+
}
|
222
|
+
|
223
|
+
article {
|
224
|
+
@extend %holy-grail-item;
|
225
|
+
@include flex(3);
|
226
|
+
@include order(2);
|
227
|
+
background-color: PaleTurquoise;
|
228
|
+
margin: 0 $holy-grail-margin;
|
229
|
+
min-height: 100px;
|
230
|
+
|
231
|
+
.is-mobile & {
|
232
|
+
margin: 0;
|
233
|
+
}
|
234
|
+
}
|
235
|
+
|
236
|
+
nav {
|
237
|
+
@extend %holy-grail-item;
|
238
|
+
@include flex(1);
|
239
|
+
@include order(1);
|
240
|
+
background-color: hotpink;
|
241
|
+
}
|
242
|
+
|
243
|
+
aside {
|
244
|
+
@extend %holy-grail-item;
|
245
|
+
@include flex(1);
|
246
|
+
@include order(3);
|
247
|
+
background-color: Thistle;
|
248
|
+
}
|
249
|
+
}
|
250
|
+
|
251
|
+
// Nav
|
252
|
+
|
253
|
+
%flex-nav-item {
|
254
|
+
@include align-items(center);
|
255
|
+
@include display-flex();
|
256
|
+
@include justify-content(center);
|
257
|
+
background-color: #ccc;
|
258
|
+
border: {
|
259
|
+
left: 1px solid #999;
|
260
|
+
};
|
261
|
+
padding: 5px 10px;
|
262
|
+
}
|
263
|
+
|
264
|
+
.flex-nav {
|
265
|
+
@include display-flex();
|
266
|
+
width: 100%;
|
267
|
+
}
|
268
|
+
|
269
|
+
.flex-nav-item {
|
270
|
+
@extend %flex-nav-item;
|
271
|
+
|
272
|
+
&:hover {
|
273
|
+
background-color: #aaa;
|
274
|
+
}
|
275
|
+
}
|
276
|
+
|
277
|
+
.flex-nav-item--search {
|
278
|
+
@extend %flex-nav-item;
|
279
|
+
@include flex(1);
|
280
|
+
|
281
|
+
label {
|
282
|
+
display: block;
|
283
|
+
margin: 0 auto;
|
284
|
+
max-width: 500px;
|
285
|
+
width: 100%;
|
286
|
+
}
|
287
|
+
|
288
|
+
input {
|
289
|
+
@include box-sizing(border-box);
|
290
|
+
display: block;
|
291
|
+
width: 100%;
|
292
|
+
}
|
293
|
+
}
|
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
stylesheet 'screen.scss', :media => 'screen, projection'
|
1
|
+
discover :all
|
metadata
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: compass-flex-box
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: "0.
|
8
|
+
- 2
|
9
|
+
version: "0.2"
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Tim Hettler
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2013-06-
|
17
|
+
date: 2013-06-07 00:00:00 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: sass
|
@@ -56,6 +56,8 @@ extra_rdoc_files: []
|
|
56
56
|
files:
|
57
57
|
- lib/compass-flex-box.rb
|
58
58
|
- stylesheets/_flex-box.scss
|
59
|
+
- templates/example/compass-flex-box.html
|
60
|
+
- templates/example/compass-flex-box.scss
|
59
61
|
- templates/example/manifest.rb
|
60
62
|
homepage: https://github.com/timhettler/compass-flex-box
|
61
63
|
licenses: []
|