compass 0.13.alpha.2 → 0.13.alpha.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/README.markdown +1 -1
  2. data/Rakefile +5 -9
  3. data/VERSION.yml +1 -1
  4. data/features/command_line.feature +3 -23
  5. data/frameworks/compass/stylesheets/compass/_support.scss +2 -4
  6. data/frameworks/compass/stylesheets/compass/css3/_animation.scss +3 -10
  7. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +4 -5
  8. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +4 -7
  9. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +3 -8
  10. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +4 -7
  11. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +4 -7
  12. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +10 -18
  13. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +4 -5
  14. data/frameworks/compass/stylesheets/compass/css3/_box.scss +13 -16
  15. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +7 -8
  16. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +4 -5
  17. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +13 -22
  18. data/frameworks/compass/stylesheets/compass/css3/_images.scss +39 -48
  19. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +12 -8
  20. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +3 -3
  21. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +21 -26
  22. data/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss +3 -3
  23. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +8 -8
  24. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +3 -3
  25. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +4 -6
  26. data/lib/compass/commands.rb +1 -1
  27. data/lib/compass/commands/update_project.rb +0 -1
  28. data/lib/compass/configuration/data.rb +1 -1
  29. data/lib/compass/exec/project_options_parser.rb +13 -1
  30. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +1 -1
  31. data/lib/compass/sass_extensions/functions/gradient_support.rb +68 -28
  32. data/lib/compass/sass_extensions/functions/sprites.rb +10 -14
  33. data/lib/compass/sass_extensions/functions/urls.rb +8 -4
  34. data/lib/compass/sass_extensions/functions/utility.rb +10 -0
  35. data/lib/compass/sass_extensions/sprites/engines.rb +3 -3
  36. data/lib/compass/sprite_importer/content.erb +2 -1
  37. data/lib/compass/watcher/project_watcher.rb +5 -2
  38. data/test/fixtures/stylesheets/compass/css/gradients.css +40 -39
  39. data/test/fixtures/stylesheets/compass/css/grid_background.css +7 -14
  40. data/test/fixtures/stylesheets/compass/css/hyphenation.css +4 -2
  41. data/test/fixtures/stylesheets/compass/css/pie.css +0 -1
  42. data/test/fixtures/stylesheets/compass/css/regions.css +4 -2
  43. data/test/fixtures/stylesheets/compass/css/sprites.css +2 -1
  44. data/test/fixtures/stylesheets/compass/css/text_shadow.css +6 -6
  45. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +3 -6
  46. data/test/fixtures/stylesheets/compass/sass/gradients.sass +22 -0
  47. data/test/fixtures/stylesheets/envtest/tmp/env.css +4 -4
  48. data/test/helpers/diff.rb +1 -1
  49. data/test/integrations/sprites_test.rb +82 -48
  50. data/test/test_helper.rb +0 -13
  51. data/test/units/configuration_test.rb +12 -0
  52. data/test/units/regressions_test.rb +8 -8
  53. data/test/units/sass_extenstions/gradients_test.rb +33 -0
  54. data/test/units/sprites/layout_test.rb +11 -2
  55. data/test/units/watcher/project_watcher_test.rb +8 -0
  56. metadata +30 -16
  57. data/lib/compass/commands/generate_grid_background.rb +0 -96
  58. data/lib/compass/grid_builder.rb +0 -102
  59. data/test/units/compass_png_test.rb +0 -46
@@ -68,7 +68,7 @@ $transitionable-prefixed-values: transform, transform-origin !default;
68
68
  @if type-of($duration-1) == string { $duration-1: unquote($duration-1); }
69
69
  $durations: compact($duration-1, $duration-2, $duration-3, $duration-4, $duration-5, $duration-6, $duration-7, $duration-8, $duration-9, $duration-10);
70
70
  @include experimental(transition-duration, $durations,
71
- -moz, -webkit, -o, not -ms, not -khtml, official
71
+ -moz, -webkit, not -ms, -o, not -khtml, official
72
72
  );
73
73
  }
74
74
 
@@ -92,7 +92,7 @@ $transitionable-prefixed-values: transform, transform-origin !default;
92
92
  $function-1: unquote($function-1);
93
93
  $functions: compact($function-1, $function-2, $function-3, $function-4, $function-5, $function-6, $function-7, $function-8, $function-9, $function-10);
94
94
  @include experimental(transition-timing-function, $functions,
95
- -moz, -webkit, -o, not -ms, not -khtml, official
95
+ -moz, -webkit, not -ms, -o, not -khtml, official
96
96
  );
97
97
  }
98
98
 
@@ -115,7 +115,7 @@ $transitionable-prefixed-values: transform, transform-origin !default;
115
115
  @if type-of($delay-1) == string { $delay-1: unquote($delay-1); }
116
116
  $delays: compact($delay-1, $delay-2, $delay-3, $delay-4, $delay-5, $delay-6, $delay-7, $delay-8, $delay-9, $delay-10);
117
117
  @include experimental(transition-delay, $delays,
118
- -moz, -webkit, -o, not -ms, not -khtml, official
118
+ -moz, -webkit, not -ms, -o, not -khtml, official
119
119
  );
120
120
  }
121
121
 
@@ -1,17 +1,15 @@
1
- // User Interface ------------------------------------------------------------
1
+ // User Interface
2
2
  // This file can be expanded to handle all the user interface properties as
3
3
  // they become available in browsers:
4
4
  // http://www.w3.org/TR/2000/WD-css3-userint-20000216
5
+
5
6
  @import "shared";
6
7
 
7
- // ----------------------------------------------------------------------------
8
8
  // @private css3-feature-support variables must always include a list of five boolean values
9
- // representing in order: -moz, -webkit, -o, -ms, -khtml
9
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
10
10
  // - mozilla support handled seperately below
11
- $userselect-support: not -moz, -webkit, not -o, -ms, -khtml;
11
+ $userselect-support: not -moz, -webkit, -ms, not -o, -khtml;
12
12
 
13
- // ----------------------------------------------------------------------------
14
- // Mixins
15
13
 
16
14
  // This property controls the selection model and granularity of an element.
17
15
  //
@@ -3,7 +3,7 @@ end
3
3
 
4
4
  require 'compass/commands/registry'
5
5
 
6
- %w(base generate_grid_background default help list_frameworks project_base
6
+ %w(base project_base default help list_frameworks
7
7
  update_project watch_project create_project clean_project extension_command
8
8
  imports installer_command print_version project_stats stamp_pattern
9
9
  sprite validate_project write_configuration interactive unpack_extension
@@ -129,7 +129,6 @@ module Compass
129
129
  parser.options[:project_name] = arguments.shift if File.directory?(arguments.first)
130
130
  unless arguments.empty?
131
131
  parser.options[:sass_files] = arguments.dup
132
- parser.options[:force] = true
133
132
  end
134
133
  end
135
134
  end
@@ -142,7 +142,7 @@ module Compass
142
142
 
143
143
  def watch(glob, &block)
144
144
  @watches ||= []
145
- @watches << Watcher::Watch.new(glob, block)
145
+ @watches << Watcher::Watch.new(glob, &block)
146
146
  end
147
147
 
148
148
  def watches
@@ -20,6 +20,10 @@ module Compass::Exec::ProjectOptionsParser
20
20
  self.options[:project_type] = project_type.to_sym
21
21
  end
22
22
 
23
+ opts.on('--app-dir PATH', 'The base directory for your application.') do |project_path|
24
+ self.options[:project_path] = project_path
25
+ end
26
+
23
27
  opts.on('--sass-dir SRC_DIR', "The source directory where you keep your sass stylesheets.") do |sass_dir|
24
28
  set_dir_or_path(:sass, sass_dir)
25
29
  end
@@ -35,7 +39,7 @@ module Compass::Exec::ProjectOptionsParser
35
39
  opts.on('--javascripts-dir JS_DIR', "The directory where you keep your javascripts.") do |javascripts_dir|
36
40
  set_dir_or_path(:javascripts, javascripts_dir)
37
41
  end
38
-
42
+
39
43
  opts.on('--fonts-dir FONTS_DIR', "The directory where you keep your fonts.") do |fonts_dir|
40
44
  set_dir_or_path(:fonts, fonts_dir)
41
45
  end
@@ -57,6 +61,14 @@ module Compass::Exec::ProjectOptionsParser
57
61
  opts.on('--no-line-comments', :NONE, 'Disable line comments.') do
58
62
  self.options[:line_comments] = false
59
63
  end
64
+
65
+ opts.on('--http-path HTTP_PATH', 'Set this to the root of your project when deployed') do |http_path|
66
+ self.options[:http_path] = http_path
67
+ end
68
+
69
+ opts.on('--generated-images-path GENERATED_IMAGES_PATH', 'The path where you generate your images') do |generated_images_path|
70
+ self.options[:generated_images_path] = generated_images_path
71
+ end
60
72
  end
61
73
 
62
74
  end
@@ -33,7 +33,7 @@ module Compass::SassExtensions::Functions::CrossBrowserSupport
33
33
  Sass::Script::Bool.new(needed)
34
34
  end
35
35
 
36
- %w(webkit moz o ms svg pie css2 owg).each do |prefix|
36
+ %w(webkit moz o ms svg pie css2).each do |prefix|
37
37
  class_eval <<-RUBY, __FILE__, __LINE__ + 1
38
38
  # Syntactic sugar to apply the given prefix
39
39
  # -moz($arg) is the same as calling prefix(-moz, $arg)
@@ -79,7 +79,7 @@ module Compass::SassExtensions::Functions::GradientSupport
79
79
  def standardized_prefix(prefix)
80
80
  class_eval %Q{
81
81
  def to_#{prefix}(options = self.options)
82
- Sass::Script::String.new("-#{prefix}-\#{to_s(options)}")
82
+ Sass::Script::String.new("-#{prefix}-\#{to_s_prefixed(options)}")
83
83
  end
84
84
  }
85
85
  end
@@ -134,22 +134,14 @@ module Compass::SassExtensions::Functions::GradientSupport
134
134
  s << color_stops.to_s(options)
135
135
  s << ")"
136
136
  end
137
+
138
+ def to_s_prefixed(options = self.options)
139
+ to_s(options)
140
+ end
137
141
 
138
142
  standardized_prefix :webkit
139
143
  standardized_prefix :moz
140
144
  standardized_prefix :o
141
-
142
- def to_owg(options = self.options)
143
- args = [
144
- grad_point(position || _center_position),
145
- Sass::Script::String.new("0"),
146
- grad_point(position || _center_position),
147
- grad_end_position(color_stops, Sass::Script::Bool.new(true)),
148
- grad_color_stops(color_stops)
149
- ]
150
- args.each {|a| a.options = options}
151
- Sass::Script::String.new("-webkit-gradient(radial, #{args.join(', ')})")
152
- end
153
145
 
154
146
  def to_svg(options = self.options)
155
147
  # XXX Add shape support if possible
@@ -169,23 +161,48 @@ module Compass::SassExtensions::Functions::GradientSupport
169
161
  class LinearGradient < Sass::Script::Literal
170
162
  include Gradient
171
163
 
172
- attr_accessor :color_stops, :position_or_angle
164
+ attr_accessor :color_stops, :position_or_angle, :legacy
173
165
 
174
166
  def children
175
167
  [color_stops, position_or_angle].compact
176
168
  end
177
169
 
178
- def initialize(position_or_angle, color_stops)
170
+ def initialize(position_or_angle, color_stops, legacy=false)
179
171
  unless color_stops.value.size >= 2
180
172
  raise Sass::SyntaxError, "At least two color stops are required for a linear-gradient"
181
173
  end
182
174
  self.position_or_angle = position_or_angle
183
175
  self.color_stops = color_stops
176
+ self.legacy = legacy
184
177
  end
185
178
 
186
- def to_s(options = self.options)
179
+ def to_s_prefixed(options = self.options)
187
180
  s = "linear-gradient("
188
- s << position_or_angle.to_s(options) << ", " if position_or_angle
181
+ if legacy
182
+ s << position_or_angle.to_s(options) << ", " if position_or_angle
183
+ else
184
+ s << convert_to_or_from_legacy(position_or_angle, options) << ", " if position_or_angle
185
+ end
186
+ s << color_stops.to_s(options)
187
+ s << ")"
188
+ end
189
+
190
+ def convert_to_or_from_legacy(position_or_angle, options = self.options)
191
+ input = if position_or_angle.is_a?(Sass::Script::Number)
192
+ position_or_angle
193
+ else
194
+ Sass::Script::List.new(position_or_angle.to_s.split(' ').map {|s| Sass::Script::String.new(s) }, :space)
195
+ end
196
+ return convert_angle_from_offical(input).to_s(options)
197
+ end
198
+
199
+ def to_s(options = self.options)
200
+ s = 'linear-gradient('
201
+ if legacy
202
+ s << convert_to_or_from_legacy(position_or_angle, options) << ", " if position_or_angle
203
+ else
204
+ s << position_or_angle.to_s(options) << ", " if position_or_angle
205
+ end
189
206
  s << color_stops.to_s(options)
190
207
  s << ")"
191
208
  end
@@ -203,16 +220,6 @@ module Compass::SassExtensions::Functions::GradientSupport
203
220
  end
204
221
  end
205
222
 
206
- # Output the original webkit gradient syntax
207
- def to_owg(options = self.options)
208
- args = []
209
- args << grad_point(position_or_angle || Sass::Script::String.new("top"))
210
- args << linear_end_position(position_or_angle, color_stops)
211
- args << grad_color_stops(color_stops)
212
- args.each{|a| a.options = options}
213
- Sass::Script::String.new("-webkit-gradient(linear, #{args.join(', ')})")
214
- end
215
-
216
223
  def to_svg(options = self.options)
217
224
  linear_svg_gradient(color_stops, position_or_angle || Sass::Script::String.new("top"))
218
225
  end
@@ -229,6 +236,29 @@ module Compass::SassExtensions::Functions::GradientSupport
229
236
  end
230
237
 
231
238
  module Functions
239
+
240
+ def convert_angle_from_offical(deg)
241
+ if deg.is_a?(Sass::Script::Number)
242
+ return Sass::Script::Number.new((deg.value.to_f - 450).abs % 360, ['deg'])
243
+ else
244
+ args = deg.value
245
+ direction = []
246
+ if args[0] == Sass::Script::String.new('to')
247
+ if args.size < 2
248
+ direction = args
249
+ else
250
+ direction << opposite_position(args[1])
251
+ end
252
+ else
253
+ direction << Sass::Script::String.new('to')
254
+ args.each do |pos|
255
+ direction << opposite_position(pos)
256
+ end
257
+ end
258
+ return Sass::Script::String.new(direction.join(' '))
259
+ end
260
+ end
261
+
232
262
  # given a position list, return a corresponding position in percents
233
263
  # otherwise, returns the original argument
234
264
  def grad_point(position)
@@ -314,7 +344,7 @@ module Compass::SassExtensions::Functions::GradientSupport
314
344
  RadialGradient.new(position_or_angle, shape_and_size, send(:color_stops, *color_stops))
315
345
  end
316
346
 
317
- def linear_gradient(position_or_angle, *color_stops)
347
+ def _build_linear_gradient(position_or_angle, *color_stops)
318
348
  if color_stop?(position_or_angle)
319
349
  color_stops.unshift(position_or_angle)
320
350
  position_or_angle = nil
@@ -328,9 +358,19 @@ module Compass::SassExtensions::Functions::GradientSupport
328
358
  if color_stops.size == 1 && (stops = list_of_color_stops?(color_stops.first))
329
359
  color_stops = stops
330
360
  end
361
+ return [position_or_angle, color_stops]
362
+ end
363
+
364
+ def _linear_gradient(position_or_angle, *color_stops)
365
+ position_or_angle, color_stops = _build_linear_gradient(position_or_angle, *color_stops)
331
366
  LinearGradient.new(position_or_angle, send(:color_stops, *color_stops))
332
367
  end
333
368
 
369
+ def _linear_gradient_legacy(position_or_angle, *color_stops)
370
+ position_or_angle, color_stops = _build_linear_gradient(position_or_angle, *color_stops)
371
+ LinearGradient.new(position_or_angle, send(:color_stops, *color_stops), true)
372
+ end
373
+
334
374
  # returns color-stop() calls for use in webkit.
335
375
  def grad_color_stops(color_list)
336
376
  stops = color_stops_in_percentages(color_list).map do |stop, color|
@@ -14,11 +14,7 @@ module Compass::SassExtensions::Functions::Sprites
14
14
  # Returns the width of the generated sprite map
15
15
  def sprite_width(map, sprite=nil)
16
16
  verify_map(map, 'sprite-width')
17
- file = if sprite
18
- map.image_for(sprite).file
19
- else
20
- map.filename
21
- end
17
+ file = get_sprite_file(map, sprite)
22
18
  width, _ = image_dimensions(file)
23
19
  Sass::Script::Number.new(width, ["px"])
24
20
  end
@@ -28,11 +24,7 @@ module Compass::SassExtensions::Functions::Sprites
28
24
  # Returns the height of the generated sprite map
29
25
  def sprite_height(map, sprite=nil)
30
26
  verify_map(map, 'sprite-height')
31
- file = if sprite
32
- map.image_for(sprite).file
33
- else
34
- map.filename
35
- end
27
+ file = get_sprite_file(map, sprite)
36
28
  _, height = image_dimensions(file)
37
29
  Sass::Script::Number.new(height, ["px"])
38
30
  end
@@ -234,12 +226,16 @@ module Compass::SassExtensions::Functions::Sprites
234
226
  Sass::Script::Functions.declare :sprite_position, [:map, :sprite, :offset_x, :offset_y]
235
227
  Sass::Script::Functions.declare :sprite_position, [:map, :sprite, :offset_x, :offset_y, :use_percentages]
236
228
 
237
- def sprite_image(*args)
238
- raise Sass::SyntaxError, %Q(The sprite-image() function has been replaced by sprite(). See http://compass-style.org/help/tutorials/spriting/ for more information.)
239
- end
240
-
241
229
  protected
242
230
 
231
+ def get_sprite_file(map, sprite=nil)
232
+ if sprite
233
+ map.image_for(sprite).file
234
+ else
235
+ map.filename
236
+ end
237
+ end
238
+
243
239
  def reversed_color_names
244
240
  if Sass::Script::Color.const_defined?(:HTML4_COLORS_REVERSE)
245
241
  Sass::Script::Color::HTML4_COLORS_REVERSE
@@ -130,8 +130,10 @@ module Compass::SassExtensions::Functions::Urls
130
130
  end
131
131
 
132
132
  # Compute the real path to the image on the file stystem if the images_dir is set.
133
- real_path = if Compass.configuration.images_dir
134
- File.join(Compass.configuration.project_path, Compass.configuration.images_dir, path)
133
+ real_path = if Compass.configuration.images_path
134
+ File.join(Compass.configuration.images_path, path)
135
+ else
136
+ File.join(Compass.configuration.project_path, path)
135
137
  end
136
138
 
137
139
  # prepend the path to the image if there's one
@@ -195,8 +197,10 @@ module Compass::SassExtensions::Functions::Urls
195
197
  end
196
198
 
197
199
  # Compute the real path to the image on the file stystem if the generated_images_dir is set.
198
- real_path = if Compass.configuration.generated_images_dir
199
- File.join(Compass.configuration.project_path, Compass.configuration.generated_images_dir, path)
200
+ real_path = if Compass.configuration.images_path
201
+ File.join(Compass.configuration.images_path, path)
202
+ else
203
+ File.join(Compass.configuration.project_path, path)
200
204
  end
201
205
 
202
206
  # prepend the path to the image if there's one
@@ -0,0 +1,10 @@
1
+ module Compass::SassExtensions::Functions::Utility
2
+
3
+ def file_exists(path_to_file)
4
+ path = path_to_file.respond_to?(:value) ? path_to_file.value : path_to_file
5
+ Sass::Script::Bool.new(File.exists?(path));
6
+ end
7
+
8
+ Sass::Script::Functions.declare :file_exists, [:path_to_file]
9
+
10
+ end
@@ -9,11 +9,11 @@ module Compass
9
9
  end
10
10
 
11
11
  def construct_sprite
12
- raise ::Compass::Error, "You must impliment construct_sprite"
12
+ raise ::Compass::Error, "You must implement construct_sprite"
13
13
  end
14
14
 
15
15
  def save(filename)
16
- raise ::Compass::Error, "You must impliment save(filename)"
16
+ raise ::Compass::Error, "You must implement save(filename)"
17
17
  end
18
18
 
19
19
  end
@@ -22,4 +22,4 @@ module Compass
22
22
  end
23
23
 
24
24
 
25
- require 'compass/sass_extensions/sprites/engines/chunky_png_engine'
25
+ require 'compass/sass_extensions/sprites/engines/chunky_png_engine'
@@ -47,7 +47,8 @@ $<%= name %>-sort-by : 'none' !default;
47
47
  }
48
48
  } @else {
49
49
  #{$<%= name %>-sprite-base-class} {
50
- background: $<%= name %>-sprites no-repeat;
50
+ background-image: $<%= name %>-sprites;
51
+ background-repeat: no-repeat;
51
52
  }
52
53
  }
53
54
  //sass functions to return the dimensions of a sprite image as units
@@ -55,6 +55,9 @@ module Compass
55
55
  load_path = Pathname.new(load_path).relative_path_from(Pathname.new(project_path))
56
56
  filter = File.join(load_path, SASS_FILTER)
57
57
  children = File.join(load_path, ALL_CHILDREN_SASS_FILTER)
58
+ if filter.match(%r{^./})
59
+ watches << Watcher::Watch.new(SASS_FILTER, &method(:sass_callback))
60
+ end
58
61
  watches << Watcher::Watch.new(filter, &method(:sass_callback))
59
62
  watches << Watcher::Watch.new(children, &method(:sass_callback))
60
63
  end
@@ -62,7 +65,7 @@ module Compass
62
65
  end
63
66
 
64
67
  def listen_callback(modified_file, added_file, removed_file)
65
- #log_action(:info, ">>> Listen Callback fired", {})
68
+ #log_action(:info, ">>> Listen Callback fired added: #{added_file}, mod: #{modified_file}, rem: #{removed_file}", {})
66
69
  action = nil
67
70
  action ||= :modified unless modified_file.empty?
68
71
  action ||= :added unless added_file.empty?
@@ -78,7 +81,7 @@ module Compass
78
81
  end
79
82
 
80
83
  def sass_callback(base, file, action)
81
- #log_action(:info, ">>> Sass Callback fired #{action}", {})
84
+ #log_action(:info, ">>> Sass Callback fired #{action}, #{file}", {})
82
85
  sass_modified(file) if action == :modified
83
86
  sass_added(file) if action == :added
84
87
  sass_removed(file) if action == :removed
@@ -3,43 +3,39 @@
3
3
 
4
4
  .bg-shortcut-linear-gradient {
5
5
  background: white url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RkZGRkZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
6
- background: white -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa));
7
6
  background: white -webkit-linear-gradient(top left, #dddddd, #aaaaaa);
8
7
  background: white -moz-linear-gradient(top left, #dddddd, #aaaaaa);
9
8
  background: white -o-linear-gradient(top left, #dddddd, #aaaaaa);
10
- background: white linear-gradient(top left, #dddddd, #aaaaaa); }
9
+ background: white linear-gradient(to bottom right, #dddddd, #aaaaaa); }
11
10
 
12
11
  .bg-shortcut-radial-gradient {
13
12
  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
13
  background: white -webkit-radial-gradient(center center, #dddddd, #aaaaaa 100px);
16
14
  background: white -moz-radial-gradient(center center, #dddddd, #aaaaaa 100px);
17
15
  background: white -o-radial-gradient(center center, #dddddd, #aaaaaa 100px);
18
16
  background: white radial-gradient(center center, #dddddd, #aaaaaa 100px); }
19
17
 
20
18
  .bg-linear-gradient-angle-svg {
21
- background-image: -webkit-linear-gradient(-45deg, #0000ff, #000000);
22
- background-image: -moz-linear-gradient(-45deg, #0000ff, #000000);
23
- background-image: -o-linear-gradient(-45deg, #0000ff, #000000);
19
+ background-image: -webkit-linear-gradient(135deg, #0000ff, #000000);
20
+ background-image: -moz-linear-gradient(135deg, #0000ff, #000000);
21
+ background-image: -o-linear-gradient(135deg, #0000ff, #000000);
24
22
  background-image: linear-gradient(-45deg, #0000ff, #000000); }
25
23
 
26
24
  .bg-linear-gradient-angle2-svg {
27
25
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDBmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
28
26
  background-size: 100%;
29
- background-image: -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, #0000ff), color-stop(100%, #000000));
30
27
  background-image: -webkit-linear-gradient(top left, #0000ff, #000000);
31
28
  background-image: -moz-linear-gradient(top left, #0000ff, #000000);
32
29
  background-image: -o-linear-gradient(top left, #0000ff, #000000);
33
- background-image: linear-gradient(top left, #0000ff, #000000); }
30
+ background-image: linear-gradient(to bottom right, #0000ff, #000000); }
34
31
 
35
32
  .bg-all-gradient-types-with-simplification {
36
33
  background: #ffcc00;
37
34
  background: url('/images/4x6.png?busted=true'), url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RkZGRkZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='), url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjYWFhYWFhIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g'), #ffcc00;
38
- background: url('/images/4x6.png?busted=true'), -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa)), -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa)), #ffcc00;
39
35
  background: url('/images/4x6.png?busted=true'), -webkit-linear-gradient(top left, #dddddd, #aaaaaa), -webkit-radial-gradient(center center, #dddddd, #aaaaaa 100px), #ffcc00;
40
36
  background: url('/images/4x6.png?busted=true'), -moz-linear-gradient(top left, #dddddd, #aaaaaa), -moz-radial-gradient(center center, #dddddd, #aaaaaa 100px), #ffcc00;
41
37
  background: url('/images/4x6.png?busted=true'), -o-linear-gradient(top left, #dddddd, #aaaaaa), -o-radial-gradient(center center, #dddddd, #aaaaaa 100px), #ffcc00;
42
- background: url('/images/4x6.png?busted=true'), linear-gradient(top left, #dddddd, #aaaaaa), radial-gradient(center center, #dddddd, #aaaaaa 100px), #ffcc00; }
38
+ background: url('/images/4x6.png?busted=true'), linear-gradient(to bottom right, #dddddd, #aaaaaa), radial-gradient(center center, #dddddd, #aaaaaa 100px), #ffcc00; }
43
39
 
44
40
  .bg-simple-image {
45
41
  background-image: url("foo.png"); }
@@ -47,61 +43,54 @@
47
43
  .bg-linear-gradient {
48
44
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RkZGRkZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
49
45
  background-size: 100%;
50
- background-image: -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa));
51
46
  background-image: -webkit-linear-gradient(top left, #dddddd, #aaaaaa);
52
47
  background-image: -moz-linear-gradient(top left, #dddddd, #aaaaaa);
53
48
  background-image: -o-linear-gradient(top left, #dddddd, #aaaaaa);
54
- background-image: linear-gradient(top left, #dddddd, #aaaaaa); }
49
+ background-image: linear-gradient(to bottom right, #dddddd, #aaaaaa); }
55
50
 
56
51
  .bg-linear-gradient-pixel-stop-from-top {
57
52
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiNkZGRkZGQiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhYWFhYWEiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
58
53
  background-size: 100%;
59
- background-image: -webkit-gradient(linear, 50% 0%, 50% 40, color-stop(25%, #dddddd), color-stop(100%, #aaaaaa));
60
54
  background-image: -webkit-linear-gradient(top, #dddddd 10px, #aaaaaa 40px);
61
55
  background-image: -moz-linear-gradient(top, #dddddd 10px, #aaaaaa 40px);
62
56
  background-image: -o-linear-gradient(top, #dddddd 10px, #aaaaaa 40px);
63
- background-image: linear-gradient(top, #dddddd 10px, #aaaaaa 40px); }
57
+ background-image: linear-gradient(to bottom, #dddddd 10px, #aaaaaa 40px); }
64
58
 
65
59
  .bg-linear-gradient-pixel-stop-from-left {
66
60
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iNTAlIiB4Mj0iMTAwJSIgeTI9IjUwJSI+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiNkZGRkZGQiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhYWFhYWEiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
67
61
  background-size: 100%;
68
- background-image: -webkit-gradient(linear, 0% 50%, 40 50%, color-stop(25%, #dddddd), color-stop(100%, #aaaaaa));
69
62
  background-image: -webkit-linear-gradient(left, #dddddd 10px, #aaaaaa 40px);
70
63
  background-image: -moz-linear-gradient(left, #dddddd 10px, #aaaaaa 40px);
71
64
  background-image: -o-linear-gradient(left, #dddddd 10px, #aaaaaa 40px);
72
- background-image: linear-gradient(left, #dddddd 10px, #aaaaaa 40px); }
65
+ background-image: linear-gradient(to right, #dddddd 10px, #aaaaaa 40px); }
73
66
 
74
67
  .transparent-in-linear-gradient {
75
68
  background-image: white url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iYmxhY2siIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
76
69
  background-size: 100%;
77
- background-image: white -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, transparent), color-stop(100%, #aaaaaa));
78
70
  background-image: white -webkit-linear-gradient(top left, transparent, #aaaaaa);
79
71
  background-image: white -moz-linear-gradient(top left, transparent, #aaaaaa);
80
72
  background-image: white -o-linear-gradient(top left, transparent, #aaaaaa);
81
- background-image: white linear-gradient(top left, transparent, #aaaaaa); }
73
+ background-image: white linear-gradient(to bottom right, transparent, #aaaaaa); }
82
74
 
83
75
  .currentColor-in-linear-gradient {
84
76
  background-image: white url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iYmxhY2siIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iY3VycmVudENvbG9yIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
85
77
  background-size: 100%;
86
- background-image: white -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, transparent), color-stop(100%, currentColor));
87
78
  background-image: white -webkit-linear-gradient(top left, transparent, currentColor);
88
79
  background-image: white -moz-linear-gradient(top left, transparent, currentColor);
89
80
  background-image: white -o-linear-gradient(top left, transparent, currentColor);
90
- background-image: white linear-gradient(top left, transparent, currentColor); }
81
+ background-image: white linear-gradient(to bottom right, transparent, currentColor); }
91
82
 
92
83
  .rgba-in-linear-gradient {
93
84
  background-image: white url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjgiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4xIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
94
85
  background-size: 100%;
95
- background-image: white -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, rgba(255, 255, 255, 0.8)), color-stop(100%, rgba(0, 0, 0, 0.1)));
96
86
  background-image: white -webkit-linear-gradient(top left, rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0.1));
97
87
  background-image: white -moz-linear-gradient(top left, rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0.1));
98
88
  background-image: white -o-linear-gradient(top left, rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0.1));
99
- background-image: white linear-gradient(top left, rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0.1)); }
89
+ background-image: white linear-gradient(to bottom right, rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0.1)); }
100
90
 
101
91
  .bg-radial-gradient {
102
92
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSJibGFjayIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
103
93
  background-size: 100%;
104
- background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #dddddd), color-stop(100%, transparent));
105
94
  background-image: -webkit-radial-gradient(center center, #dddddd, transparent 100px);
106
95
  background-image: -moz-radial-gradient(center center, #dddddd, transparent 100px);
107
96
  background-image: -o-radial-gradient(center center, #dddddd, transparent 100px);
@@ -110,22 +99,20 @@
110
99
  .currentColor-in-radial-gradient {
111
100
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSJjdXJyZW50Q29sb3IiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9ImJsYWNrIiBzdG9wLW9wYWNpdHk9IjAiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
112
101
  background-size: 100%;
113
- background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, currentColor), color-stop(100%, transparent));
114
102
  background-image: -webkit-radial-gradient(center center, currentColor, transparent 100px);
115
103
  background-image: -moz-radial-gradient(center center, currentColor, transparent 100px);
116
104
  background-image: -o-radial-gradient(center center, currentColor, transparent 100px);
117
105
  background-image: radial-gradient(center center, currentColor, transparent 100px); }
118
106
 
119
107
  .bg-linear-gradient-with-angle {
120
- background-image: -webkit-linear-gradient(-45deg, #dddddd, #aaaaaa);
121
- background-image: -moz-linear-gradient(-45deg, #dddddd, #aaaaaa);
122
- background-image: -o-linear-gradient(-45deg, #dddddd, #aaaaaa);
108
+ background-image: -webkit-linear-gradient(135deg, #dddddd, #aaaaaa);
109
+ background-image: -moz-linear-gradient(135deg, #dddddd, #aaaaaa);
110
+ background-image: -o-linear-gradient(135deg, #dddddd, #aaaaaa);
123
111
  background-image: linear-gradient(-45deg, #dddddd, #aaaaaa); }
124
112
 
125
113
  .bg-radial-gradient-with-angle-and-shape {
126
114
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9ImVsbGlwc2UiIGN5PSJjb3ZlciIgcj0iMTAwIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjYWFhYWFhIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
127
115
  background-size: 100%;
128
- background-image: -webkit-gradient(radial, ellipse cover, 0, ellipse cover, 100, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa));
129
116
  background-image: -webkit-radial-gradient(ellipse cover, #dddddd, #aaaaaa 100px);
130
117
  background-image: -moz-radial-gradient(ellipse cover, #dddddd, #aaaaaa 100px);
131
118
  background-image: -o-radial-gradient(ellipse cover, #dddddd, #aaaaaa 100px);
@@ -134,15 +121,13 @@
134
121
  .bg-all-gradient-types {
135
122
  background-image: url('/images/4x6.png?busted=true'), url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RkZGRkZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='), url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjYWFhYWFhIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
136
123
  background-size: 100%;
137
- background-image: url('/images/4x6.png?busted=true'), -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa)), -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa));
138
124
  background-image: url('/images/4x6.png?busted=true'), -webkit-linear-gradient(top left, #dddddd, #aaaaaa), -webkit-radial-gradient(center center, #dddddd, #aaaaaa 100px);
139
125
  background-image: url('/images/4x6.png?busted=true'), -moz-linear-gradient(top left, #dddddd, #aaaaaa), -moz-radial-gradient(center center, #dddddd, #aaaaaa 100px);
140
126
  background-image: url('/images/4x6.png?busted=true'), -o-linear-gradient(top left, #dddddd, #aaaaaa), -o-radial-gradient(center center, #dddddd, #aaaaaa 100px);
141
- background-image: url('/images/4x6.png?busted=true'), linear-gradient(top left, #dddddd, #aaaaaa), radial-gradient(center center, #dddddd, #aaaaaa 100px); }
127
+ background-image: url('/images/4x6.png?busted=true'), linear-gradient(to bottom right, #dddddd, #aaaaaa), radial-gradient(center center, #dddddd, #aaaaaa 100px); }
142
128
 
143
129
  .border-image-gradient {
144
130
  -moz-border-image: -moz-radial-gradient(#00ff00, #ff0000 100px) 100 stretch;
145
- -webkit-border-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #00ff00), color-stop(100%, #ff0000)) 100 stretch;
146
131
  -webkit-border-image: -webkit-radial-gradient(#00ff00, #ff0000 100px) 100 stretch;
147
132
  -o-border-image: -o-radial-gradient(#00ff00, #ff0000 100px) 100 stretch;
148
133
  border-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjMDBmZjAwIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZmYwMDAwIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g') 100 stretch;
@@ -156,7 +141,6 @@
156
141
 
157
142
  .direct-list-image-with-gradient {
158
143
  list-style-image: -moz-radial-gradient(#00ff00, #ff0000 10px);
159
- list-style-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 10, color-stop(0%, #00ff00), color-stop(100%, #ff0000));
160
144
  list-style-image: -webkit-radial-gradient(#00ff00, #ff0000 10px);
161
145
  list-style-image: -o-radial-gradient(#00ff00, #ff0000 10px);
162
146
  list-style-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwMGZmMDAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZjAwMDAiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
@@ -164,7 +148,6 @@
164
148
 
165
149
  .shorthand-list-image-with-gradient {
166
150
  list-style-image: outside -moz-radial-gradient(#00ff00, #ff0000 10px);
167
- list-style-image: outside -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 10, color-stop(0%, #00ff00), color-stop(100%, #ff0000));
168
151
  list-style-image: outside -webkit-radial-gradient(#00ff00, #ff0000 10px);
169
152
  list-style-image: outside -o-radial-gradient(#00ff00, #ff0000 10px);
170
153
  list-style-image: outside url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwMGZmMDAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZjAwMDAiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
@@ -175,42 +158,36 @@
175
158
 
176
159
  .content-with-gradient {
177
160
  content: -moz-radial-gradient(#00ff00, #ff0000 10px);
178
- content: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 10, color-stop(0%, #00ff00), color-stop(100%, #ff0000));
179
161
  content: -webkit-radial-gradient(#00ff00, #ff0000 10px);
180
162
  content: -o-radial-gradient(#00ff00, #ff0000 10px);
181
163
  content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwMGZmMDAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZjAwMDAiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
182
164
  content: radial-gradient(#00ff00, #ff0000 10px); }
183
165
 
184
166
  .bg-linear-gradient-no-position {
185
- background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa));
186
167
  background-image: -webkit-linear-gradient(#dddddd, #aaaaaa);
187
168
  background-image: -moz-linear-gradient(#dddddd, #aaaaaa);
188
169
  background-image: -o-linear-gradient(#dddddd, #aaaaaa);
189
170
  background-image: linear-gradient(#dddddd, #aaaaaa); }
190
171
 
191
172
  .bg-radial-gradient-no-position {
192
- background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa));
193
173
  background-image: -webkit-radial-gradient(#dddddd, #aaaaaa 100px);
194
174
  background-image: -moz-radial-gradient(#dddddd, #aaaaaa 100px);
195
175
  background-image: -o-radial-gradient(#dddddd, #aaaaaa 100px);
196
176
  background-image: radial-gradient(#dddddd, #aaaaaa 100px); }
197
177
 
198
178
  .image-fallback {
199
- background-image: image(radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true'), #cc0000);
200
179
  background-image: image(-webkit-radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true'), #cc0000);
201
180
  background-image: image(-moz-radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true'), #cc0000);
202
181
  background-image: image(-o-radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true'), #cc0000);
203
182
  background-image: image(radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true'), #cc0000); }
204
183
 
205
184
  .cross-fade {
206
- background-image: cross-fade(radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true'));
207
185
  background-image: cross-fade(-webkit-radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true'));
208
186
  background-image: cross-fade(-moz-radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true'));
209
187
  background-image: cross-fade(-o-radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true'));
210
188
  background-image: cross-fade(radial-gradient(#dddddd, #aaaaaa 100px), url('/images/4x6.png?busted=true')); }
211
189
 
212
190
  .unknown-function-wrapper {
213
- background: foo(radial-gradient(#dddddd, #aaaaaa 100px));
214
191
  background: foo(-webkit-radial-gradient(#dddddd, #aaaaaa 100px));
215
192
  background: foo(-moz-radial-gradient(#dddddd, #aaaaaa 100px));
216
193
  background: foo(-o-radial-gradient(#dddddd, #aaaaaa 100px));
@@ -227,3 +204,27 @@
227
204
  .ie-alpha-filter {
228
205
  *zoom: 1;
229
206
  filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#FFFFFFFF', endColorstr='#00FFFFFF'); }
207
+
208
+ .linear-gradient-new {
209
+ background: -webkit-linear-gradient(top, #ff0000 0%, #88aa44 100%);
210
+ background: -moz-linear-gradient(top, #ff0000 0%, #88aa44 100%);
211
+ background: -o-linear-gradient(top, #ff0000 0%, #88aa44 100%);
212
+ background: linear-gradient(to bottom, #ff0000 0%, #88aa44 100%); }
213
+
214
+ .linear-gradient-old {
215
+ background: -webkit-linear-gradient(top, #ff0000 0%, #88aa44 100%);
216
+ background: -moz-linear-gradient(top, #ff0000 0%, #88aa44 100%);
217
+ background: -o-linear-gradient(top, #ff0000 0%, #88aa44 100%);
218
+ background: linear-gradient(to bottom, #ff0000 0%, #88aa44 100%); }
219
+
220
+ .linear-gradient-unknown-new {
221
+ background: -webkit-linear-gradient(330deg, #ff0000 0%, #88aa44 100%);
222
+ background: -moz-linear-gradient(330deg, #ff0000 0%, #88aa44 100%);
223
+ background: -o-linear-gradient(330deg, #ff0000 0%, #88aa44 100%);
224
+ background: linear-gradient(120deg, #ff0000 0%, #88aa44 100%); }
225
+
226
+ .linear-gradient-unknown-old {
227
+ background: -webkit-linear-gradient(120deg, #ff0000 0%, #88aa44 100%);
228
+ background: -moz-linear-gradient(120deg, #ff0000 0%, #88aa44 100%);
229
+ background: -o-linear-gradient(120deg, #ff0000 0%, #88aa44 100%);
230
+ background: linear-gradient(330deg, #ff0000 0%, #88aa44 100%); }