compass 0.13.alpha.2 → 0.13.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.
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%); }