ezy 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/ezy.gemspec +2 -2
  4. data/sass/_ezy.scss +5 -4
  5. data/sass/ezy/_grid.scss +6 -0
  6. data/sass/ezy/_sprites.scss +289 -0
  7. data/test/config.rb +30 -0
  8. data/test/css/media.css +0 -5
  9. data/test/css/sprites/layout.css +23 -0
  10. data/test/css/sprites/position.css +24 -0
  11. data/test/css/sprites/repeat.css +51 -0
  12. data/test/css/sprites/retina.css +43 -0
  13. data/test/css/sprites/simple.css +17 -0
  14. data/test/css/sprites/size.css +65 -0
  15. data/test/css/sprites/spacing.css +23 -0
  16. data/test/html/sprites/repeat.html +19 -0
  17. data/test/html/sprites/retina.html +19 -0
  18. data/test/html/sprites/simple.html +18 -0
  19. data/test/img/test-layout.png +0 -0
  20. data/test/img/test-layout/alien.png +0 -0
  21. data/test/img/test-layout/goat.png +0 -0
  22. data/test/img/test-layout/indy.png +0 -0
  23. data/test/img/test-layout@2x.png +0 -0
  24. data/test/img/test-layout@2x/alien.png +0 -0
  25. data/test/img/test-layout@2x/goat.png +0 -0
  26. data/test/img/test-layout@2x/indy.png +0 -0
  27. data/test/img/test-position.png +0 -0
  28. data/test/img/test-position/goat.png +0 -0
  29. data/test/img/test-position/icon-1.png +0 -0
  30. data/test/img/test-position/icon-coffee.png +0 -0
  31. data/test/img/test-position@2x.png +0 -0
  32. data/test/img/test-position@2x/goat.png +0 -0
  33. data/test/img/test-position@2x/icon-1.png +0 -0
  34. data/test/img/test-position@2x/icon-coffee.png +0 -0
  35. data/test/img/test-repeat.png +0 -0
  36. data/test/img/test-repeat/meassure-1.png +0 -0
  37. data/test/img/test-repeat/meassure-2.png +0 -0
  38. data/test/img/test-repeat/meassure-3.png +0 -0
  39. data/test/img/test-repeat@2x.png +0 -0
  40. data/test/img/test-repeat@2x/meassure-1.png +0 -0
  41. data/test/img/test-repeat@2x/meassure-2.png +0 -0
  42. data/test/img/test-repeat@2x/meassure-3.png +0 -0
  43. data/test/img/test-retina.png +0 -0
  44. data/test/img/test-retina/alien.png +0 -0
  45. data/test/img/test-retina/classic.png +0 -0
  46. data/test/img/test-retina/indy.png +0 -0
  47. data/test/img/test-retina@2x.png +0 -0
  48. data/test/img/test-retina@2x/classic.png +0 -0
  49. data/test/img/test-retina@2x/indy.png +0 -0
  50. data/test/img/test-simple.png +0 -0
  51. data/test/img/test-simple/alien.png +0 -0
  52. data/test/img/test-simple/classic.png +0 -0
  53. data/test/img/test-simple/indy.png +0 -0
  54. data/test/img/test-spacing.png +0 -0
  55. data/test/img/test-spacing/alien.png +0 -0
  56. data/test/img/test-spacing/classic.png +0 -0
  57. data/test/img/test-spacing/indy.png +0 -0
  58. data/test/img/test-spacing@2x.png +0 -0
  59. data/test/img/test-spacing@2x/alien.png +0 -0
  60. data/test/img/test-spacing@2x/classic.png +0 -0
  61. data/test/img/test-spacing@2x/indy.png +0 -0
  62. data/test/scss/grid/elastic.scss +2 -1
  63. data/test/scss/grid/fluid.scss +1 -1
  64. data/test/scss/grid/gutter.scss +1 -1
  65. data/test/scss/grid/responsive.scss +2 -1
  66. data/test/scss/grid/static.scss +1 -1
  67. data/test/scss/media.scss +1 -1
  68. data/test/scss/sprites/layout.scss +23 -0
  69. data/test/scss/sprites/position.scss +23 -0
  70. data/test/scss/sprites/repeat.scss +34 -0
  71. data/test/scss/sprites/retina.scss +44 -0
  72. data/test/scss/sprites/simple.scss +30 -0
  73. data/test/scss/sprites/size.scss +85 -0
  74. data/test/scss/sprites/spacing.scss +22 -0
  75. metadata +63 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d2646d76fa14740473e6f2fc6650cb55f81ccda7
4
- data.tar.gz: 4a07995eb2a198c4b3f09297045a655f28b21945
3
+ metadata.gz: e07ee1346c74a0173231c5a08cd91c994593a4e7
4
+ data.tar.gz: 27abca9223b02b5655a341d1e49b8f808e849d4e
5
5
  SHA512:
6
- metadata.gz: 6ec2d578a84920768fa0e6cedbfe958a7bcf466a207f153e50474347b657ba2188a5f9604ca512cacdc509c4349e672d4cfac289ceeacc9c5947b79d72c565d4
7
- data.tar.gz: 71b27587c090b0db51516eb574198daf61b9cc01a6bb3c6dd59afdec5ff03fee27ae94fe54bc8eb18923a5a26370d7277d8f8e940620788bb8a9a069a9ed2a24
6
+ metadata.gz: c15b95ae4bca28b324cd0ec3da9962aa26c8b52a399faf3ed4e7cd375a1944d7604ca30d778e75885f167d563c932ff5055f7fde418b3d50eeecf0958f34aa71
7
+ data.tar.gz: 21c0815ea1424ce062c5a302479f7f56e2c8de7d88420b0039bb37a428ae2cee8db7b5914e094b0c5289b6816714c467a38499e4450d55824a85af4fa93b2ad7
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -2,8 +2,8 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  # Release Specific Information
5
- s.version = "0.0.4"
6
- s.date = "2013-11-10"
5
+ s.version = "0.0.5"
6
+ s.date = "2013-11-12"
7
7
 
8
8
  # Gem Details
9
9
  s.name = "ezy"
@@ -1,5 +1,6 @@
1
- // This is your framework's main stylesheet. Use it to import all default modules.
2
- @import "ezy/clearfix";
3
- @import "ezy/functions";
1
+ // ---------------------------------------------------------------------------
2
+ // Partials
3
+
4
4
  @import "ezy/media";
5
- @import "ezy/grid";
5
+ @import "ezy/grid";
6
+ @import "ezy/sprites";
@@ -1,3 +1,9 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Importing dependencies
3
+
4
+ @import "functions";
5
+ @import "clearfix";
6
+
1
7
  // ---------------------------------------------------------------------------
2
8
  // Mandatory grid settings
3
9
  // Defaults: can be overridden
@@ -0,0 +1,289 @@
1
+
2
+ // ---------------------------------------------------------------------------
3
+ // Sprites
4
+ // Making good use of http://compass-style.org/reference/compass/helpers/sprites/
5
+ //
6
+ // If you are concerned about the amount of "unchanged" and "created" statuses
7
+ // when compiling your SCSS, read this thread:
8
+ // https://github.com/chriseppstein/compass/issues/897
9
+
10
+ // ---------------------------------------------------------------------------
11
+ // Sprite map store
12
+
13
+ $sprite-maps: ();
14
+
15
+ // ---------------------------------------------------------------------------
16
+ // @function return-sprite-map
17
+ //
18
+ // Helper function to return a sprite setting stored in the sprite map variable
19
+
20
+ @function return-sprite-setting( $name, $pos ) {
21
+ $sprite: false;
22
+ $setting: false;
23
+ @if type-of(nth($sprite-maps, 1)) == list {
24
+ @each $item in $sprite-maps {
25
+ @if nth( $item, 1 ) == $name {
26
+ $sprite: $item;
27
+ }
28
+ }
29
+ } @else {
30
+ $sprite: $sprite-maps;
31
+ // List has collapsed because it only has 1 item
32
+ }
33
+ @if (not $sprite) {
34
+ @warn "Couldn't find any sprite named '#{$name}'. Please check your sprite settings.";
35
+ } @else {
36
+ $setting: nth( $sprite, $pos );
37
+ }
38
+ @return $setting;
39
+ }
40
+
41
+ // ---------------------------------------------------------------------------
42
+ // @function return-sprite-map
43
+ //
44
+ // Helper function to return a sprite map stored in the sprite map variable
45
+
46
+ @function return-sprite-map( $name, $retina: false ) {
47
+ $map: false;
48
+ $sprite: false;
49
+ @if $retina {
50
+ $map: return-sprite-setting( $name, 3 );
51
+ @if (not $map) {
52
+ @warn "The sprite '#{$name}' doesn't appear to have a retina version. Please check your sprite settings.";
53
+ }
54
+ } @else {
55
+ $map: return-sprite-setting( $name, 2 );
56
+ }
57
+ @return $map;
58
+ }
59
+
60
+ // ---------------------------------------------------------------------------
61
+ // @function return-sprite-position
62
+ //
63
+ // Helper function to return a sprite's horizontal position
64
+
65
+ @function return-sprite-position( $name, $retina: false ) {
66
+ @if $retina {
67
+ @return return-sprite-setting( $name, 5 );
68
+ } @else {
69
+ @return return-sprite-setting( $name, 4 );
70
+ }
71
+ }
72
+
73
+ // ---------------------------------------------------------------------------
74
+ // @function return-sprite-repeat
75
+ //
76
+ // Helper function to return a sprite's css repeat
77
+
78
+ @function return-sprite-position( $name, $retina: false ) {
79
+ @if $retina {
80
+ @return return-sprite-setting( $name, 7 );
81
+ } @else {
82
+ @return return-sprite-setting( $name, 6 );
83
+ }
84
+ }
85
+
86
+ // ---------------------------------------------------------------------------
87
+ // @function sprite-image-width
88
+ //
89
+ // Returns width of image in sprite
90
+
91
+ @function sprite-image-width( $name, $image, $use-retina: false ) {
92
+ $map: return-sprite-map( $name, $use-retina );
93
+ @return image-width( sprite-file( $map, $image ) );
94
+ }
95
+
96
+ // ---------------------------------------------------------------------------
97
+ // @function sprite-image-height
98
+ //
99
+ // Returns height of image in sprite
100
+
101
+ @function sprite-image-height( $name, $image, $use-retina: false ) {
102
+ $map: return-sprite-map( $name, $use-retina );
103
+ @return image-height( sprite-file( $map, $image ) );
104
+ }
105
+
106
+ // ---------------------------------------------------------------------------
107
+ // @mixin sprite-image-dimensions
108
+ //
109
+ // Sets height and width from a sprite image's dimensions
110
+
111
+ @mixin sprite-image-dimensions( $name, $image, $use-retina: false ) {
112
+ width: sprite-image-width( $name, $image, $use-retina );
113
+ height: sprite-image-height( $name, $image, $use-retina );
114
+ }
115
+
116
+ // ---------------------------------------------------------------------------
117
+ // @function sprite-width
118
+ //
119
+ // Returns width of compiled sprite
120
+
121
+ @function sprite-width( $name, $use-retina: false ) {
122
+ $map: return-sprite-map( $name, $use-retina );
123
+ @return image-width( sprite-path( $map ) );
124
+ }
125
+
126
+ // ---------------------------------------------------------------------------
127
+ // @function sprite-height
128
+ //
129
+ // Returns height of compiled sprite
130
+
131
+ @function sprite-height( $name, $use-retina: false ) {
132
+ $map: return-sprite-map( $name, $use-retina );
133
+ @return image-height( sprite-path( $map ) );
134
+ }
135
+
136
+ // ---------------------------------------------------------------------------
137
+ // @mixin at-retina
138
+ //
139
+ // Retina media query mixin
140
+
141
+ @mixin at-retina {
142
+ @media
143
+ only screen and (-webkit-min-device-pixel-ratio: 2),
144
+ only screen and ( min--moz-device-pixel-ratio: 2),
145
+ only screen and ( -moz-min-device-pixel-ratio: 2),
146
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
147
+ only screen and ( min-device-pixel-ratio: 2),
148
+ only screen and ( min-resolution: 192dpi),
149
+ only screen and ( min-resolution: 2dppx) {
150
+ @content;
151
+ }
152
+ }
153
+
154
+ // ---------------------------------------------------------------------------
155
+ // @mixin make-sprite
156
+ //
157
+ // Creates new sprite map and stores it for later use
158
+
159
+ @mixin make-sprite(
160
+ $name: null,
161
+ $folder: null,
162
+ $folder-retina: null,
163
+ $position: 0%,
164
+ $spacing: 0px,
165
+ $repeat: no-repeat, // no-repeat or repeat-x !! WARNING: it can take ages to compile because it repeats until the images meet at both ends
166
+ $layout: vertical, // vertical, horizontal, diagonal
167
+ $clean-up: true, // wether or not to remove old compiled sprites
168
+ $position-retina: null,
169
+ $spacing-retina: null,
170
+ $repeat-retina: null,
171
+ $layout-retina: null,
172
+ $clean-up-retina: null
173
+ ) {
174
+ @if $position-retina == null { $position-retina: $position; }
175
+ @if $spacing-retina == null { $spacing-retina: $spacing*2; }
176
+ @if $repeat-retina == null { $repeat-retina: $repeat; }
177
+ @if $layout-retina == null { $layout-retina: $layout; }
178
+ @if $clean-up-retina == null { $clean-up-retina: $clean-up; }
179
+
180
+ @if $name {
181
+ $sprite: false;
182
+ $sprite-retina: false;
183
+ @if $folder {
184
+ $sprite: sprite-map( $folder +"/*.png",
185
+ $position: $position,
186
+ $spacing: $spacing,
187
+ $repeat: $repeat,
188
+ $layout: $layout,
189
+ $clean-up: $clean-up
190
+ );
191
+ }
192
+ @if $folder-retina {
193
+ $sprite-retina: sprite-map( $folder-retina +"/*.png",
194
+ $position: $position-retina,
195
+ $spacing: $spacing-retina,
196
+ $repeat: $repeat-retina,
197
+ $layout: $layout-retina,
198
+ $clean-up: $clean-up-retina
199
+ );
200
+ }
201
+ @if $sprite-maps == () {
202
+ $sprite-maps: ($name $sprite $sprite-retina $position $position-retina $repeat $repeat-retina);
203
+ } @else {
204
+ $sprite-maps: $sprite-maps, ($name $sprite $sprite-retina $position $position-retina $repeat $repeat-retina);
205
+ }
206
+ %sprite-placeholder-#{ $name } {
207
+ background-image: sprite-url( $sprite );
208
+ background-repeat: $repeat;
209
+ background-position-x: $position;
210
+ }
211
+ %sprite-placeholder-#{ $name }-retina {
212
+ @if $sprite-retina {
213
+ @include at-retina {
214
+ /* Retina sprite */
215
+ background-image: sprite-url( $sprite-retina );
216
+ background-size: image-width( sprite-path( $sprite-retina ) )/2 auto;
217
+ @if $repeat-retina != $repeat {
218
+ background-repeat: $repeat-retina;
219
+ }
220
+ @if $position-retina != $position {
221
+ background-position-x: $position-retina;
222
+ }
223
+ }
224
+ }
225
+ }
226
+ }
227
+ }
228
+
229
+ // ---------------------------------------------------------------------------
230
+ // @mixin sprite-base
231
+ //
232
+ // Basic mixin for using sprites with retina fallback
233
+
234
+ @mixin sprite-base(
235
+ $map, // sprite map
236
+ $image, // image to use
237
+ $retina-map: false, // retina sprite map (optional)
238
+ $offset-x: 0, // background offset x (optional)
239
+ $offset-y: 0 // background offset y (optional)
240
+ ) {
241
+ @if $map and $image {
242
+ $pos: sprite-position($map, $image);
243
+ $pos-x: nth( $pos, 1 ) + $offset-x*1px;
244
+ $pos-y: nth( $pos, 2 ) + $offset-y*1px;
245
+ background-position: $pos-x $pos-y;
246
+ @if $retina-map {
247
+ @include at-retina {
248
+ /* Retina sprite */
249
+ $pos: sprite-position($retina-map, $image);
250
+ $pos-x: nth( $pos, 1 )/2 + $offset-x*1px;
251
+ $pos-y: nth( $pos, 2 )/2 + $offset-y*1px;
252
+ background-position: $pos-x $pos-y;
253
+ }
254
+ }
255
+ }
256
+ }
257
+
258
+ // ---------------------------------------------------------------------------
259
+ // @mixin background-sprite
260
+ //
261
+ // Mixin for using sprites stored in the sprite map variable
262
+
263
+ @mixin background-sprite(
264
+ $name, // sprite name
265
+ $image, // image to use
266
+ $use-retina: true, // wether to use retina on hi-res screens (optional)
267
+ $offset-x: 0, // background offset x (optional)
268
+ $offset-y: 0 // background offset y (optional)
269
+ ) {
270
+ $map: return-sprite-map( $name );
271
+ $retina-map: $use-retina;
272
+ @if $use-retina {
273
+ $retina-map: return-sprite-map( $name, $retina: true );
274
+ }
275
+ @include sprite-base(
276
+ $map: $map, // sprite map
277
+ $image: $image, // image to use
278
+ $retina-map: $retina-map, // retina sprite map (optional)
279
+ $offset-x: $offset-x, // background offset x (optional)
280
+ $offset-y: $offset-y // background offset y (optional)
281
+ );
282
+ @extend %sprite-placeholder-#{ $name };
283
+ @if $use-retina {
284
+ // Set to optional because placeholder only exists if a retina sprite is set
285
+ @extend %sprite-placeholder-#{ $name }-retina !optional;
286
+ }
287
+ }
288
+
289
+
@@ -4,7 +4,37 @@ project_type = :stand_alone
4
4
  http_path = "/"
5
5
  sass_dir = "scss"
6
6
  css_dir = "css"
7
+ images_dir = "img"
7
8
  line_comments = false
8
9
  preferred_syntax = :scss
9
10
  output_style = :expanded
10
11
  relative_assets = true
12
+
13
+ # ----------------------------------------------------- #
14
+ # Nice sprite names
15
+ #
16
+
17
+ nice_sprite_names = true
18
+
19
+ if nice_sprite_names
20
+ # Rename sprites to remove the Compass-generated hash and move it up 1 directory
21
+ on_sprite_saved do |filename|
22
+ if File.exists?(filename)
23
+ FileUtils.cp filename, filename.gsub(%r{-s[a-z0-9]{10}\.png$}, '.png').gsub('images/../images/', '')
24
+ end
25
+ end
26
+
27
+ # Replace in stylesheets generated references to sprites
28
+ # by their counterparts without the hash uniqueness.
29
+ # Adding timestamp as cache buster.
30
+ on_stylesheet_saved do |filename|
31
+ if File.exists?(filename)
32
+ css = File.read filename
33
+ File.open(filename, 'w+') do |f|
34
+ f << css.gsub(%r{-s[a-z0-9]{10}\.png}, '.png?' + Time.now.strftime("%H%M%s"))
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ # ----------------------------------------------------- #
@@ -1,8 +1,3 @@
1
- /* -------------------------------------------------------------------- *
2
- * Micro Clearfix
3
- * http://nicolasgallagher.com/micro-clearfix-hack/
4
- */
5
- /* -------------------------------------------------------------------- */
6
1
  @media (max-width: 400px) {
7
2
  .test {
8
3
  content: "Breakpoint 1 (A)";
@@ -0,0 +1,23 @@
1
+ .classic {
2
+ background-image: url('../../img/test-layout.png?23071384207639');
3
+ background-repeat: no-repeat;
4
+ background-position-x: 0%;
5
+ }
6
+
7
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
8
+ .classic {
9
+ /* Retina sprite */
10
+ background-image: url('../../img/test-layout@2x.png?23071384207639');
11
+ background-size: 718px auto;
12
+ }
13
+ }
14
+
15
+ .classic {
16
+ background-position: -159px -140px;
17
+ }
18
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
19
+ .classic {
20
+ /* Retina sprite */
21
+ background-position: -209px 0px;
22
+ }
23
+ }
@@ -0,0 +1,24 @@
1
+ .classic {
2
+ background-image: url('../../img/test-position.png?23071384207639');
3
+ background-repeat: no-repeat;
4
+ background-position-x: 50%;
5
+ }
6
+
7
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
8
+ .classic {
9
+ /* Retina sprite */
10
+ background-image: url('../../img/test-position@2x.png?23071384207639');
11
+ background-size: 281px auto;
12
+ background-position-x: 100%;
13
+ }
14
+ }
15
+
16
+ .classic {
17
+ background-position: -115px -200px;
18
+ }
19
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
20
+ .classic {
21
+ /* Retina sprite */
22
+ background-position: -231px -200px;
23
+ }
24
+ }
@@ -0,0 +1,51 @@
1
+ .meassure-1, .meassure-2, .meassure-3 {
2
+ background-image: url('../../img/test-repeat.png?23071384207639');
3
+ background-repeat: repeat-x;
4
+ background-position-x: 0%;
5
+ }
6
+
7
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
8
+ .meassure-1, .meassure-2, .meassure-3 {
9
+ /* Retina sprite */
10
+ background-image: url('../../img/test-repeat@2x.png?23071384207639');
11
+ background-size: 378px auto;
12
+ background-repeat: no-repeat;
13
+ background-position-x: 100%;
14
+ }
15
+ }
16
+
17
+ .meassure-1 {
18
+ background-position: 0px -100px;
19
+ width: 378px;
20
+ height: 50px;
21
+ }
22
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
23
+ .meassure-1 {
24
+ /* Retina sprite */
25
+ background-position: -252px -100px;
26
+ }
27
+ }
28
+
29
+ .meassure-2 {
30
+ background-position: 0px -50px;
31
+ width: 378px;
32
+ height: 50px;
33
+ }
34
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
35
+ .meassure-2 {
36
+ /* Retina sprite */
37
+ background-position: -126px -50px;
38
+ }
39
+ }
40
+
41
+ .meassure-3 {
42
+ background-position: 0px 0px;
43
+ width: 378px;
44
+ height: 50px;
45
+ }
46
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
47
+ .meassure-3 {
48
+ /* Retina sprite */
49
+ background-position: 0px 0px;
50
+ }
51
+ }