rapido-css 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/README.mkdn +21 -0
  2. data/lib/rapido-css.rb +3 -0
  3. data/stylesheets/_components.scss +24 -0
  4. data/stylesheets/_default-styles.scss +480 -0
  5. data/stylesheets/_functions.scss +50 -0
  6. data/stylesheets/_normalize.scss +513 -0
  7. data/stylesheets/_rapido.scss +12 -0
  8. data/stylesheets/_settings.scss +5 -0
  9. data/stylesheets/_susy.scss +16 -0
  10. data/stylesheets/_utilities.scss +8 -0
  11. data/stylesheets/components/_alerts.scss +24 -0
  12. data/stylesheets/components/_breadcrumbs.scss +15 -0
  13. data/stylesheets/components/_button-groups.scss +65 -0
  14. data/stylesheets/components/_buttons.scss +121 -0
  15. data/stylesheets/components/_captions.scss +54 -0
  16. data/stylesheets/components/_close.scss +27 -0
  17. data/stylesheets/components/_dropdowns.scss +190 -0
  18. data/stylesheets/components/_forms.scss +579 -0
  19. data/stylesheets/components/_images.scss +0 -0
  20. data/stylesheets/components/_modals.scss +271 -0
  21. data/stylesheets/components/_navs.scss +102 -0
  22. data/stylesheets/components/_pager.scss +56 -0
  23. data/stylesheets/components/_pagination.scss +90 -0
  24. data/stylesheets/components/_pills.scss +91 -0
  25. data/stylesheets/components/_responsive-navs.scss +166 -0
  26. data/stylesheets/components/_sliders.scss +86 -0
  27. data/stylesheets/components/_tables.scss +109 -0
  28. data/stylesheets/components/_tabs.scss +55 -0
  29. data/stylesheets/components/_type.scss +266 -0
  30. data/stylesheets/settings/_base.scss +32 -0
  31. data/stylesheets/settings/_colors.scss +16 -0
  32. data/stylesheets/settings/_components.scss +45 -0
  33. data/stylesheets/settings/_dimensions.scss +103 -0
  34. data/stylesheets/settings/_effects.scss +15 -0
  35. data/stylesheets/susy/_susy_background.scss +18 -0
  36. data/stylesheets/susy/_susy_functions.scss +376 -0
  37. data/stylesheets/susy/_susy_grid.scss +286 -0
  38. data/stylesheets/susy/_susy_isolation.scss +50 -0
  39. data/stylesheets/susy/_susy_margin.scss +93 -0
  40. data/stylesheets/susy/_susy_media.scss +112 -0
  41. data/stylesheets/susy/_susy_padding.scss +92 -0
  42. data/stylesheets/susy/_susy_settings.scss +56 -0
  43. data/stylesheets/susy/_susy_support.scss +198 -0
  44. data/stylesheets/susy/_susy_units.scss +159 -0
  45. data/stylesheets/utilities/_animations.scss +672 -0
  46. data/stylesheets/utilities/_debug.scss +41 -0
  47. data/stylesheets/utilities/_helper-classes.scss +32 -0
  48. data/stylesheets/utilities/_icon-fonts.scss +111 -0
  49. data/stylesheets/utilities/_media-queries.scss +45 -0
  50. data/stylesheets/utilities/_mixins.scss +372 -0
  51. data/stylesheets/utilities/_retina-sprites.scss +70 -0
  52. data/stylesheets/utilities/_sprites.scss +26 -0
  53. data/templates/project/manifest.rb +2 -0
  54. data/templates/project/screen.scss +2 -0
  55. metadata +116 -0
@@ -0,0 +1,32 @@
1
+ .wrapper, .w {
2
+ @extend .clearfix;
3
+ margin: 0 auto;
4
+ max-width: $desk-end;
5
+ padding-left: 20px;
6
+ padding-right: 20px;
7
+ }
8
+
9
+ .fixed-wrapper, .fw {
10
+ @extend .clearfix;
11
+ margin: 0 auto;
12
+ width: $desk-end;
13
+ }
14
+
15
+ $i: 100;
16
+ @while $i > 0 {
17
+ .width-#{$i} { width: $i * 1% !important; }
18
+ $i: $i - 5;
19
+ }
20
+
21
+ .transition {
22
+ @include transition();
23
+ }
24
+
25
+ // Text replacement
26
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
27
+ .ir{background-color:transparent;border:0;overflow:hidden;text-indent:-9999px;line-height:0;font-size:0;}
28
+ .ir:before{content:"";display:block;width:0;height:150%}
29
+ .hidden{display:none!important;visibility:hidden}
30
+ .visuallyhidden{border:0;clip:rect(0000);height:1px;overflow:hidden;position:absolute;width:1px;margin:-1px;padding:0}
31
+ .visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;overflow:visible;position:static;width:auto;margin:0}
32
+ .invisible{visibility:hidden}
@@ -0,0 +1,111 @@
1
+ @if $use-brandico {
2
+ @font-face {
3
+ font-family: 'brandico';
4
+ font-style: 'normal';
5
+ font-weight: 'normal';
6
+ src: url('http://weloveiconfonts.com/api/fonts/brandico/brandico.eot');
7
+ src: url('http://weloveiconfonts.com/api/fonts/brandico/brandico.eot?#iefix') format('eot'),
8
+ url('http://weloveiconfonts.com/api/fonts/brandico/brandico.woff') format('woff'),
9
+ url('http://weloveiconfonts.com/api/fonts/brandico/brandico.ttf') format('truetype'),
10
+ url('http://weloveiconfonts.com/api/fonts/brandico/brandico.svg#brandico') format('svg');
11
+ }
12
+ }
13
+
14
+ @if $use-entypo {
15
+ @font-face {
16
+ font-family: 'entypo';
17
+ font-style: 'normal';
18
+ font-weight: 'normal';
19
+ src: url('http://weloveiconfonts.com/api/fonts/entypo/entypo.eot');
20
+ src: url('http://weloveiconfonts.com/api/fonts/entypo/entypo.eot?#iefix') format('eot'),
21
+ url('http://weloveiconfonts.com/api/fonts/entypo/entypo.woff') format('woff'),
22
+ url('http://weloveiconfonts.com/api/fonts/entypo/entypo.ttf') format('truetype'),
23
+ url('http://weloveiconfonts.com/api/fonts/entypo/entypo.svg#entypo') format('svg');
24
+ }
25
+ }
26
+
27
+ @if $use-fontawesome {
28
+ @font-face {
29
+ font-family: 'FontAwesome';
30
+ font-style: 'normal';
31
+ font-weight: 'normal';
32
+ src: url('http://weloveiconfonts.com/api/fonts/fontawesome/fontawesome-webfont.eot');
33
+ src: url('http://weloveiconfonts.com/api/fonts/fontawesome/fontawesome-webfont.eot?#iefix') format('eot'),
34
+ url('http://weloveiconfonts.com/api/fonts/fontawesome/fontawesome-webfont.woff') format('woff'),
35
+ url('http://weloveiconfonts.com/api/fonts/fontawesome/fontawesome-webfont.ttf') format('truetype'),
36
+ url('http://weloveiconfonts.com/api/fonts/fontawesome/fontawesome-webfont.svg#FontAwesomeRegular') format('svg');
37
+ }
38
+ }
39
+
40
+ @if $use-fontelico {
41
+ @font-face {
42
+ font-family: 'fontelico';
43
+ font-style: 'normal';
44
+ font-weight: 'normal';
45
+ src: url('http://weloveiconfonts.com/api/fonts/fontelico/fontelico.eot');
46
+ src: url('http://weloveiconfonts.com/api/fonts/fontelico/fontelico.eot?#iefix') format('eot'),
47
+ url('http://weloveiconfonts.com/api/fonts/fontelico/fontelico.woff') format('woff'),
48
+ url('http://weloveiconfonts.com/api/fonts/fontelico/fontelico.ttf') format('truetype'),
49
+ url('http://weloveiconfonts.com/api/fonts/fontelico/fontelico.svg#fontelico') format('svg');
50
+ }
51
+ }
52
+
53
+ @if $use-maki {
54
+ @font-face {
55
+ font-family: 'maki';
56
+ font-style: 'normal';
57
+ font-weight: 'normal';
58
+ src: url('http://weloveiconfonts.com/api/fonts/maki/maki.eot');
59
+ src: url('http://weloveiconfonts.com/api/fonts/maki/maki.eot?#iefix') format('eot'),
60
+ url('http://weloveiconfonts.com/api/fonts/maki/maki.woff') format('woff'),
61
+ url('http://weloveiconfonts.com/api/fonts/maki/maki.ttf') format('truetype'),
62
+ url('http://weloveiconfonts.com/api/fonts/maki/maki.svg#maki') format('svg');
63
+ }
64
+ }
65
+
66
+ @if $use-openweb-icons {
67
+ @font-face {
68
+ font-family: 'OpenWeb Icons';
69
+ font-style: 'normal';
70
+ font-weight: 'normal';
71
+ src: url('http://weloveiconfonts.com/api/fonts/openwebicons/openwebicons.eot');
72
+ src: url('http://weloveiconfonts.com/api/fonts/openwebicons/openwebicons.eot?#iefix') format('eot'),
73
+ url('http://weloveiconfonts.com/api/fonts/openwebicons/openwebicons.woff') format('woff'),
74
+ url('http://weloveiconfonts.com/api/fonts/openwebicons/openwebicons.ttf') format('truetype'),
75
+ url('http://weloveiconfonts.com/api/fonts/openwebicons/openwebicons.svg#openweb_iconsregular') format('svg');
76
+ }
77
+ }
78
+
79
+ @if $use-typicons {
80
+ @font-face {
81
+ font-family: 'Typicons';
82
+ font-style: 'normal';
83
+ font-weight: 'normal';
84
+ src: url('http://weloveiconfonts.com/api/fonts/typicons/typicons-regular-webfont.eot');
85
+ src: url('http://weloveiconfonts.com/api/fonts/typicons/typicons-regular-webfont.eot?#iefix') format('eot'),
86
+ url('http://weloveiconfonts.com/api/fonts/typicons/typicons-regular-webfont.woff') format('woff'),
87
+ url('http://weloveiconfonts.com/api/fonts/typicons/typicons-regular-webfont.ttf') format('truetype'),
88
+ url('http://weloveiconfonts.com/api/fonts/typicons/typicons-regular-webfont.svg#TypiconsRegular') format('svg');
89
+ }
90
+ }
91
+
92
+ @if $use-zocial {
93
+ @font-face {
94
+ font-family: 'zocial';
95
+ font-style: 'normal';
96
+ font-weight: 'normal';
97
+ src: url('http://weloveiconfonts.com/api/fonts/zocial/zocial-regular-webfont.eot');
98
+ src: url('http://weloveiconfonts.com/api/fonts/zocial/zocial-regular-webfont.eot?#iefix') format('eot'),
99
+ url('http://weloveiconfonts.com/api/fonts/zocial/zocial-regular-webfont.woff') format('woff'),
100
+ url('http://weloveiconfonts.com/api/fonts/zocial/zocial-regular-webfont.ttf') format('truetype'),
101
+ url('http://weloveiconfonts.com/api/fonts/zocial/zocial-regular-webfont.svg#zocialregular') format('svg');
102
+ }
103
+ }
104
+
105
+
106
+
107
+ @mixin icon-font($char: '\f013', $font: 'FontAwesome') {
108
+ display: inline-block;
109
+ font-family: $font;
110
+ content: "#{$char}";
111
+ }
@@ -0,0 +1,45 @@
1
+ @mixin media($media-query){
2
+
3
+ @if $media-query == palm{
4
+
5
+ @media only screen and (max-width:$palm-end) { @content; }
6
+
7
+ }
8
+
9
+ @if $media-query == lap{
10
+
11
+ @media only screen and (min-width:$lap-start) and (max-width:$lap-end) { @content; }
12
+
13
+ }
14
+
15
+ @if $media-query == lap-and-up{
16
+
17
+ @media only screen and (min-width:$lap-start) { @content; }
18
+
19
+ }
20
+
21
+ @if $media-query == portable{
22
+
23
+ @media only screen and (max-width:$lap-end) { @content; }
24
+
25
+ }
26
+
27
+ @if $media-query == desk{
28
+
29
+ @media only screen and (min-width:$desk-start) { @content; }
30
+
31
+ }
32
+
33
+ @if $media-query == desk-wide{
34
+
35
+ @media only screen and (min-width: $desk-wide-start) { @content; }
36
+
37
+ }
38
+
39
+ @if $media-query == all{
40
+
41
+ @content;
42
+
43
+ }
44
+
45
+ }
@@ -0,0 +1,372 @@
1
+ //
2
+ // Mixins
3
+ // --------------------------------------------------
4
+
5
+
6
+ // UTILITY MIXINS
7
+ // --------------------------------------------------
8
+
9
+ // Clearfix
10
+ // --------
11
+ // For clearing floats like a boss h5bp.com/q
12
+ @mixin clearfix {
13
+ *zoom: 1;
14
+ &:before,
15
+ &:after {
16
+ display: table;
17
+ content: "";
18
+ // Fixes Opera/contenteditable bug:
19
+ // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
20
+ line-height: 0;
21
+ }
22
+ &:after {
23
+ clear: both;
24
+ }
25
+ }
26
+
27
+ // Webkit-style focus
28
+ // ------------------
29
+ @mixin tab-focus() {}
30
+
31
+ // Center-align a block level element
32
+ // ----------------------------------
33
+ @mixin center-block() {
34
+ display: block;
35
+ margin-left: auto;
36
+ margin-right: auto;
37
+ }
38
+
39
+
40
+ // Sizing shortcuts
41
+ // -------------------------
42
+ @mixin size($height, $width) {
43
+ width: $width;
44
+ height: $height;
45
+ }
46
+ @mixin square($size) {
47
+ @include size($size, $size);
48
+ }
49
+
50
+ // Placeholder text
51
+ // -------------------------
52
+ @mixin placeholder($color: $gray) {
53
+ &:-moz-placeholder {
54
+ color: $color;
55
+ }
56
+ &:-ms-input-placeholder {
57
+ color: $color;
58
+ }
59
+ &::-webkit-input-placeholder {
60
+ color: $color;
61
+ }
62
+ }
63
+
64
+ // Text overflow
65
+ // -------------------------
66
+ // Requires inline-block or block for proper styling
67
+ @mixin text-overflow() {
68
+ overflow: hidden;
69
+ text-overflow: ellipsis;
70
+ white-space: nowrap;
71
+ }
72
+
73
+
74
+ @mixin hide-text {
75
+ color: transparent;
76
+ font: 0/0 a;
77
+ text-shadow: none;
78
+ }
79
+
80
+ // @mixin reset-filter() {
81
+ // filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
82
+ // }
83
+
84
+
85
+ @mixin position ($position: relative, $coordinates: 0 0 0 0) {
86
+
87
+ @if type-of($position) == list {
88
+ $coordinates: $position;
89
+ $position: relative;
90
+ }
91
+
92
+ $top: nth($coordinates, 1);
93
+ $right: nth($coordinates, 2);
94
+ $bottom: nth($coordinates, 3);
95
+ $left: nth($coordinates, 4);
96
+
97
+ position: $position;
98
+
99
+ @if $top == auto {
100
+ top: $top;
101
+ }
102
+ @else if not(unitless($top)) {
103
+ top: $top;
104
+ }
105
+
106
+ @if $right == auto {
107
+ right: $right;
108
+ }
109
+ @else if not(unitless($right)) {
110
+ right: $right;
111
+ }
112
+
113
+ @if $bottom == auto {
114
+ bottom: $bottom;
115
+ }
116
+ @else if not(unitless($bottom)) {
117
+ bottom: $bottom;
118
+ }
119
+
120
+ @if $left == auto {
121
+ left: $left;
122
+ }
123
+ @else if not(unitless($left)) {
124
+ left: $left;
125
+ }
126
+ }
127
+
128
+
129
+ @mixin center ($width, $height: null) {
130
+ @include position(absolute, 50% 0 0 50%);
131
+ margin-left: -($width / 2);
132
+ @if $height { margin-top: -($height / 2); }
133
+ @else { margin-top: -($width / 2); }
134
+ }
135
+
136
+
137
+ @mixin triangle ($size, $color, $direction) {
138
+ height: 0;
139
+ width: 0;
140
+
141
+ @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) {
142
+ border-color: transparent;
143
+ border-style: solid;
144
+ border-width: $size / 2;
145
+
146
+ @if $direction == up {
147
+ border-bottom-color: $color;
148
+
149
+ } @else if $direction == right {
150
+ border-left-color: $color;
151
+
152
+ } @else if $direction == down {
153
+ border-top-color: $color;
154
+
155
+ } @else if $direction == left {
156
+ border-right-color: $color;
157
+ }
158
+ }
159
+
160
+ @else if ($direction == up-right) or ($direction == up-left) {
161
+ border-top: $size solid $color;
162
+
163
+ @if $direction == up-right {
164
+ border-left: $size solid transparent;
165
+
166
+ } @else if $direction == up-left {
167
+ border-right: $size solid transparent;
168
+ }
169
+ }
170
+
171
+ @else if ($direction == down-right) or ($direction == down-left) {
172
+ border-bottom: $size solid $color;
173
+
174
+ @if $direction == down-right {
175
+ border-left: $size solid transparent;
176
+
177
+ } @else if $direction == down-left {
178
+ border-right: $size solid transparent;
179
+ }
180
+ }
181
+ }
182
+
183
+ // For now only side triangles with border
184
+ @mixin triangle_border($size, $color, $border-color, $border-width, $direction) {
185
+
186
+ // $border-width-fix: '';
187
+ $border-width-fix: '';
188
+
189
+ @if $border-width == 1px {
190
+ $border-width-fix: $border-width * 4;
191
+ } @else {
192
+ $border-width-fix: $border-width * 2;
193
+ }
194
+
195
+ $bg-size: $size + $border-width-fix;
196
+
197
+ &:before, &:after {
198
+ content: "";
199
+ display: block;
200
+ position: absolute;
201
+ top: 50%;
202
+
203
+ @if $direction == 'right' { left: -($border-width); }
204
+ @if $direction == 'left' { right: -($border-width); }
205
+ }
206
+
207
+ &:before {
208
+ @include triangle($size, $color, $direction);
209
+ margin-top: -($size / 2);
210
+ z-index: 2;
211
+ }
212
+
213
+ &:after {
214
+ @include triangle($bg-size, $border-color, $direction);
215
+ margin-top: -($bg-size / 2);
216
+ zoom: 1;
217
+ }
218
+ }
219
+
220
+
221
+ @mixin text-inset-shadow($bg: #fff, $textcolor: #054d4a, $contrast: #f43059) {
222
+ $shadow: darken($textcolor, 30%);
223
+
224
+ color: rgba($textcolor, 0.8);
225
+ text-shadow: 1px 5px 7px $bg, 0 0 0 rgba($shadow,.8);
226
+ // ::-moz-selection, ::selection {
227
+ // background: $contrast;
228
+ // color: $bg;
229
+ // text-shadow: none;
230
+ // }
231
+ }
232
+
233
+ @mixin alpha-color($color: #fff, $alpha: .5, $attribute: background) {
234
+ @if $attribute == color {
235
+ color: $color;
236
+ color: rgba($color, $alpha);
237
+ } @else {
238
+ #{$attribute}-color: $color;
239
+ #{$attribute}-color: rgba($color, $alpha);
240
+ }
241
+ }
242
+
243
+
244
+ // Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content
245
+ @mixin keyframes($name) {
246
+ // $original-prefix-for-webkit: $prefix-for-webkit;
247
+ // $original-prefix-for-mozilla: $prefix-for-mozilla;
248
+ // $original-prefix-for-opera: $prefix-for-opera;
249
+ // $original-prefix-for-spec: $prefix-for-spec;
250
+
251
+ // @if $original-prefix-for-webkit {
252
+ // @include disable-prefix-for-all();
253
+ // $prefix-for-webkit: true;
254
+ @-webkit-keyframes #{$name} {
255
+ @content;
256
+ }
257
+ // }
258
+ // @if $original-prefix-for-mozilla {
259
+ // @include disable-prefix-for-all();
260
+ // $prefix-for-mozilla: true;
261
+ @-moz-keyframes #{$name} {
262
+ @content;
263
+ }
264
+ // }
265
+ // @if $original-prefix-for-opera {
266
+ // @include disable-prefix-for-all();
267
+ // $prefix-for-opera: true;
268
+ @-o-keyframes #{$name} {
269
+ @content;
270
+ }
271
+ // }
272
+ // @if $original-prefix-for-spec {
273
+ // @include disable-prefix-for-all();
274
+ // $prefix-for-spec: true;
275
+ @keyframes #{$name} {
276
+ @content;
277
+ }
278
+ // }
279
+
280
+ }
281
+
282
+ // COMPONENT MIXINS
283
+ // --------------------------------------------------
284
+
285
+ // Horizontal dividers
286
+ // -------------------------
287
+ // Dividers (basically an hr) within dropdowns and nav lists
288
+ @mixin nav-divider($top: #e5e5e5, $bottom: false) {
289
+ *width: 100%;
290
+
291
+ @if $bottom {
292
+ height: 2px;
293
+ } @else {
294
+ height: 1px;
295
+ }
296
+ // margin: (($base-line-height / 2) - 1) 0; // 8px 1px
297
+ // *margin: -5px 0 5px;
298
+ overflow: hidden;
299
+ background-color: $top;
300
+ @if $bottom { border-bottom: 1px solid $bottom; }
301
+ }
302
+
303
+
304
+ // Images
305
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
306
+ @mixin shadow-comicbook($padding: 5px, $color: #bbb, $size: 15px, $distance: 10px) {
307
+
308
+ $lightColor: lighten($color, 8);
309
+ $degree: $size/1px;
310
+
311
+ @include box-shadow(0 1px 3px $color);
312
+ border:5px solid #fff;
313
+ display: inline-block;
314
+ line-height: 0;
315
+ position: relative;
316
+
317
+ &:before,
318
+ &:after {
319
+ // border: 0;
320
+ background-color: $lightColor;
321
+ content: '';
322
+ z-index: -1;
323
+ position: absolute;
324
+ left: $distance;
325
+ bottom: $distance;
326
+ width: 70%;
327
+ height: 55%;
328
+ @include box-shadow(0 $size $size+1 $lightColor);
329
+ @include transform(skew(-15deg) rotate(-6deg));
330
+ }
331
+
332
+ &:after {
333
+ left: auto;
334
+ right: $distance+1;
335
+ @include transform(skew(15deg) rotate(6deg));
336
+
337
+ }
338
+ }
339
+
340
+ // GRID
341
+ // ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
342
+ // @include columns( $cols, $cols-container: $total-columns, $omega: false, $nth-omega: false, $remove-omega: false, $from: left, $media: all, $highlight-omega: false );
343
+
344
+ @mixin columns (
345
+ $cols,
346
+ $cols-container: $total-columns,
347
+ $omega: false,
348
+ $nth-omega: false,
349
+ $remove-omega: false,
350
+ $from: left,
351
+ $media: all,
352
+ $highlight-omega: false
353
+ ) {
354
+
355
+ @include media($media) {
356
+ $direction: left;
357
+
358
+ @if $from != left {
359
+ $direction: right;
360
+ }
361
+
362
+ @include span-columns($cols, $cols-container, $from: $direction);
363
+ @if $omega { @include omega($from: $direction); }
364
+ @if $nth-omega { @include nth-omega($nth-omega, $from: $direction); }
365
+ @if $remove-omega { @include remove-omega; }
366
+ // background: red;
367
+ @if $highlight-omega {
368
+ @if $omega { background: blue; }
369
+ @if $nth-omega { &:nth-child(#{$nth-omega}) {background: blue;} }
370
+ }
371
+ }
372
+ }
@@ -0,0 +1,70 @@
1
+ // @import "compass/utilities/sprites"; // Include compass sprite helpers
2
+ // @import "compass/css3/background-size"; // Include helper to calc background size
3
+
4
+
5
+ @mixin retina-sprite($name, $hover: false, $active: false) {
6
+ @include _retina-sprite($name, $sprites, $sprites2x, $hover, $active);
7
+ }
8
+
9
+ // The general purpose retina sprite mixin.
10
+ //
11
+ // @include retina-sprite(name, $spritemap1, $spritemap2)
12
+ // @include retina-sprite(name, $spritemap1, $spritemap2[, $dimensions: true, $pad: 0])
13
+ //
14
+ // If `dimensions` is true, then width/height will also be set.
15
+ //
16
+ // if `pad` is non-zero, then that's how much padding the element will have (requires
17
+ // $spacing on the sprite maps). Great for iPhone interfaces to make hit areas bigger.
18
+ //
19
+ @mixin _retina-sprite($name, $sprites, $sprites2x, $hover, $active, $dimensions: true, $pad: 0) {
20
+ @if $dimensions == true {
21
+ @include sprite-dimensions($sprites, $name);
22
+ }
23
+ background-image: sprite-url($sprites);
24
+ background-position: sprite-position($sprites, $name, -$pad, -$pad);
25
+ background-repeat: no-repeat;
26
+
27
+ @if $hover == true {
28
+ $name_hover: $name + _hover;
29
+ &:hover {
30
+ background-position: sprite-position($sprites, $name_hover, -$pad, -$pad);
31
+ }
32
+ }
33
+ @if $active == true {
34
+ $name_active: $name + _active;
35
+ &:active {
36
+ background-position: sprite-position($sprites, $name_active, -$pad, -$pad);
37
+ }
38
+ }
39
+
40
+ @if $pad > 0 {
41
+ padding: $pad;
42
+ }
43
+
44
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-device-pixel-ratio: 1.5) {
45
+ & {
46
+ $pos: sprite-position($sprites2x, $name, -$pad * 2, -$pad * 2);
47
+ background-image: sprite-url($sprites2x);
48
+ background-position: nth($pos, 1) nth($pos, 2) / 2;
49
+ @include background-size(ceil(image-width(sprite-path($sprites2x)) / 2) auto);
50
+ // sprite-path() returns the path of the generated sprite sheet, which
51
+ // image-width() calculates the width of. the ceil() is in place in case
52
+ // you have sprites that have an odd-number of pixels in width
53
+
54
+ @if $hover == true {
55
+ $name_hover: $name + _hover; // create myButton_hover and assign it
56
+ &:hover{
57
+ $pos: sprite-position($sprites2x, $name_hover, -$pad * 2, -$pad * 2);
58
+ background-position: nth($pos, 1) nth($pos, 2) / 2;
59
+ }
60
+ }
61
+ @if $active == true {
62
+ $name_active: $name + _active; // create myButton_active and assign it
63
+ &:active{
64
+ $pos: sprite-position($sprites2x, $name_active, -$pad * 2, -$pad * 2);
65
+ background-position: nth($pos, 1) nth($pos, 2) / 2;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,26 @@
1
+ .s {
2
+ // position:relative;
3
+ content: "";
4
+ // top:-1px;
5
+ display: inline-block;
6
+ overflow:hidden;
7
+ vertical-align:middle;
8
+ text-align:center;
9
+ font-style:normal;
10
+ zoom:1;
11
+ *text-indent:-9999px;
12
+
13
+ // &:before{
14
+ // display:block;
15
+ // width:0;
16
+ // height:100%;
17
+ // content:"";
18
+ // }
19
+ }
20
+
21
+ @include all-s-sprites(true);
22
+
23
+ @mixin sprite($name) {
24
+ @extend .s;
25
+ @extend .s-#{$name};
26
+ }
@@ -0,0 +1,2 @@
1
+ # Make sure you list all the project template files here in the manifest.
2
+ stylesheet 'screen.sass', :media => 'screen, projection'
@@ -0,0 +1,2 @@
1
+ // This is where you put the contents of the main stylesheet for the user's project.
2
+ // It should import your sass stylesheets and demonstrate how to use them.