css 渐变

目录

线性渐变 linear-gradient

direction 图解

color [ position ] 图解 

创建条纹背景

创建格子背景

普通网格背景: 

错位的灰白像素格子背景:

其他

径向渐变 radial-gradient


线性渐变 linear-gradient

 接收参数:[ direction ], color [ position ]

其中:

  1. direction 表示 渐变方向可略
  2. color 表示 渐变颜色position 表示 渐变停止位置,两者通过空格分隔组成一个字符串作为参数,且 position 可略
  3. 可通过重复 colorposition 来创建任意数量颜色的渐变。
background-image: linear-gradient(direction, 
color_1 position_1, ..., color_n position_n)

direction 图解

1、不传 direction ,即默认情况的三色渐变:

background-image: linear-gradient(#0303c1, #fff, #7ff0fb);

2、direction 为 0deg :

background-image: linear-gradient( 0deg , #0303c1, #fff, #7ff0fb);

3、direction 为 45deg : 

background-image: linear-gradient( 45deg , #0303c1, #fff, #7ff0fb);

color [ position ] 图解 

1、整体渐变:

background-image: linear-gradient(#0303c1 0%,#fff 50%, #7ff0fb 100%);

 

2、局部渐变 :

 

background-image: linear-gradient(#0303c1 20%,#fff 50%, #fba97f 80%);

创建条纹背景

  •  两种颜色平铺:

        当某个颜色的 position 小于上个颜色的 position 时,该颜色会停止渐变,直接用于填充:

background-image: linear-gradient(
    rgb(255, 187, 51) 50%, 
    rgb(85, 136, 187)  0
); 

渐变实际是由 background-image 生成的,因此可用 background-size: width_x width_y 来改变其在 x、y 轴的大小,如:background-size: 100% 40px;

而背景图片默认是在 x、y 轴重复平铺的,于是就会生成条纹。

  • 于是要创建一个三色条纹:(假定三色为:绿
  1. 首先,颜色1的 position 设为用 红色 填充的位置(如 33.33%);
  2. 其次,颜色2、颜色3 设为 绿色,且 颜色2的 position  <= 颜色1的 position(0~33.33% 皆可,假定 0),颜色3的 position 设为想用 绿色 填充的位置 66.66%,于是接着 红色 填充截止的位置开始填充 绿色
  3. 然后,颜色4 设为 蓝色,且颜色4 的 position 必须  <= 颜色3 的 position ,才能阻止其颜色渐变;
  4. 最后可配合 background-size 控制条纹粗细。
background: linear-gradient(
    red 33.3%,  /* 第一种颜色:红 */
    #08f508 0, #08f508 66.6%,  /* 第二种颜色:绿 */
    blue 0 /* 第三种颜色:蓝 */
);
/* background-size: 100% 15px; */

 三色条纹示意图:

创建格子背景

普通网格背景: 

基于条纹背景来实现网格背景,只需要通过两个渐变:

background-image: linear-gradient(#666 2%, transparent 0),
    linear-gradient(to right, #666 2%, transparent 0);
background-size: 100% 50px, 50px 100%; /* 控制两个渐变的大小 */

 

错位的灰白像素格子背景:

1、通过控制渐变角度可实现三角形平铺:

background-image: linear-gradient(45deg, #666 50%, transparent 0);
background-size: 100px 100px;

 

 2、通过控制渐变停止位置将三角形缩小至占 1/4 格,并通过重复 color [ position ] 继续生成右上角的三角形:

background-image: linear-gradient(45deg,
    #666 25%, transparent 0, 
    transparent 75%, #666 0
);
background-size: 100px 100px;

 

 3、多加一个同样的渐变,生成两组相同的上图所示 占据对立顶角的平铺三角形,然后移动其中一组的位置,拼合成正方形:

background-image: 
    linear-gradient(45deg, #666 25%, transparent 0, transparent 75%, #666 0),
    linear-gradient(45deg, #666 25%, transparent 0, transparent 75%, #666 0);
background-size: 100px 100px;
background-position: 0 0, 50px 50px;

其他

使用以上相同的渐变,但控制位置,还可生成不同的背景: 

 

 

径向渐变 radial-gradient

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值