ezy 0.0.4 → 0.0.5

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.
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
+ }