diff --git a/examples/css3/index.html.haml b/examples/css3/index.html.haml index 926429d9..e670b44b 100644 --- a/examples/css3/index.html.haml +++ b/examples/css3/index.html.haml @@ -30,21 +30,37 @@ %h2 Gradients %pre.horizontal %code<> - +h-gradient(#d92626, #2626d9) + :preserve + +linear-gradient( + color_stops(#d92626, #2626d9), + "left") %pre.vertical %code<> - +v-gradient(#d92626, #2626d9) + :preserve + +linear-gradient( + color_stops(#d92626, #2626d9)) %pre.diagonal %code< - +linear-gradient("left top", - "right bottom", - \#d92626, #2626d9) + :preserve + + + + + + +linear-gradient( + color_stops(#d92626, #2626d9), + "top left") + + + + %pre.radial %code<> +radial-gradient(
"center center, 10, center center, 100",
#d92626, #2626d9) .examples #border-radius.example %h2 Border Radius + %p This box has rounded corners .gutter #box-shadow.example %h2 Box Shadow diff --git a/examples/css3/src/fancy-fonts.sass b/examples/css3/src/fancy-fonts.sass index f6fb1962..6648f776 100644 --- a/examples/css3/src/fancy-fonts.sass +++ b/examples/css3/src/fancy-fonts.sass @@ -1,6 +1,6 @@ @import compass/css3.sass -+font-face("Angelina", font-files("angelina.ttf", 'truetype')) ++font-face("Angelina", font_files("angelina.ttf", "truetype")) h1 font-family: "Angelina" font-size: 5em diff --git a/examples/css3/src/gradient.sass b/examples/css3/src/gradient.sass index bba90ecb..f46438f9 100644 --- a/examples/css3/src/gradient.sass +++ b/examples/css3/src/gradient.sass @@ -5,6 +5,6 @@ height: 100px border: 1px solid #777 .linear - +v-gradient(#fff, #aaa, color_stop(50%, #ccc, 50%, #bbb)) + +linear-gradient(color_stops(#fff, #f00 50%, #ff0 75%, #0f0)) .radial +radial-gradient("45 45, 10, 52 50, 30", "Cyan", "DodgerBlue") diff --git a/examples/css3/src/main.sass b/examples/css3/src/main.sass index 25498754..06b8dea4 100644 --- a/examples/css3/src/main.sass +++ b/examples/css3/src/main.sass @@ -39,7 +39,7 @@ h1 content: " " .example - +v-gradient(#fff, #ccc) + +linear-gradient(color_stops(#fff, #ccc)) pre padding: 1em margin: 1em @@ -48,8 +48,8 @@ h1 font-weight: bold #background-clip pre - background: transparent #{image-url("fresh-peas.jpg")} no-repeat - border: 1em solid #{transparentize(red, .75)} + background: transparent #{image_url("fresh-peas.jpg")} no-repeat + border: 1em solid rgba(255,0,0,.25) .padding-box +background-clip("padding-box") +background-origin("padding-box") @@ -59,8 +59,9 @@ h1 #background-size pre - background: transparent #{image-url("fresh-peas.jpg")} no-repeat - border: 1em solid #{transparentize(red, .75)} + background: transparent #{image_url("fresh-peas.jpg")} no-repeat + border: 1em solid #{mix(red, white, .5)} + border: 1em solid rgba(255,0,0,.25) .top-left +background-size(50% 50%) .centered @@ -69,12 +70,13 @@ h1 #gradients .horizontal - +h-gradient(#d92626, #2626d9) + +linear-gradient(color_stops(#d92626, #2626d9), "left") .vertical - +v-gradient(#d92626, #2626d9) + +linear-gradient(color_stops(#d92626, #2626d9)) .diagonal - +linear-gradient("left top", "right bottom", #d92626, #2626d9) + +linear-gradient(color_stops(#d92626, #2626d9), "right top") .radial - +radial-gradient("center center, 10, center center, 100", #d92626, #2626d9) + +radial-gradient("center center, 10, center center, 100", #d92626, #2626d9) + background-image: -moz-radial-gradient(20px center, circle, 40px center #d92626 10px, #2626d9 100px) background-color: #2626d9 diff --git a/lib/compass/sass_extensions/functions/gradient_support.rb b/lib/compass/sass_extensions/functions/gradient_support.rb index 71287d82..75e6efbb 100644 --- a/lib/compass/sass_extensions/functions/gradient_support.rb +++ b/lib/compass/sass_extensions/functions/gradient_support.rb @@ -33,6 +33,7 @@ module Compass::SassExtensions::Functions::GradientSupport end module Functions + # returns the opposite position of a side or corner. def grad_opposite_position(position) opposite = position.value.split(/ +/).map do |pos| case pos @@ -46,6 +47,8 @@ module Compass::SassExtensions::Functions::GradientSupport end Sass::Script::String.new(opposite.join(" ")) end + + # returns color-stop() calls for use in webkit. def grad_color_stops(color_list) positions = color_list.values.map{|c| [c.stop && c.stop.value, c.color]} # fill in the blank positions @@ -74,12 +77,18 @@ module Compass::SassExtensions::Functions::GradientSupport Sass::Script::String.new(color_stops.join(", ")) end end + + # the first color from a list of color stops def grad_start_color(color_list) color_list.values.first.color end + + # the last color from a list of color stops def grad_end_color(color_list) color_list.values.last.color end + + # the given a position, return a point in percents def grad_point(position) position = position.value position = if position[" "]