compass 0.11.alpha.1 → 0.11.alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +21 -1
- data/VERSION.yml +1 -1
- data/bin/compass +17 -2
- data/features/command_line.feature +15 -24
- data/features/step_definitions/command_line_steps.rb +3 -3
- data/frameworks/compass/stylesheets/_lemonade.scss +38 -0
- data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +3 -1
- data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +1 -1
- data/frameworks/compass/stylesheets/compass/css3/_images.scss +8 -6
- data/frameworks/compass/stylesheets/compass/css3/_transform.scss +3 -3
- data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +40 -0
- data/frameworks/compass/templates/pie/PIE.htc +69 -69
- data/frameworks/compass/templates/pie/manifest.rb +2 -2
- data/lib/compass.rb +3 -2
- data/lib/compass/app_integration/stand_alone/installer.rb +1 -1
- data/lib/compass/commands.rb +1 -1
- data/lib/compass/commands/sprite.rb +87 -0
- data/lib/compass/configuration/adapters.rb +3 -0
- data/lib/compass/dependencies.rb +7 -1
- data/lib/compass/installers/bare_installer.rb +1 -1
- data/lib/compass/quick_cache.rb +15 -0
- data/lib/compass/sass_extensions/functions.rb +3 -3
- data/lib/compass/sass_extensions/functions/gradient_support.rb +60 -21
- data/lib/compass/sass_extensions/functions/image_size.rb +11 -11
- data/lib/compass/sass_extensions/functions/sprites.rb +357 -0
- data/lib/compass/sass_extensions/functions/urls.rb +16 -3
- data/lib/compass/sass_extensions/monkey_patches/traversal.rb +1 -1
- data/lib/compass/sprites.rb +122 -0
- data/test/fixtures/stylesheets/compass/css/gradients.css +18 -1
- data/test/fixtures/stylesheets/compass/css/pie.css +1 -0
- data/test/fixtures/stylesheets/compass/css/transform.css +28 -0
- data/test/fixtures/stylesheets/compass/sass/gradients.sass +9 -0
- data/test/fixtures/stylesheets/image_urls/css/screen.css +2 -0
- data/test/fixtures/stylesheets/image_urls/sass/screen.sass +3 -0
- data/test/fixtures/stylesheets/valid/config.rb +9 -0
- data/test/fixtures/stylesheets/valid/sass/simple.sass +2 -0
- data/test/sass_extensions_test.rb +8 -0
- metadata +40 -8
- data/lib/compass/sass_extensions/functions/if.rb +0 -9
@@ -18,6 +18,8 @@ module Compass::SassExtensions::Functions::Urls
|
|
18
18
|
clean_url(path)
|
19
19
|
end
|
20
20
|
end
|
21
|
+
Sass::Script::Functions.declare :stylesheet_url, [:path]
|
22
|
+
Sass::Script::Functions.declare :stylesheet_url, [:path, :only_path]
|
21
23
|
|
22
24
|
def font_url(path, only_path = Sass::Script::Bool.new(false))
|
23
25
|
path = path.value # get to the string value of the literal.
|
@@ -43,8 +45,10 @@ module Compass::SassExtensions::Functions::Urls
|
|
43
45
|
clean_url(path)
|
44
46
|
end
|
45
47
|
end
|
48
|
+
Sass::Script::Functions.declare :font_url, [:path]
|
49
|
+
Sass::Script::Functions.declare :font_url, [:path, :only_path]
|
46
50
|
|
47
|
-
def image_url(path, only_path = Sass::Script::Bool.new(false))
|
51
|
+
def image_url(path, only_path = Sass::Script::Bool.new(false), cache_buster = Sass::Script::Bool.new(true))
|
48
52
|
path = path.value # get to the string value of the literal.
|
49
53
|
|
50
54
|
if path =~ %r{^#{Regexp.escape(Compass.configuration.http_images_path)}/(.*)}
|
@@ -83,8 +87,14 @@ module Compass::SassExtensions::Functions::Urls
|
|
83
87
|
end
|
84
88
|
|
85
89
|
# Compute and append the cache buster if there is one.
|
86
|
-
if
|
87
|
-
|
90
|
+
if cache_buster.to_bool
|
91
|
+
if cache_buster.is_a?(Sass::Script::String)
|
92
|
+
path += "?#{cache_buster.value}"
|
93
|
+
else
|
94
|
+
if buster = compute_cache_buster(path, real_path)
|
95
|
+
path += "?#{buster}"
|
96
|
+
end
|
97
|
+
end
|
88
98
|
end
|
89
99
|
|
90
100
|
# prepend the asset host if there is one.
|
@@ -96,6 +106,9 @@ module Compass::SassExtensions::Functions::Urls
|
|
96
106
|
clean_url(path)
|
97
107
|
end
|
98
108
|
end
|
109
|
+
Sass::Script::Functions.declare :image_url, [:path]
|
110
|
+
Sass::Script::Functions.declare :image_url, [:path, :only_path]
|
111
|
+
Sass::Script::Functions.declare :image_url, [:path, :only_path, :cache_buster]
|
99
112
|
|
100
113
|
private
|
101
114
|
|
@@ -6,7 +6,7 @@ module Sass
|
|
6
6
|
visitor.visit(self)
|
7
7
|
visitor.down(self) if children.any? and visitor.respond_to?(:down)
|
8
8
|
if is_a?(ImportNode) && visitor.import?(self)
|
9
|
-
root = Sass::
|
9
|
+
root = Sass::Engine.for_file(import, @options).to_tree
|
10
10
|
imported_children = root.children
|
11
11
|
end
|
12
12
|
|
@@ -0,0 +1,122 @@
|
|
1
|
+
module Compass
|
2
|
+
class Sprites < Sass::Importers::Base
|
3
|
+
attr_accessor :name
|
4
|
+
attr_accessor :path
|
5
|
+
|
6
|
+
class << self
|
7
|
+
def path_and_name(uri)
|
8
|
+
if uri =~ %r{((.+/)?(.+))/(.+?)\.png}
|
9
|
+
[$1, $3, $4]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def discover_sprites(uri)
|
14
|
+
glob = File.join(Compass.configuration.images_path, uri)
|
15
|
+
Dir.glob(glob).sort
|
16
|
+
end
|
17
|
+
|
18
|
+
def sprite_name(file)
|
19
|
+
File.basename(file, '.png')
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
def find_relative(*args)
|
25
|
+
nil
|
26
|
+
end
|
27
|
+
|
28
|
+
def find(uri, options)
|
29
|
+
if uri =~ /\.png$/
|
30
|
+
self.path, self.name = Compass::Sprites.path_and_name(uri)
|
31
|
+
options.merge! :filename => name, :syntax => :scss, :importer => self
|
32
|
+
sprite_files = Compass::Sprites.discover_sprites(uri)
|
33
|
+
image_names = sprite_files.map {|i| Compass::Sprites.sprite_name(i) }
|
34
|
+
Sass::Engine.new(content_for_images(uri, name, image_names), options)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def content_for_images(uri, name, images)
|
39
|
+
<<-SCSS
|
40
|
+
@import "compass/utilities/sprites/base";
|
41
|
+
|
42
|
+
// General Sprite Defaults
|
43
|
+
// You can override them before you import this file.
|
44
|
+
$#{name}-sprite-base-class: ".#{name}-sprite" !default;
|
45
|
+
$#{name}-sprite-dimensions: false !default;
|
46
|
+
$#{name}-position: 0% !default;
|
47
|
+
$#{name}-spacing: 0 !default;
|
48
|
+
$#{name}-repeat: no-repeat !default;
|
49
|
+
|
50
|
+
// These variables control the generated sprite output
|
51
|
+
// You can override them selectively before you import this file.
|
52
|
+
#{images.map do |sprite_name|
|
53
|
+
<<-SCSS
|
54
|
+
$#{name}-#{sprite_name}-position: $#{name}-position !default;
|
55
|
+
$#{name}-#{sprite_name}-spacing: $#{name}-spacing !default;
|
56
|
+
$#{name}-#{sprite_name}-repeat: $#{name}-repeat !default;
|
57
|
+
SCSS
|
58
|
+
end.join}
|
59
|
+
|
60
|
+
$#{name}-sprites: sprite-map("#{uri}",
|
61
|
+
#{images.map do |sprite_name|
|
62
|
+
%Q{ $#{sprite_name}-position: $#{name}-#{sprite_name}-position,
|
63
|
+
$#{sprite_name}-spacing: $#{name}-#{sprite_name}-spacing,
|
64
|
+
$#{sprite_name}-repeat: $#{name}-#{sprite_name}-repeat}
|
65
|
+
end.join(",\n")});
|
66
|
+
|
67
|
+
// All sprites should extend this class
|
68
|
+
// The #{name}-sprite mixin will do so for you.
|
69
|
+
\#{$#{name}-sprite-base-class} {
|
70
|
+
background: $#{name}-sprites no-repeat;
|
71
|
+
}
|
72
|
+
|
73
|
+
// Use this to set the dimensions of an element
|
74
|
+
// based on the size of the original image.
|
75
|
+
@mixin #{name}-sprite-dimensions($name) {
|
76
|
+
@include sprite-dimensions($#{name}-sprites, $name)
|
77
|
+
}
|
78
|
+
|
79
|
+
// Move the background position to display the sprite.
|
80
|
+
@mixin #{name}-sprite-position($name, $offset-x: 0, $offset-y: 0) {
|
81
|
+
@include sprite-position($#{name}-sprites, $name, $offset-x, $offset-y)
|
82
|
+
}
|
83
|
+
|
84
|
+
// Extends the sprite base class and set the background position for the desired sprite.
|
85
|
+
// It will also apply the image dimensions if $dimensions is true.
|
86
|
+
@mixin #{name}-sprite($name, $dimensions: $#{name}-sprite-dimensions, $offset-x: 0, $offset-y: 0) {
|
87
|
+
@extend \#{$#{name}-sprite-base-class};
|
88
|
+
@include sprite($#{name}-sprites, $name, $dimensions, $offset-x, $offset-y)
|
89
|
+
}
|
90
|
+
|
91
|
+
@mixin #{name}-sprites($sprite-names, $dimensions: $#{name}-sprite-dimensions) {
|
92
|
+
@include sprites($#{name}-sprites, $sprite-names, $#{name}-sprite-base-class, $dimensions)
|
93
|
+
}
|
94
|
+
|
95
|
+
// Generates a class for each sprited image.
|
96
|
+
@mixin all-#{name}-sprites($dimensions: $#{name}-sprite-dimensions) {
|
97
|
+
@include #{name}-sprites(#{images.join(" ")}, $dimensions);
|
98
|
+
}
|
99
|
+
SCSS
|
100
|
+
end
|
101
|
+
|
102
|
+
def key(uri, options)
|
103
|
+
[self.class.name + ":" + File.dirname(File.expand_path(uri)),
|
104
|
+
File.basename(uri)]
|
105
|
+
end
|
106
|
+
|
107
|
+
def mtime(uri, options)
|
108
|
+
Compass.quick_cache("mtime:#{uri}") do
|
109
|
+
self.path, self.name = Compass::Sprites.path_and_name(uri)
|
110
|
+
glob = File.join(Compass.configuration.images_path, uri)
|
111
|
+
Dir.glob(glob).inject(Time.at(0)) do |max_time, file|
|
112
|
+
(t = File.mtime(file)) > max_time ? t : max_time
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
def to_s
|
118
|
+
""
|
119
|
+
end
|
120
|
+
|
121
|
+
end
|
122
|
+
end
|
@@ -1,3 +1,20 @@
|
|
1
|
+
.bg-shortcut-simple-image {
|
2
|
+
background: white url("foo.png"); }
|
3
|
+
|
4
|
+
.bg-shortcut-linear-gradient {
|
5
|
+
background: white ;
|
6
|
+
background: white url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjEwMCUiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjYWFhYWFhIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
|
7
|
+
background: white -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa));
|
8
|
+
background: white -moz-linear-gradient(top left, #dddddd, #aaaaaa);
|
9
|
+
background: white linear-gradient(top left, #dddddd, #aaaaaa); }
|
10
|
+
|
11
|
+
.bg-shortcut-radial-gradient {
|
12
|
+
background: white ;
|
13
|
+
background: white url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjYWFhYWFhIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
|
14
|
+
background: white -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa));
|
15
|
+
background: white -moz-radial-gradient(center center, #dddddd, #aaaaaa 100px);
|
16
|
+
background: white radial-gradient(center center, #dddddd, #aaaaaa 100px); }
|
17
|
+
|
1
18
|
.bg-simple-image {
|
2
19
|
background-image: url("foo.png"); }
|
3
20
|
|
@@ -46,7 +63,7 @@
|
|
46
63
|
list-style-image: url('/images/4x6.png?busted=true'); }
|
47
64
|
|
48
65
|
.shorthand-list-image-plain {
|
49
|
-
list-style-image: outside url(
|
66
|
+
list-style-image: outside url('/images/4x6.png?busted=true'); }
|
50
67
|
|
51
68
|
.direct-list-image-with-gradient {
|
52
69
|
list-style-image: -moz-radial-gradient(#00ff00, #ff0000 10px);
|
@@ -2,6 +2,7 @@
|
|
2
2
|
-moz-transform-origin: 2px 5%;
|
3
3
|
-webkit-transform-origin: 2px 5%;
|
4
4
|
-o-transform-origin: 2px 5%;
|
5
|
+
-ms-transform-origin: 2px 5%;
|
5
6
|
transform-origin: 2px 5%; }
|
6
7
|
|
7
8
|
.apply-origin-3d {
|
@@ -12,6 +13,7 @@
|
|
12
13
|
-moz-transform-origin: 100px 100px;
|
13
14
|
-webkit-transform-origin: 100px 100px;
|
14
15
|
-o-transform-origin: 100px 100px;
|
16
|
+
-ms-transform-origin: 100px 100px;
|
15
17
|
transform-origin: 100px 100px; }
|
16
18
|
|
17
19
|
.transform-origin-3d {
|
@@ -22,6 +24,7 @@
|
|
22
24
|
-moz-transform: rotateY(20deg);
|
23
25
|
-webkit-transform: rotateY(20deg);
|
24
26
|
-o-transform: rotateY(20deg);
|
27
|
+
-ms-transform: rotateY(20deg);
|
25
28
|
transform: rotateY(20deg); }
|
26
29
|
|
27
30
|
.transform-3d {
|
@@ -48,6 +51,7 @@
|
|
48
51
|
-moz-transform: scale(30px, 50px);
|
49
52
|
-webkit-transform: scale(30px, 50px);
|
50
53
|
-o-transform: scale(30px, 50px);
|
54
|
+
-ms-transform: scale(30px, 50px);
|
51
55
|
transform: scale(30px, 50px); }
|
52
56
|
|
53
57
|
.scale-3d {
|
@@ -58,6 +62,7 @@
|
|
58
62
|
-moz-transform: perspective(500) scale(30px, 50px);
|
59
63
|
-webkit-transform: perspective(500) scale(30px, 50px);
|
60
64
|
-o-transform: perspective(500) scale(30px, 50px);
|
65
|
+
-ms-transform: perspective(500) scale(30px, 50px);
|
61
66
|
transform: perspective(500) scale(30px, 50px); }
|
62
67
|
|
63
68
|
.scale-3d-with-perspective {
|
@@ -68,6 +73,7 @@
|
|
68
73
|
-moz-transform: scaleX(30px);
|
69
74
|
-webkit-transform: scaleX(30px);
|
70
75
|
-o-transform: scaleX(30px);
|
76
|
+
-ms-transform: scaleX(30px);
|
71
77
|
transform: scaleX(30px); }
|
72
78
|
|
73
79
|
.scale-x-3d {
|
@@ -78,6 +84,7 @@
|
|
78
84
|
-moz-transform: perspective(500) scaleX(30px);
|
79
85
|
-webkit-transform: perspective(500) scaleX(30px);
|
80
86
|
-o-transform: perspective(500) scaleX(30px);
|
87
|
+
-ms-transform: perspective(500) scaleX(30px);
|
81
88
|
transform: perspective(500) scaleX(30px); }
|
82
89
|
|
83
90
|
.scale-x-3d-with-perspective {
|
@@ -88,6 +95,7 @@
|
|
88
95
|
-moz-transform: scaleY(50px);
|
89
96
|
-webkit-transform: scaleY(50px);
|
90
97
|
-o-transform: scaleY(50px);
|
98
|
+
-ms-transform: scaleY(50px);
|
91
99
|
transform: scaleY(50px); }
|
92
100
|
|
93
101
|
.scale-y-3d {
|
@@ -98,6 +106,7 @@
|
|
98
106
|
-moz-transform: perspective(500) scaleY(50px);
|
99
107
|
-webkit-transform: perspective(500) scaleY(50px);
|
100
108
|
-o-transform: perspective(500) scaleY(50px);
|
109
|
+
-ms-transform: perspective(500) scaleY(50px);
|
101
110
|
transform: perspective(500) scaleY(50px); }
|
102
111
|
|
103
112
|
.scale-y-3d-with-perspective {
|
@@ -124,24 +133,28 @@
|
|
124
133
|
-moz-transform: perspective(500) rotate(25deg);
|
125
134
|
-webkit-transform: perspective(500) rotate(25deg);
|
126
135
|
-o-transform: perspective(500) rotate(25deg);
|
136
|
+
-ms-transform: perspective(500) rotate(25deg);
|
127
137
|
transform: perspective(500) rotate(25deg); }
|
128
138
|
|
129
139
|
.rotate-with-perspective {
|
130
140
|
-moz-transform: perspective(500) rotate(25deg);
|
131
141
|
-webkit-transform: perspective(500) rotate(25deg);
|
132
142
|
-o-transform: perspective(500) rotate(25deg);
|
143
|
+
-ms-transform: perspective(500) rotate(25deg);
|
133
144
|
transform: perspective(500) rotate(25deg); }
|
134
145
|
|
135
146
|
.rotate-z {
|
136
147
|
-moz-transform: rotate(25deg);
|
137
148
|
-webkit-transform: rotate(25deg);
|
138
149
|
-o-transform: rotate(25deg);
|
150
|
+
-ms-transform: rotate(25deg);
|
139
151
|
transform: rotate(25deg); }
|
140
152
|
|
141
153
|
.rotate-z-with-perspective {
|
142
154
|
-moz-transform: perspective(500) rotate(25deg);
|
143
155
|
-webkit-transform: perspective(500) rotate(25deg);
|
144
156
|
-o-transform: perspective(500) rotate(25deg);
|
157
|
+
-ms-transform: perspective(500) rotate(25deg);
|
145
158
|
transform: perspective(500) rotate(25deg); }
|
146
159
|
|
147
160
|
.rotate-x {
|
@@ -172,12 +185,14 @@
|
|
172
185
|
-moz-transform: translate(20px, 30%);
|
173
186
|
-webkit-transform: translate(20px, 30%);
|
174
187
|
-o-transform: translate(20px, 30%);
|
188
|
+
-ms-transform: translate(20px, 30%);
|
175
189
|
transform: translate(20px, 30%); }
|
176
190
|
|
177
191
|
.translate-with-perspective {
|
178
192
|
-moz-transform: perspective(500) translate(20px, 30%);
|
179
193
|
-webkit-transform: perspective(500) translate(20px, 30%);
|
180
194
|
-o-transform: perspective(500) translate(20px, 30%);
|
195
|
+
-ms-transform: perspective(500) translate(20px, 30%);
|
181
196
|
transform: perspective(500) translate(20px, 30%); }
|
182
197
|
|
183
198
|
.translate-3d {
|
@@ -192,6 +207,7 @@
|
|
192
207
|
-moz-transform: translateX(30px);
|
193
208
|
-webkit-transform: translateX(30px);
|
194
209
|
-o-transform: translateX(30px);
|
210
|
+
-ms-transform: translateX(30px);
|
195
211
|
transform: translateX(30px); }
|
196
212
|
|
197
213
|
.translate-x-3d {
|
@@ -202,6 +218,7 @@
|
|
202
218
|
-moz-transform: perspective(500) translateX(30px);
|
203
219
|
-webkit-transform: perspective(500) translateX(30px);
|
204
220
|
-o-transform: perspective(500) translateX(30px);
|
221
|
+
-ms-transform: perspective(500) translateX(30px);
|
205
222
|
transform: perspective(500) translateX(30px); }
|
206
223
|
|
207
224
|
.translate-x-3d-with-perspective {
|
@@ -212,6 +229,7 @@
|
|
212
229
|
-moz-transform: translateY(30px);
|
213
230
|
-webkit-transform: translateY(30px);
|
214
231
|
-o-transform: translateY(30px);
|
232
|
+
-ms-transform: translateY(30px);
|
215
233
|
transform: translateY(30px); }
|
216
234
|
|
217
235
|
.translate-y-3d {
|
@@ -222,6 +240,7 @@
|
|
222
240
|
-moz-transform: perspective(500) translateY(30px);
|
223
241
|
-webkit-transform: perspective(500) translateY(30px);
|
224
242
|
-o-transform: perspective(500) translateY(30px);
|
243
|
+
-ms-transform: perspective(500) translateY(30px);
|
225
244
|
transform: perspective(500) translateY(30px); }
|
226
245
|
|
227
246
|
.translate-y-3d-with-perspective {
|
@@ -248,6 +267,7 @@
|
|
248
267
|
-moz-transform: skew(20deg, 50deg);
|
249
268
|
-webkit-transform: skew(20deg, 50deg);
|
250
269
|
-o-transform: skew(20deg, 50deg);
|
270
|
+
-ms-transform: skew(20deg, 50deg);
|
251
271
|
transform: skew(20deg, 50deg); }
|
252
272
|
|
253
273
|
.skew-3d {
|
@@ -258,6 +278,7 @@
|
|
258
278
|
-moz-transform: skewX(20deg);
|
259
279
|
-webkit-transform: skewX(20deg);
|
260
280
|
-o-transform: skewX(20deg);
|
281
|
+
-ms-transform: skewX(20deg);
|
261
282
|
transform: skewX(20deg); }
|
262
283
|
|
263
284
|
.skew-x-3d {
|
@@ -268,6 +289,7 @@
|
|
268
289
|
-moz-transform: skewY(20deg);
|
269
290
|
-webkit-transform: skewY(20deg);
|
270
291
|
-o-transform: skewY(20deg);
|
292
|
+
-ms-transform: skewY(20deg);
|
271
293
|
transform: skewY(20deg); }
|
272
294
|
|
273
295
|
.skew-y-3d {
|
@@ -278,28 +300,34 @@
|
|
278
300
|
-moz-transform: perspective(500) scale(20px, 20px) rotateX(25deg) rotateY(25deg) rotate3d(false 50px) translateX(50px) translateZ(50deg) skew(50deg, 50%);
|
279
301
|
-webkit-transform: perspective(500) scale(20px, 20px) rotateX(25deg) rotateY(25deg) rotate3d(false 50px) translateX(50px) translateZ(50deg) skew(50deg, 50%);
|
280
302
|
-o-transform: perspective(500) scale(20px, 20px) rotateX(25deg) rotateY(25deg) rotate3d(false 50px) translateX(50px) translateZ(50deg) skew(50deg, 50%);
|
303
|
+
-ms-transform: perspective(500) scale(20px, 20px) rotateX(25deg) rotateY(25deg) rotate3d(false 50px) translateX(50px) translateZ(50deg) skew(50deg, 50%);
|
281
304
|
transform: perspective(500) scale(20px, 20px) rotateX(25deg) rotateY(25deg) rotate3d(false 50px) translateX(50px) translateZ(50deg) skew(50deg, 50%);
|
282
305
|
-moz-transform-origin: 50%;
|
283
306
|
-webkit-transform-origin: 50%;
|
284
307
|
-o-transform-origin: 50%;
|
308
|
+
-ms-transform-origin: 50%;
|
285
309
|
transform-origin: 50%; }
|
286
310
|
|
287
311
|
.create-transform-3d {
|
288
312
|
-moz-transform: perspective(500) scale3d(20px, 20px, 20px) rotateX(25deg) rotateY(25deg) rotateZ(25deg) rotate3d(false 50px) translate3d(50px, 50px, 50deg) skew(50deg, 50%);
|
289
313
|
-webkit-transform: perspective(500) scale3d(20px, 20px, 20px) rotateX(25deg) rotateY(25deg) rotateZ(25deg) rotate3d(false 50px) translate3d(50px, 50px, 50deg) skew(50deg, 50%);
|
290
314
|
-o-transform: perspective(500) scale3d(20px, 20px, 20px) rotateX(25deg) rotateY(25deg) rotateZ(25deg) rotate3d(false 50px) translate3d(50px, 50px, 50deg) skew(50deg, 50%);
|
315
|
+
-ms-transform: perspective(500) scale3d(20px, 20px, 20px) rotateX(25deg) rotateY(25deg) rotateZ(25deg) rotate3d(false 50px) translate3d(50px, 50px, 50deg) skew(50deg, 50%);
|
291
316
|
transform: perspective(500) scale3d(20px, 20px, 20px) rotateX(25deg) rotateY(25deg) rotateZ(25deg) rotate3d(false 50px) translate3d(50px, 50px, 50deg) skew(50deg, 50%);
|
292
317
|
-moz-transform-origin: 50% 50%;
|
293
318
|
-webkit-transform-origin: 50% 50%;
|
294
319
|
-o-transform-origin: 50% 50%;
|
320
|
+
-ms-transform-origin: 50% 50%;
|
295
321
|
transform-origin: 50% 50%; }
|
296
322
|
|
297
323
|
.simple-transform {
|
298
324
|
-moz-transform: scale(25px, 25px) rotateZ(25deg) translate(10px, 10px) skew(30deg, 30deg);
|
299
325
|
-webkit-transform: scale(25px, 25px) rotateZ(25deg) translate(10px, 10px) skew(30deg, 30deg);
|
300
326
|
-o-transform: scale(25px, 25px) rotateZ(25deg) translate(10px, 10px) skew(30deg, 30deg);
|
327
|
+
-ms-transform: scale(25px, 25px) rotateZ(25deg) translate(10px, 10px) skew(30deg, 30deg);
|
301
328
|
transform: scale(25px, 25px) rotateZ(25deg) translate(10px, 10px) skew(30deg, 30deg);
|
302
329
|
-moz-transform-origin: 10% 10%;
|
303
330
|
-webkit-transform-origin: 10% 10%;
|
304
331
|
-o-transform-origin: 10% 10%;
|
332
|
+
-ms-transform-origin: 10% 10%;
|
305
333
|
transform-origin: 10% 10%; }
|
@@ -1,6 +1,15 @@
|
|
1
1
|
@import compass/css3/images, compass/css3/gradient
|
2
2
|
|
3
3
|
$experimental-support-for-svg: true
|
4
|
+
.bg-shortcut-simple-image
|
5
|
+
+background(#fff url('foo.png'))
|
6
|
+
|
7
|
+
.bg-shortcut-linear-gradient
|
8
|
+
+background(#fff linear-gradient(top left, #ddd, #aaa))
|
9
|
+
|
10
|
+
.bg-shortcut-radial-gradient
|
11
|
+
+background(#fff radial-gradient(center center, #ddd, #aaa 100px))
|
12
|
+
|
4
13
|
.bg-simple-image
|
5
14
|
+background-image(url('foo.png'))
|
6
15
|
|
@@ -1,3 +1,5 @@
|
|
1
1
|
.showgrid { background-image: url('http://assets0.example.com/images/grid.png?busted=true'); }
|
2
2
|
|
3
3
|
.inlinegrid { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAUEAYAAACv1qP4AAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAZ0lEQVRYw+3QwQ2AIBAFUTEUwI3+uzN7gDscsIgxEuO8An52J11X73OudfxMraXkzHfO3Y98nQEhA0IGhAwIGRAyIGRAyICQASEDQgaEDAgZEDIgZEDIgJABoZzSGK3tPuN9ERFP7Nw4fg+c5g8V1wAAAABJRU5ErkJggg=='); }
|
4
|
+
|
5
|
+
.no-buster { background-image: url('http://assets0.example.com/images/grid.png'); }
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Require any additional compass plugins here.
|
2
|
+
css_dir = "tmp"
|
3
|
+
sass_dir = "sass"
|
4
|
+
images_dir = "assets/images"
|
5
|
+
javascripts_dir = "assets/javascripts"
|
6
|
+
# Set this to the root of your project when deployed:
|
7
|
+
http_path = "/"
|
8
|
+
# To enable relative paths to assets via compass helper functions. Uncomment:
|
9
|
+
relative_assets = true
|