渐变及其语法

2.6 渐变

从一种颜色到其他颜色的过渡(两种及两种以上颜色)

##### 2.6.1 线性渐变 linear-gradient

线型渐变 : 从一个方向到另一个方向的渐变

- 语法

```html

background: linear-gradient(方向, 颜色1 范围1, 颜色2 范围2,...);

方向:数值(单位deg)、关键词(left|right top|bottom)

颜色:关键词、十六进制色值、rgb(r,g,b)、rgba(r,g,b,a)

范围:每个颜色结点的显示范围

注意:

方向:加前缀需要把to去掉,方向是相反的

取值:

1、使用起始位置关键字

- to right 方向自左向右

- to top 方向自下而上

- to bottom 方向自上而下

- to left 方向自右而左

- to right top 方向朝向右上角

- to right bottom 方向朝向右下角

- to top left 方向朝向左上角

- to left bottom方向朝向左下角

2、使用角度

- 0deg 相当于 to top

- 90deg 相当于 to right

3、百分比

```

- 重复线性渐变

```

background:repeating-linear-gradient(方向, 颜色1 范围1, 颜色2 范围2,...);

```

```

background: repeating-linear-gradient(180deg, red 0%, red 10%, yellow 10%,yellow 20%);

```

```css

div {

width: 300px;

height: 300px;

margin: 20px;

}

/* 方向朝向左上角,red--blue渐变 */

.box1 {

background: linear-gradient(to top left, red, yellow, green);

}

/* 线性渐变:

从45度方向开始:

0%-20%:纯黄色

20%-60%:黄色和粉色渐变

60%-100%:纯粉色 */

.box2 {

background: -webkit-linear-gradient(45deg, yellow 20%, pink 60%);

background: -o-linear-gradient(45deg, yellow 20%, pink 60%);

background: -moz-linear-gradient(45deg, yellow 20%, pink 60%);

background: -ms-linear-gradient(45deg, yellow 20%, pink 60%);

background: linear-gradient(45deg, yellow 20%, pink 60%);

}

.box3 {

background: linear-gradient(90deg, yellow 20%, pink 60%);

}

/* 方向:加前缀需要把to去掉,方向是相反的 */

.box4 {

background: -webkit-linear-gradient(right, red, yellow, green);

}

.box5 {

background: linear-gradient(to right, red, yellow, green);

}

/* 重复线性渐变 */

/* 兼容里的写法,先写私有前缀,在写标准的 */

.box6 {

background: -webkit-repeating-linear-gradient(top, red 10%, yellow 20%, green 30%);

background: -moz-repeating-linear-gradient(top, red 10%, yellow 20%, green 30%);

background: -o-repeating-linear-gradient(top, red 10%, yellow 20%, green 30%);

background: -ms-repeating-linear-gradient(top, red 10%, yellow 20%, green 30%);

/* 不加前缀记得加to */

background: repeating-linear-gradient(to top, red 10%, yellow 20%, green 30%);

}

```

##### 2.6.2 径向渐变 radial-gradient

径向渐变 : 一个点到四周的渐变

- 语法

```html

backgrond: radial-gradient(渐变形状, 颜色1 范围1, 颜色2 范围2, ...);

渐变形状:椭圆(ellipse,默认值)、圆形(circle)

圆心位置

语法:background:radial-gradient(形状 at 水平位置 垂直位置,颜色1,颜色2)

取值:

- px(表示距左上角的0,0的坐标位置)

- 关键字可以是以下词的组合

- left center right

- top center bottom

- 百分比

例:表示圆心在右侧中心

background: radial-gradient(circle at 100% 50%, red, yellow, green);

```

例:表示圆心在左上角

background: radial-gradient(circle at left top, red, yellow, green);

```

- 重复径向渐变

```html

backgrond: repeating-radial-gradient(渐变形状/圆心, 颜色1 范围1, 颜色2 范围2, ...);

```

```css

div {

width: 300px;

height: 300px;

margin: 20px;

}

/* 椭圆(ellipse,默认值) */

.box1 {

background: -webkit-radial-gradient(ellipse, red, yellow, green);

background: -moz-radial-gradient(ellipse, red, yellow, green);

background: -o-radial-gradient(ellipse, red, yellow, green);

background: -ms-radial-gradient(ellipse, red, yellow, green);

background: radial-gradient(ellipse, red, yellow, green);

}

/* 圆形(circle) */

.box2 {

background: -webkit-radial-gradient(circle, red, yellow, green);

background: -moz-radial-gradient(circle, red, yellow, green);

background: -o-radial-gradient(circle, red, yellow, green);

background: -ms-radial-gradient(circle, red, yellow, green);

background: radial-gradient(circle, red, yellow, green);

}

/* 圆心位置 px(表示距左上角的0,0的坐标位置)*/

.box3 {

background: -webkit-radial-gradient(circle at 50px 100px, red, yellow, green);

background: -moz-radial-gradient(circle at 50px 100px, red, yellow, green);

background: -o-radial-gradient(circle at 50px 100px, red, yellow, green);

background: -ms-radial-gradient(circle at 50px 100px, red, yellow, green);

background: radial-gradient(circle at 50px 100px, red, yellow, green);

}

/* 百分比 表示圆心在右侧中心 */

.box3 {

background: -webkit-radial-gradient(circle at 100% 50%, red, yellow, green);

background: -moz-radial-gradient(circle at 100% 50%, red, yellow, green);

background: -o-radial-gradient(circle at 100% 50%, red, yellow, green);

background: -ms-radial-gradient(circle at 100% 50%, red, yellow, green);

background: radial-gradient(circle at 100% 50%, red, yellow, green);

}

/* 关键词 表示圆心在左上角 */

.box4 {

background: -webkit-radial-gradient(circle at left top, red, yellow, green);

background: -moz-radial-gradient(circle at left top, red, yellow, green);

background: -o-radial-gradient(circle at left top, red, yellow, green);

background: -ms-radial-gradient(circle at left top, red, yellow, green);

background: radial-gradient(circle at left top, red, yellow, green);

}

/* 重复径向渐变 */

.box5 {

background: -webkit-repeating-radial-gradient(circle, red 10%, yellow 20%, green 30%);

background: -moz-repeating-radial-gradient(circle, red 10%, yellow 20%, green 30%);

background: -o-repeating-radial-gradient(circle, red 10%, yellow 20%, green 30%);

background: -ms-repeating-radial-gradient(circle, red 10%, yellow 20%, green 30%);

background: repeating-radial-gradient(circle, red 10%, yellow 20%, green 30%);

}

/* 重复径向渐变 */

.box6 {

background: -webkit-repeating-radial-gradient(circle at 50px 50px, red 10%, yellow 20%, green 30%);

background: -moz-repeating-radial-gradient(circle at 50px 50px, red 10%, yellow 20%, green 30%);

background: -o-repeating-radial-gradient(circle at 50px 50px, red 10%, yellow 20%, green 30%);

background: -ms-repeating-radial-gradient(circle at 50px 50px, red 10%, yellow 20%, green 30%);

background: repeating-radial-gradient(circle at 50px 50px, red 10%, yellow 20%, green 30%);

}

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值