rapido-css 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.mkdn +21 -0
- data/lib/rapido-css.rb +3 -0
- data/stylesheets/_components.scss +24 -0
- data/stylesheets/_default-styles.scss +480 -0
- data/stylesheets/_functions.scss +50 -0
- data/stylesheets/_normalize.scss +513 -0
- data/stylesheets/_rapido.scss +12 -0
- data/stylesheets/_settings.scss +5 -0
- data/stylesheets/_susy.scss +16 -0
- data/stylesheets/_utilities.scss +8 -0
- data/stylesheets/components/_alerts.scss +24 -0
- data/stylesheets/components/_breadcrumbs.scss +15 -0
- data/stylesheets/components/_button-groups.scss +65 -0
- data/stylesheets/components/_buttons.scss +121 -0
- data/stylesheets/components/_captions.scss +54 -0
- data/stylesheets/components/_close.scss +27 -0
- data/stylesheets/components/_dropdowns.scss +190 -0
- data/stylesheets/components/_forms.scss +579 -0
- data/stylesheets/components/_images.scss +0 -0
- data/stylesheets/components/_modals.scss +271 -0
- data/stylesheets/components/_navs.scss +102 -0
- data/stylesheets/components/_pager.scss +56 -0
- data/stylesheets/components/_pagination.scss +90 -0
- data/stylesheets/components/_pills.scss +91 -0
- data/stylesheets/components/_responsive-navs.scss +166 -0
- data/stylesheets/components/_sliders.scss +86 -0
- data/stylesheets/components/_tables.scss +109 -0
- data/stylesheets/components/_tabs.scss +55 -0
- data/stylesheets/components/_type.scss +266 -0
- data/stylesheets/settings/_base.scss +32 -0
- data/stylesheets/settings/_colors.scss +16 -0
- data/stylesheets/settings/_components.scss +45 -0
- data/stylesheets/settings/_dimensions.scss +103 -0
- data/stylesheets/settings/_effects.scss +15 -0
- data/stylesheets/susy/_susy_background.scss +18 -0
- data/stylesheets/susy/_susy_functions.scss +376 -0
- data/stylesheets/susy/_susy_grid.scss +286 -0
- data/stylesheets/susy/_susy_isolation.scss +50 -0
- data/stylesheets/susy/_susy_margin.scss +93 -0
- data/stylesheets/susy/_susy_media.scss +112 -0
- data/stylesheets/susy/_susy_padding.scss +92 -0
- data/stylesheets/susy/_susy_settings.scss +56 -0
- data/stylesheets/susy/_susy_support.scss +198 -0
- data/stylesheets/susy/_susy_units.scss +159 -0
- data/stylesheets/utilities/_animations.scss +672 -0
- data/stylesheets/utilities/_debug.scss +41 -0
- data/stylesheets/utilities/_helper-classes.scss +32 -0
- data/stylesheets/utilities/_icon-fonts.scss +111 -0
- data/stylesheets/utilities/_media-queries.scss +45 -0
- data/stylesheets/utilities/_mixins.scss +372 -0
- data/stylesheets/utilities/_retina-sprites.scss +70 -0
- data/stylesheets/utilities/_sprites.scss +26 -0
- data/templates/project/manifest.rb +2 -0
- data/templates/project/screen.scss +2 -0
- metadata +116 -0
@@ -0,0 +1,286 @@
|
|
1
|
+
// ---------------------------------------------------------------------------
|
2
|
+
// Imports
|
3
|
+
|
4
|
+
@import "compass/utilities/general/clearfix";
|
5
|
+
@import "compass/css3/box-sizing";
|
6
|
+
|
7
|
+
// ---------------------------------------------------------------------------
|
8
|
+
// Border-Box Sizing
|
9
|
+
|
10
|
+
// Apply the border-box sizing model to all elements
|
11
|
+
// and adjust the grid math appropriately.
|
12
|
+
@mixin border-box-sizing {
|
13
|
+
$border-box-sizing: true;
|
14
|
+
* { @include box-sizing(border-box); }
|
15
|
+
}
|
16
|
+
|
17
|
+
// ---------------------------------------------------------------------------
|
18
|
+
// Container
|
19
|
+
|
20
|
+
// Set the width of a container
|
21
|
+
//
|
22
|
+
// $columns : The number of columns in the Grid Layout.
|
23
|
+
@mixin set-container-width(
|
24
|
+
$columns : $total-columns,
|
25
|
+
$style : $container-style
|
26
|
+
){
|
27
|
+
$width: container-outer-width($columns);
|
28
|
+
|
29
|
+
@if $style == 'static' {
|
30
|
+
@include if-rem(width, $width);
|
31
|
+
} @else {
|
32
|
+
@if $style == 'fluid' {
|
33
|
+
@if unit($width) == '%' { @include if-rem(width, $width); }
|
34
|
+
} @else {
|
35
|
+
@include if-rem(max-width, $width);
|
36
|
+
@if $legacy-support-for-ie6 {
|
37
|
+
@if unit($width) == 'rem' {
|
38
|
+
_width: round(convert-length($width, px));
|
39
|
+
} @else {
|
40
|
+
_width: $width;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
// Set the outer grid-containing element(s).
|
48
|
+
//
|
49
|
+
// $columns : The number of columns in the container.
|
50
|
+
@mixin apply-container(
|
51
|
+
$columns : $total-columns
|
52
|
+
){
|
53
|
+
@include pie-clearfix;
|
54
|
+
@include set-container-width($columns);
|
55
|
+
@include if-rem(padding-left, $grid-padding);
|
56
|
+
@include if-rem(padding-right, $grid-padding);
|
57
|
+
margin: { left: auto; right: auto; }
|
58
|
+
}
|
59
|
+
|
60
|
+
// Set one or more layouts on a grid-containing element at any number of media-query breakpoints.
|
61
|
+
//
|
62
|
+
// $media-layout-1 : [default:$total-columns] A list of values including -
|
63
|
+
// : One unitless number (representing columns in a layout)
|
64
|
+
// : Two optional lengths (representing min and max-width media-query breakpoints).
|
65
|
+
// $media-layout-2 ...-10 : [optional] Same as $media-layout-1
|
66
|
+
@mixin container(
|
67
|
+
$media-layout-1 : $total-columns,
|
68
|
+
$media-layout-2 : false,
|
69
|
+
$media-layout-3 : false,
|
70
|
+
$media-layout-4 : false,
|
71
|
+
$media-layout-5 : false,
|
72
|
+
$media-layout-6 : false,
|
73
|
+
$media-layout-7 : false,
|
74
|
+
$media-layout-8 : false,
|
75
|
+
$media-layout-9 : false,
|
76
|
+
$media-layout-10 : false
|
77
|
+
){
|
78
|
+
$media-layouts : compact($media-layout-2,$media-layout-3,$media-layout-4,$media-layout-5,$media-layout-6,$media-layout-7,$media-layout-8,$media-layout-9,$media-layout-10);
|
79
|
+
|
80
|
+
@if is-default-layout($media-layout-1) {
|
81
|
+
@include apply-container();
|
82
|
+
} @else {
|
83
|
+
@include at-breakpoint($media-layout-1) {
|
84
|
+
@include apply-container();
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
@each $ml in $media-layouts {
|
89
|
+
@if $ml {
|
90
|
+
@include at-breakpoint($ml) {
|
91
|
+
@include set-container-width;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
// ---------------------------------------------------------------------------
|
98
|
+
// Columns
|
99
|
+
|
100
|
+
// Create a grid element spanning any number of 'columns' in a grid 'context'.
|
101
|
+
// $columns : The number of columns to span.
|
102
|
+
// $context : [optional] The context (columns spanned by parent).
|
103
|
+
// : Context is required on any nested elements.
|
104
|
+
// : Context MUST NOT be declared on a root element.
|
105
|
+
// $padding : [optional] Padding applied to the inside of individual grid columns.
|
106
|
+
// : Padding is only output if one or two values are specified (e.g. 1em or 10px 20px)
|
107
|
+
// : Padding values are applied only on the horizontal axis in from-to order
|
108
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
109
|
+
// $style : The container style to use.
|
110
|
+
@mixin span-columns(
|
111
|
+
$columns,
|
112
|
+
$context : $total-columns,
|
113
|
+
$padding : false,
|
114
|
+
$from : $from-direction,
|
115
|
+
$style : fix-static-misalignment()
|
116
|
+
) {
|
117
|
+
$from : unquote($from);
|
118
|
+
$to : opposite-position($from);
|
119
|
+
$pos : split-columns-value($columns,position);
|
120
|
+
$cols : split-columns-value($columns,columns);
|
121
|
+
$pad-from : if($style == static, 0 * $gutter-width, relative-width(0 * $gutter-width, $context));
|
122
|
+
$pad-to : if($style == static, 0 * $gutter-width, relative-width(0 * $gutter-width, $context));
|
123
|
+
|
124
|
+
@if $padding != false {
|
125
|
+
$pad-from : nth($padding, 1);
|
126
|
+
|
127
|
+
@if length($padding) > 1 {
|
128
|
+
$pad-to: nth($padding, 2);
|
129
|
+
} @else {
|
130
|
+
$pad-to: $pad-from;
|
131
|
+
}
|
132
|
+
|
133
|
+
$pad-from : if($style == static, $pad-from, relative-width($pad-from, $context));
|
134
|
+
$pad-to : if($style == static, $pad-to, relative-width($pad-to, $context));
|
135
|
+
|
136
|
+
padding-#{$from}: $pad-from;
|
137
|
+
padding-#{$to}: $pad-to;
|
138
|
+
}
|
139
|
+
|
140
|
+
width: columns($cols, $context, $style) - if($border-box-sizing, 0, $pad-to + $pad-from);
|
141
|
+
|
142
|
+
@if ($pos == 'omega') {
|
143
|
+
@include omega($from);
|
144
|
+
} @else {
|
145
|
+
float: $from;
|
146
|
+
margin-#{$to}: gutter($context, $style);
|
147
|
+
@if $legacy-support-for-ie6 { display: inline; }
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
// Apply to elements spanning the last column, to account for the page edge.
|
152
|
+
// Only needed as an override. Normally 'omega' can just be called by `columns`.
|
153
|
+
//
|
154
|
+
// $from : The start-direction for your document.
|
155
|
+
@mixin omega(
|
156
|
+
$from : $from-direction
|
157
|
+
) {
|
158
|
+
$from : unquote($from);
|
159
|
+
$to : opposite-position($from);
|
160
|
+
$hack : opposite-position($omega-float);
|
161
|
+
|
162
|
+
float: $omega-float;
|
163
|
+
margin-#{$to}: 0;
|
164
|
+
|
165
|
+
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
|
166
|
+
*margin-#{$hack}: - $gutter-width;
|
167
|
+
@if $legacy-support-for-ie6 { display: inline; }
|
168
|
+
}
|
169
|
+
}
|
170
|
+
|
171
|
+
// Shortcut to apply omega to a specific subset of elements.
|
172
|
+
//
|
173
|
+
// $n : [first | only | last | <equation>]
|
174
|
+
// $selector : [child | last-child | of-type | last-of-type ]
|
175
|
+
// $from : The start-direction for your document.
|
176
|
+
@mixin nth-omega(
|
177
|
+
$n : last,
|
178
|
+
$selector : child,
|
179
|
+
$from : $from-direction
|
180
|
+
) {
|
181
|
+
$from : unquote($from);
|
182
|
+
$ie: if($n == "first", true, false);
|
183
|
+
@include adjust-support-for($ie6: $ie, $ie7: $ie, $ie8: $ie) {
|
184
|
+
&:#{format-nth($n,$selector)} { @include omega($from); }
|
185
|
+
}
|
186
|
+
}
|
187
|
+
|
188
|
+
// ---------------------------------------------------------------------------
|
189
|
+
// Resets
|
190
|
+
|
191
|
+
// Reset a '+columns' grid element to default block behavior
|
192
|
+
//
|
193
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
194
|
+
@mixin reset-columns(
|
195
|
+
$from: $from-direction
|
196
|
+
) {
|
197
|
+
$from : unquote($from);
|
198
|
+
$to : opposite-position($from);
|
199
|
+
$hack : opposite-position($omega-float);
|
200
|
+
|
201
|
+
float: none;
|
202
|
+
width: auto;
|
203
|
+
margin-#{$to}: auto;
|
204
|
+
|
205
|
+
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
|
206
|
+
*margin-#{$hack}: auto;
|
207
|
+
@if $legacy-support-for-ie6 { display: block; }
|
208
|
+
}
|
209
|
+
}
|
210
|
+
|
211
|
+
// Apply to elements previously set as omega.
|
212
|
+
// This will return floats and margins back to non-omega settigns.
|
213
|
+
//
|
214
|
+
// $context : [optional] The context (columns spanned by parent).
|
215
|
+
// $from : The start-direction for your document.
|
216
|
+
// $style : The container style to use.
|
217
|
+
@mixin remove-omega(
|
218
|
+
$context : $total-columns,
|
219
|
+
$from : $from-direction,
|
220
|
+
$style : fix-static-misalignment()
|
221
|
+
) {
|
222
|
+
$from : unquote($from);
|
223
|
+
$to : opposite-position($from);
|
224
|
+
$hack : opposite-position($omega-float);
|
225
|
+
|
226
|
+
float: $from;
|
227
|
+
margin-#{$to}: gutter($context, $style);
|
228
|
+
|
229
|
+
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
|
230
|
+
*margin-#{$hack}: auto;
|
231
|
+
}
|
232
|
+
}
|
233
|
+
|
234
|
+
// Shortcut to apply remove-omega to a specific subset of elements.
|
235
|
+
//
|
236
|
+
// $n : [first | only | last | <equation>]
|
237
|
+
// $selector : [child | last-child | of-type | last-of-type ]
|
238
|
+
// $context : [optional] The context (columns spanned by parent).
|
239
|
+
// $from : The start-direction for your document.
|
240
|
+
// $style : The container style to use.
|
241
|
+
@mixin remove-nth-omega(
|
242
|
+
$n : last,
|
243
|
+
$selector : child,
|
244
|
+
$context : $total-columns,
|
245
|
+
$from : $from-direction,
|
246
|
+
$style : fix-static-misalignment()
|
247
|
+
) {
|
248
|
+
$from : unquote($from);
|
249
|
+
$ie: if($n == "first", true, false);
|
250
|
+
@include adjust-support-for($ie6: $ie, $ie7: $ie, $ie8: $ie) {
|
251
|
+
&:#{format-nth($n,$selector)} {
|
252
|
+
@include remove-omega($context, $from, $style);
|
253
|
+
}
|
254
|
+
}
|
255
|
+
}
|
256
|
+
|
257
|
+
// ---------------------------------------------------------------------------
|
258
|
+
// Change Settings
|
259
|
+
|
260
|
+
@mixin with-grid-settings(
|
261
|
+
$columns: $total-columns,
|
262
|
+
$width: $column-width,
|
263
|
+
$gutter: $gutter-width,
|
264
|
+
$padding: $grid-padding
|
265
|
+
) {
|
266
|
+
// keep the defaults around
|
267
|
+
$default-columns: $total-columns;
|
268
|
+
$default-width: $column-width;
|
269
|
+
$default-gutter: $gutter-width;
|
270
|
+
$default-padding: $grid-padding;
|
271
|
+
|
272
|
+
// use the new settings
|
273
|
+
$total-columns: $columns;
|
274
|
+
$column-width: $width;
|
275
|
+
$gutter-width: $gutter;
|
276
|
+
$grid-padding: $padding;
|
277
|
+
|
278
|
+
// apply to contents
|
279
|
+
@content;
|
280
|
+
|
281
|
+
// re-instate the defaults
|
282
|
+
$total-columns: $default-columns;
|
283
|
+
$column-width: $default-width;
|
284
|
+
$gutter-width: $default-gutter;
|
285
|
+
$grid-padding: $default-padding;
|
286
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
// ---------------------------------------------------------------------------
|
2
|
+
// Isolation
|
3
|
+
|
4
|
+
// Isolate the position of a grid element (use in addition to span-columns)
|
5
|
+
//
|
6
|
+
// $location : The grid column to isolate in, relative to the container;
|
7
|
+
// $context : [optional] The context (columns spanned by parent).
|
8
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
9
|
+
@mixin isolate(
|
10
|
+
$location,
|
11
|
+
$context: $total-columns,
|
12
|
+
$from: $from-direction,
|
13
|
+
$style: fix-static-misalignment()
|
14
|
+
) {
|
15
|
+
$to: opposite-position($from);
|
16
|
+
margin-#{$to}: -100%;
|
17
|
+
margin-#{$from}: space($location - 1, $context, $style);
|
18
|
+
}
|
19
|
+
|
20
|
+
// Isolate a group of elements in a grid, using nth-child selectors
|
21
|
+
//
|
22
|
+
// $columns : The column-width of each item on the grid;
|
23
|
+
// $context : [optional] The context (columns spanned by parent).
|
24
|
+
// $selector : [child | of-type | last-of-type ] (default is 'child')
|
25
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
26
|
+
@mixin isolate-grid(
|
27
|
+
$columns,
|
28
|
+
$context: $total-columns,
|
29
|
+
$selector: 'child',
|
30
|
+
$from: $from-direction,
|
31
|
+
$style: fix-static-misalignment()
|
32
|
+
) {
|
33
|
+
$to: opposite-position($from);
|
34
|
+
$location: 1;
|
35
|
+
$line: floor($context / $columns);
|
36
|
+
|
37
|
+
@include span-columns($columns, $context, $from: $from, $style: $style);
|
38
|
+
margin-#{$to}: -100%;
|
39
|
+
|
40
|
+
@for $item from 1 through $line {
|
41
|
+
$nth: '#{$line}n + #{$item}';
|
42
|
+
&:#{format-nth($nth,$selector)} {
|
43
|
+
margin-#{$from}: space($location - 1, $context, $style);
|
44
|
+
@if $location == 1 { clear: $from; }
|
45
|
+
|
46
|
+
$location: $location + $columns;
|
47
|
+
@if $location > $context { $location: 1; }
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
@@ -0,0 +1,93 @@
|
|
1
|
+
// ---------------------------------------------------------------------------
|
2
|
+
// Margin Mixins
|
3
|
+
|
4
|
+
// Apply 'columns' margin before an element to push it along the grid.
|
5
|
+
//
|
6
|
+
// $columns : The number of columns to span.
|
7
|
+
// $context : [optional] The context (columns spanned by parent).
|
8
|
+
// : Context is required on any nested elements.
|
9
|
+
// : Context MUST NOT be declared on a root element.
|
10
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
11
|
+
// $style : The container style to use.
|
12
|
+
@mixin pre(
|
13
|
+
$columns,
|
14
|
+
$context : $total-columns,
|
15
|
+
$from : $from-direction,
|
16
|
+
$style : fix-static-misalignment()
|
17
|
+
) {
|
18
|
+
$from : unquote($from);
|
19
|
+
margin-#{$from}: space($columns, $context, $style);
|
20
|
+
}
|
21
|
+
|
22
|
+
// 'push' is a synonymn for 'pre'
|
23
|
+
@mixin push(
|
24
|
+
$columns,
|
25
|
+
$context : $total-columns,
|
26
|
+
$from : $from-direction,
|
27
|
+
$style : fix-static-misalignment()
|
28
|
+
) {
|
29
|
+
$from : unquote($from);
|
30
|
+
@include pre($columns, $context, $from, $style);
|
31
|
+
}
|
32
|
+
|
33
|
+
// Apply negative 'columns' margin before an element to pull it along the grid.
|
34
|
+
//
|
35
|
+
// $columns : The number of columns to span.
|
36
|
+
// $context : [optional] The context (columns spanned by parent).
|
37
|
+
// : Context is required on any nested elements.
|
38
|
+
// : Context MUST NOT be declared on a root element.
|
39
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
40
|
+
// $style : The container style to use.
|
41
|
+
@mixin pull(
|
42
|
+
$columns,
|
43
|
+
$context : $total-columns,
|
44
|
+
$from : $from-direction,
|
45
|
+
$style : fix-static-misalignment()
|
46
|
+
) {
|
47
|
+
$from : unquote($from);
|
48
|
+
margin-#{$from}: 0 - space($columns, $context, $style);
|
49
|
+
}
|
50
|
+
|
51
|
+
// Apply 'columns' margin after an element to contain it in a grid.
|
52
|
+
//
|
53
|
+
// $columns : The number of columns to span.
|
54
|
+
// $context : [optional] The context (columns spanned by parent).
|
55
|
+
// : Context is required on any nested elements.
|
56
|
+
// : Context MUST NOT be declared on a root element.
|
57
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
58
|
+
// $style : The container style to use.
|
59
|
+
@mixin post(
|
60
|
+
$columns,
|
61
|
+
$context : $total-columns,
|
62
|
+
$from : $from-direction,
|
63
|
+
$style : fix-static-misalignment()
|
64
|
+
) {
|
65
|
+
$from : unquote($from);
|
66
|
+
$to : opposite-position($from);
|
67
|
+
margin-#{$to}: space($columns, $context, $style);
|
68
|
+
}
|
69
|
+
|
70
|
+
// Apply 'columns' before and/or after an element to contain it on a grid.
|
71
|
+
//
|
72
|
+
// $pre : The number of columns to add as margin before.
|
73
|
+
// $post : The number of columns to add as margin after.
|
74
|
+
// $context : [optional] The context (columns spanned by parent).
|
75
|
+
// : Context is required on any nested elements.
|
76
|
+
// : Context MUST NOT be declared on a root element.
|
77
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
78
|
+
// $style : The container style to use.
|
79
|
+
@mixin squish(
|
80
|
+
$pre : false,
|
81
|
+
$post : false,
|
82
|
+
$context : $total-columns,
|
83
|
+
$from : $from-direction,
|
84
|
+
$style : fix-static-misalignment()
|
85
|
+
) {
|
86
|
+
$from : unquote($from);
|
87
|
+
@if $pre {
|
88
|
+
@include pre($pre, $context, $from, $style)
|
89
|
+
}
|
90
|
+
@if $post {
|
91
|
+
@include post($post, $context, $from, $style)
|
92
|
+
}
|
93
|
+
}
|
@@ -0,0 +1,112 @@
|
|
1
|
+
// ---------------------------------------------------------------------------
|
2
|
+
// Media Mixins
|
3
|
+
|
4
|
+
// Create a new layout context for (@content) descendants.
|
5
|
+
//
|
6
|
+
// $layout-cols : a (unitless) number of columns to use for this layout.
|
7
|
+
@mixin layout(
|
8
|
+
$layout-cols
|
9
|
+
) {
|
10
|
+
// store default $total-columns setting for later, then change it.
|
11
|
+
$default-layout : $total-columns;
|
12
|
+
$total-columns : $layout-cols;
|
13
|
+
|
14
|
+
// apply children in this new layout context.
|
15
|
+
@content;
|
16
|
+
|
17
|
+
// return to default $total-columns setting.
|
18
|
+
$total-columns : $default-layout;
|
19
|
+
}
|
20
|
+
|
21
|
+
// Nest a block of code inside a new media-query and layout context.
|
22
|
+
//
|
23
|
+
// $media-layout : a list of values [$min $layout $max $ie] including...
|
24
|
+
// : - one unitless number (columns in a layout)
|
25
|
+
// : - two optional lengths (min and max-width media-query breakpoints).
|
26
|
+
// : - one optional boolean or string to trigger fallback support for IE.
|
27
|
+
// $font-size : [optional] The base font-size of your layout, if you are using ems.
|
28
|
+
// : - defaults to $base-font-size
|
29
|
+
@mixin at-breakpoint(
|
30
|
+
$media-layout,
|
31
|
+
$font-size: $base-font-size
|
32
|
+
) {
|
33
|
+
$media-layout : medialayout($media-layout,$font-size);
|
34
|
+
$min : nth($media-layout,1);
|
35
|
+
$layout : nth($media-layout,2);
|
36
|
+
$max : nth($media-layout,3);
|
37
|
+
$ie : nth($media-layout,4);
|
38
|
+
|
39
|
+
@if (not $breakpoint-media-output) and (not $breakpoint-ie-output) and (not $breakpoint-raw-output) {
|
40
|
+
@warn "Either $breakpoint-media-output, $breakpoint-ie-output, or $breakpoint-raw-output must be true for at-breakpoint to work.";
|
41
|
+
}
|
42
|
+
|
43
|
+
// We need to have either a min-width breakpoint or a layout in order to proceed.
|
44
|
+
@if $min or $layout or $max {
|
45
|
+
|
46
|
+
// If we don't have a layout, we create one based on the min-width.
|
47
|
+
@if not $layout {
|
48
|
+
$layout: get-layout($min);
|
49
|
+
}
|
50
|
+
|
51
|
+
// If we still don't have a layout, we have a problem.
|
52
|
+
@if $layout {
|
53
|
+
// Set our new layout context.
|
54
|
+
@include layout($layout) {
|
55
|
+
@if $breakpoint-media-output {
|
56
|
+
// Capture current state of ie support and set new
|
57
|
+
$atbreak-legacy-ie-matrix: capture-legacy-ie-matrix();
|
58
|
+
@include set-legacy-ie-support;
|
59
|
+
|
60
|
+
@if $min and $max {
|
61
|
+
// Both $min and $max
|
62
|
+
@media (min-width: $min) and (max-width: $max) {
|
63
|
+
@content;
|
64
|
+
}
|
65
|
+
} @else {
|
66
|
+
@if (not $min) and (not $max) {
|
67
|
+
// Neither $min nor $max:
|
68
|
+
// We can create a breakpoint based on the number of columns in the layout.
|
69
|
+
$min: fix-ems(container-outer-width($width: false));
|
70
|
+
}
|
71
|
+
@if $min {
|
72
|
+
// Min only:
|
73
|
+
@media (min-width: $min) {
|
74
|
+
@content;
|
75
|
+
}
|
76
|
+
} @else {
|
77
|
+
// Max only:
|
78
|
+
@media (max-width: $max) {
|
79
|
+
@content;
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}
|
83
|
+
// Return legacy-ie support to original
|
84
|
+
@include set-legacy-ie-support($atbreak-legacy-ie-matrix...);
|
85
|
+
}
|
86
|
+
// Set an IE fallback
|
87
|
+
@if $ie and $breakpoint-ie-output {
|
88
|
+
@if (type-of($ie) == 'bool') {
|
89
|
+
$ie: 'lt-ie9';
|
90
|
+
}
|
91
|
+
.#{$ie} & {
|
92
|
+
$atbreak-experimental-matrix: capture-experimental-matrix();
|
93
|
+
@include set-experimental-support($ms: true);
|
94
|
+
@content;
|
95
|
+
@include set-experimental-support($atbreak-experimental-matrix...);
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
@if $breakpoint-raw-output {
|
100
|
+
@content;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
} @else {
|
104
|
+
@warn "Something went horribly wrong here. Try adjusting your variables.";
|
105
|
+
}
|
106
|
+
|
107
|
+
} @else {
|
108
|
+
@warn "You need to provide either a valid layout (number of columns)
|
109
|
+
or a valid media-query min-width breakpoint (length).";
|
110
|
+
}
|
111
|
+
|
112
|
+
}
|
@@ -0,0 +1,92 @@
|
|
1
|
+
// ---------------------------------------------------------------------------
|
2
|
+
// Padding Mixins
|
3
|
+
|
4
|
+
// add empty colums as padding before an element.
|
5
|
+
// $columns : The number of columns to prefix.
|
6
|
+
// $context : [optional] The context (columns spanned by parent).
|
7
|
+
// : Context is required on any nested elements.
|
8
|
+
// : Context MUST NOT be declared on a root element.
|
9
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
10
|
+
// $style : The container style to use.
|
11
|
+
@mixin prefix(
|
12
|
+
$columns,
|
13
|
+
$context : $total-columns,
|
14
|
+
$from : $from-direction,
|
15
|
+
$style : fix-static-misalignment()
|
16
|
+
) {
|
17
|
+
$from : unquote($from);
|
18
|
+
padding-#{$from}: space($columns, $context, $style);
|
19
|
+
}
|
20
|
+
|
21
|
+
// add empty colums as padding after an element.
|
22
|
+
// $columns : The number of columns to suffix.
|
23
|
+
// $context : [optional] The context (columns spanned by parent).
|
24
|
+
// : Context is required on any nested elements.
|
25
|
+
// : Context MUST NOT be declared on a root element.
|
26
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
27
|
+
// $style : The container style to use.
|
28
|
+
@mixin suffix(
|
29
|
+
$columns,
|
30
|
+
$context : $total-columns,
|
31
|
+
$from : $from-direction,
|
32
|
+
$style : fix-static-misalignment()
|
33
|
+
) {
|
34
|
+
$from : unquote($from);
|
35
|
+
$to : opposite-position($from);
|
36
|
+
padding-#{$to}: space($columns, $context, $style);
|
37
|
+
}
|
38
|
+
|
39
|
+
// add empty colums as padding before and after an element.
|
40
|
+
// $columns : The number of columns to pad.
|
41
|
+
// $context : [optional] The context (columns spanned by parent).
|
42
|
+
// : Context is required on any nested elements.
|
43
|
+
// : Context MUST NOT be declared on a root element.
|
44
|
+
// $from : The start direction of your layout (e.g. 'left' for ltr languages)
|
45
|
+
// $style : The container style to use.
|
46
|
+
@mixin pad(
|
47
|
+
$prefix : false,
|
48
|
+
$suffix : false,
|
49
|
+
$context : $total-columns,
|
50
|
+
$from : $from-direction,
|
51
|
+
$style : fix-static-misalignment()
|
52
|
+
) {
|
53
|
+
$from : unquote($from);
|
54
|
+
@if $prefix {
|
55
|
+
@include prefix($prefix, $context, $from, $style);
|
56
|
+
}
|
57
|
+
@if $suffix {
|
58
|
+
@include suffix($suffix, $context, $from, $style);
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
// Bleed into colums with margin/padding on any side of an element.
|
63
|
+
// $width : The side of the bleed.
|
64
|
+
// : Any unit-length will be used directly.
|
65
|
+
// : Any unitless number will be used as a column-count.
|
66
|
+
// : Use "2 of 6" format to represent 2 cals in a 6-col nested context.
|
67
|
+
// $sides : One or more sides to bleed [ top | right | bottom | left | all ].
|
68
|
+
// $style : The container style to use.
|
69
|
+
@mixin bleed(
|
70
|
+
$width: $grid-padding,
|
71
|
+
$sides: left right,
|
72
|
+
$style: fix-static-misalignment()
|
73
|
+
) {
|
74
|
+
@if $border-box-sizing { @include box-sizing(content-box) }
|
75
|
+
|
76
|
+
@if type-of($width) == 'list' {
|
77
|
+
$width: filter($width, of);
|
78
|
+
$width: space(nth($width,1), nth($width,2), $style);
|
79
|
+
} @else if unitless($width) {
|
80
|
+
$width: space($width, $style: $style);
|
81
|
+
}
|
82
|
+
|
83
|
+
@if $sides == 'all' {
|
84
|
+
margin: - $width;
|
85
|
+
padding: $width;
|
86
|
+
} @else {
|
87
|
+
@each $side in $sides {
|
88
|
+
margin-#{$side}: - $width;
|
89
|
+
padding-#{$side}: $width;
|
90
|
+
}
|
91
|
+
}
|
92
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
// ---------------------------------------------------------------------------
|
2
|
+
// Susy Settings
|
3
|
+
|
4
|
+
// The total number of columns in the grid
|
5
|
+
$total-columns : 12 !default;
|
6
|
+
|
7
|
+
// The width of columns and gutters.
|
8
|
+
// These must all be set with the comparable units.
|
9
|
+
$column-width : 4em !default;
|
10
|
+
$gutter-width : 1em !default;
|
11
|
+
|
12
|
+
// Padding on the left and right of a Grid Container.
|
13
|
+
$grid-padding : $gutter-width !default;
|
14
|
+
|
15
|
+
// ---------------------------------------------------------------------------
|
16
|
+
// Advanced Settings
|
17
|
+
|
18
|
+
// From Direction:
|
19
|
+
// Controls for right-to-left or bi-directional sites.
|
20
|
+
$from-direction : left !default;
|
21
|
+
|
22
|
+
// Omega Float Direction:
|
23
|
+
// The direction that +omega elements are floated by deafult.
|
24
|
+
$omega-float : opposite-position($from-direction) !default;
|
25
|
+
|
26
|
+
// Container Width:
|
27
|
+
// Override the total width of your grid, using any length (50em, 75%, etc.)
|
28
|
+
$container-width : false !default;
|
29
|
+
|
30
|
+
// Container Style:
|
31
|
+
// 'magic' - Static (fixed or elastic) when there's enough space,
|
32
|
+
// fluid when there isn't. This is the SUSY MAGIC SAUCE(TM).
|
33
|
+
// 'static' - Forces the grid container to remain static at all times.
|
34
|
+
// 'fluid' - Forces the grid to remain fluid at all times.
|
35
|
+
// (this will overrule any static $container-width settings)
|
36
|
+
$container-style : magic !default;
|
37
|
+
|
38
|
+
// Border-Box Sizing
|
39
|
+
// Adjust the grid math appropriately for box-sizing: border-box;
|
40
|
+
// Warning: This does not actually apply the new box model!
|
41
|
+
// In most cases you can ignore this setting,
|
42
|
+
// and simply apply the border-box-sizing mixin.
|
43
|
+
$border-box-sizing : false !default;
|
44
|
+
|
45
|
+
// ---------------------------------------------------------------------------
|
46
|
+
// IE Settings
|
47
|
+
|
48
|
+
// When you are using a seperate IE stylesheet,
|
49
|
+
// you can use these settings to control the output of at-breakpoint.
|
50
|
+
// By default, at-breakpoint will output media-queries as well as
|
51
|
+
// any defined ie-fallback classes.
|
52
|
+
$breakpoint-media-output : true !default;
|
53
|
+
$breakpoint-ie-output : true !default;
|
54
|
+
|
55
|
+
// Danger Zone! Only set as 'true' in IE-specific style sheets.
|
56
|
+
$breakpoint-raw-output : false !default;
|