好程序员web前端培训教程之CSS3渐变
好程序员web前端培训教程之CSS3渐变,CSS3渐变(gradient)可以让你在两个或多个指定的颜色之间显示平稳的过渡。 以前,你必须使用图像来实现这些效果,现在通过使用 CSS3 的渐变(gradients)即可实现。此外,渐变效果的元素在放大时看起来效果更好,因为渐变(gradient)是由浏览器生成的。
1、线性渐变
语法:background: linear-gradient(direction, color-stop1, color-stop2, ...);说明:direction:默认为to bottom,即从上向下的渐变;stop:颜色的分布位置,默认均匀分布,例如有3个颜色,各个颜色的stop均为33.33%。
示例1:to left、top right、to bottom、to top
div { background:linear-gradient(to left, red , blue) } div { background:linear-gradient(to right, red , blue) }div { background:linear-gradient(to bottom, red , blue) } /* 浏览器默认值 */ div { background:linear-gradient(to top, red , blue) }分别产生“从右到左”、“从左到右”、“从上到下”、“从下到上”的“红色–绿色”渐变
示例2:to right bottom、to right top、to left bottom、to left top
div { background: linear-gradient(to right bottom, red , blue); }div { background: linear-gradient(to right top, red , blue); }div { background: linear-gradient(to left bottom, red , blue); } div { background: linear-gradient(to left top, red , blue); }分别产生到“右下角”、“右上角”、“左下角”、“左上角”的渐变
示例3:使用角度渐变
div { background: linear-gradient(10deg, red, blue) }
2、径向渐变
径向渐变不同于线性渐变,线性渐变是从“一个方向”向“另一个方向”的颜色渐变,而径向渐变是从“一个点”向四周的颜色渐变语法:background: radial-gradient(center, shape, size, start-color, ..., last-color);说明:center:渐变起点的位置,可以为百分比,默认是图形的正中心。shape:渐变的形状,ellipse表示椭圆形,circle表示圆形。默认为ellipse,如果元素形状为正方形的元素,则ellipse和circle显示一样。size:渐变的大小,即渐变到哪里停止,它有四个值。 closest-side:最近边;farthest-side:最远边; closest-corner:最近角; farthest-corner:最远角
示例1:多颜色点均匀分布
div { background: radial-gradient(red, green, blue); } 以中心(50% 50%)为起点,到最远角(farthest-corner),从red到green、blue的均匀渐变
EG:div { background: -webkit-radial-gradient(50% 50%, farthest-corner, red, green, blue); } 或 div { background: -webkit-radial-gradient(center, farthest-corner, red, green, blue); }
示例2:多颜色节点不均匀分布
div { background: radial-gradient(red 5%, green 15%, blue 60%); }
示例3:设置渐变形状
div { background: radial-gradient(circle, red, yellow, green); } div { background: radial-gradient(ellipse, red, yellow, green); }
circle:渐变为最大的圆形; ellipse:根据元素形状渐变,元素为正方形是显示效果与circle无异。
示例4:不同尺寸的渐变
size指定了渐变的大小,即渐变到哪里停止,它有四个值。closest-side:最近边; farthest-side:最远边; closest-corner:最近角; farthest-corner:最远角
div { background: radial-gradient(60% 40%, closest-side, blue, green, yellow, black); } div { background: radial-gradient(60% 40%, farthest-side, blue, green, yellow, black); }div { background: radial-gradient(60% 40%, closest-corner, blue, green, yellow, black); }div { background: radial-gradient(60% 40%, farthest-corner, blue, green, yellow, black); }
3、重复渐变
(1)重复性线性渐变
div { background: repeating-linear-gradient(red, yellow 10%, green 20%); }说明:10%的位置为yellow,20%的位置为green,然后按照这20%向下重复
(2)重复性径向渐变
div { background: repeating-radial-gradient(red, yellow 10%, green 20%); }