目标:使用background-image属性实现渐变背景效果

CSS 定义了两种渐变类型:

  • 线性渐变(向下/向上/向左/向右/对角线)
  • 径向渐变(由其中心定义)

1.CSS 线性渐变

如需创建线性渐变,必须定义至少两个色标。可以设置起点和方向(或角度)以及渐变效果。

语法:

background-image: linear-gradient(direction, color-stop1, color-stop2, ...);

1.1 从上到下(默认)

案例效果

下面的例子显示了从顶部开始的线性渐变。它从红色开始,过渡到黄色:

案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: linear-gradient(red, yellow);
}
</style>
</head>
<body><h1>线性渐变 - 从上到下</h1>
<p>此线性渐变从顶部开始为红色,然后在底部过渡为黄色:</p><div id="grad1"></div></body>
</html>

1.2 从左到右

案例效果


案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: linear-gradient(to right, red , yellow);
}
</style>
</head>
<body><h1>线性渐变 - 从左到右</h1>
<p>此线性渐变从左开始为红色,然后过渡到黄色(向右):</p><div id="grad1"></div></body>
</html>

1.3 对角线

案例效果

通过指定水平和垂直起始位置来实现对角渐变。

案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: linear-gradient(to bottom right, red, yellow);
}
</style>
</head>
<body><h1>线性渐变 - 对角线</h1>
<p>此线性渐变从左上开始为红色,然后过渡到黄色(到右下):</p><div id="grad1"></div></body>
</html>

1.4 使用角度

语法

background-image: linear-gradient(angle, color-stop1, color-stop2);

案例效果

渐变角度做更多的控制,可以定义一个角度,来取代预定义的方向(向下、向上、向右、向左、向右下等等)。值 0deg 等于向上(to top)。值 90deg 等于向右(to right)。值 180deg 等于向下(to bottom)

案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 100px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: linear-gradient(0deg, red, yellow);
}#grad2 {height: 100px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: linear-gradient(90deg, red, yellow);
}#grad3 {height: 100px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: linear-gradient(180deg, red, yellow);
}#grad4 {height: 100px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: linear-gradient(-90deg, red, yellow);
}
</style>
</head>
<body><h1>线性渐变 - 使用不同的角度</h1><div id="grad1" style="text-align:center;">0deg</div><br>
<div id="grad2" style="text-align:center;">90deg</div><br>
<div id="grad3" style="text-align:center;">180deg</div><br>
<div id="grad4" style="text-align:center;">-90deg</div></body>
</html>

1.5 使用多个色标

案例效果

使用彩虹色和一些文本创建线性渐变(从左到右)

案列代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 55px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet);
}
</style>
</head>
<body><div id="grad1" style="text-align:center;margin:auto;color:#888888;font-size:40px;font-weight:bold">
彩虹背景
</div></body>
</html>

1.6 使用透明度

案例效果

如需添加透明度,使用 rgba() 函数来定义色标。 rgba() 函数中的最后一个参数可以是 0 到 1 的值,它定义颜色的透明度:0 表示全透明,1 表示全彩色(无透明)。

案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 200px;background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
}
</style>
</head>
<body>
<div id="grad1"></div></body>
</html>

1.7 重复线性渐变

案例效果


案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: repeating-linear-gradient(red, yellow 10%, green 20%);
}#grad2 {height: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: repeating-linear-gradient(45deg,red,yellow 7%,green 10%);
}#grad3 {height: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: repeating-linear-gradient(190deg,red,yellow 7%,green 10%);
}#grad4 {height: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: repeating-linear-gradient(90deg,red,yellow 7%,green 10%);
}
</style>
</head>
<body><h1>重复线性渐变</h1><div id="grad1"></div><p>在 45deg 轴上重复的渐变,从红色开始到绿色结束:</p>
<div id="grad2"></div><p>在 190deg 轴上重复的渐变,从红色开始到绿色结束:</p>
<div id="grad3"></div><p>在 90deg 轴上重复的渐变,从红色开始到绿色结束:</p>
<div id="grad4"></div></body>
</html>

2.CSS径向渐变

语法

径向渐变由其中心定义。如需创建径向渐变,必须定义至少两个色标

background-image: radial-gradient(shape size at position, start-color, ..., last-color);
默认,shape 为椭圆形,size 为最远角,position 为中心

2.1 均匀间隔的色标(默认)

案例效果


案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 150px;width: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: radial-gradient(red, yellow, green);
}
</style>
</head>
<body><div id="grad1"></div>
</body>
</html>

2.2 不同间距的色标

案例效果


案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 150px;width: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: radial-gradient(red 5%, yellow 15%, green 60%);
}
</style>
</head>
<body><div id="grad1"></div>
</body>
</html>

2.3 设置形状

案例效果


案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 150px;width: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: radial-gradient(red, yellow, green);
}#grad2 {height: 150px;width: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: radial-gradient(circle, red, yellow, green);
}
</style>
</head>
<body><h2>椭圆(默认):</h2><div id="grad1"></div><h2>圆:</h2><div id="grad2"></div>
</body>
</html>

2.4 使用大小不同的关键字

案例效果

案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 150px;width: 150px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: radial-gradient(closest-side at 60% 55%, red, yellow, black);
}#grad2 {height: 150px;width: 150px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: radial-gradient(farthest-side at 60% 55%, red, yellow, black);
}#grad3 {height: 150px;width: 150px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: radial-gradient(closest-corner at 60% 55%, red, yellow, black);
}#grad4 {height: 150px;width: 150px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: radial-gradient(farthest-corner at 60% 55%, red, yellow, black);
}
</style>
</head>
<body><h1>径向渐变 - 不同的 size 关键字s</h1><h2>closest-side:</h2>
<div id="grad1"></div><h2>farthest-side:</h2>
<div id="grad2"></div><h2>closest-corner:</h2>
<div id="grad3"></div><h2>farthest-corner (默认):</h2>
<div id="grad4"></div></body>
</html>

2.5 重复径向渐变

案例效果

repeating-radial-gradient() 函数用于重复径向渐变

案例代码

<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {height: 150px;width: 200px;background-color: red; /* 针对不支持渐变的浏览器 */background-image: repeating-radial-gradient(red, yellow 10%, green 15%);
}
</style>
</head>
<body><div id="grad1"></div>
</body>
</html>

下一篇: 平面(2D)转换:使用transform属性实现元素的位移、旋转、缩放等效果

CSS3线性渐变与径向渐变相关推荐

  1. CSS3渐变属性:线性渐变和径向渐变用法教程

    在CSS3之前如果需要添加渐变效果,通常要设置背景图像来实现.而CSS3中增加了渐变属性,通过渐变属性可以轻松实现渐变效果.CSS3的渐变属性主要包括线性渐变和径向渐变,本文转自黑马程序员前端培训课程 ...

  2. CSS3,渐变效果(线性渐变,径向渐变,重复渐变),实现各种背景效果。

    CSS3中的渐变实现(线性渐变.径向渐变) CSS3中的background新增属性实现,常见页面效果. CSS3中的图片边框的基本用法 CSS3中的transition属性,实现过渡效果. CSS3 ...

  3. 渐变:线性渐变、径向渐变

    渐变: CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 分为线性渐变(linear-gradient).径向渐变(radial-gradient) 线性渐变(l ...

  4. CSS线性渐变和径向渐变详解

    第九章:渐变色 1.线性渐变 1.1.什么是线性渐变 1.2线性渐变的写法 2.径向渐变 2.1什么是径向渐变 2.2径向渐变的写法 总结 1.线性渐变 1.1.什么是线性渐变 线性渐变,顾名思义就是 ...

  5. CSS 3种渐变效果(线性渐变,径向渐变,圆锥型渐变)

    1 linear-gradient(线性渐变) 1.1按方向渐变 语法: background: linear-gradient(direction, color-stop1, color-stop2 ...

  6. css新特性:线性渐变详解(重复性线性渐变、径向渐变、重复性径向渐变的使用)

    线性渐变 线性渐变 重复性线性渐变 径向渐变 重复性径向渐变的使用 线性渐变 线性渐变是向下.向上.向左.向右.对角方向的颜色渐变. 其语法格式为: background-image: linear- ...

  7. 线性渐变,径向渐变,重复性渐变

    线性渐变,径向渐变,重复性渐变 <!DOCTYPE html> <html lang="en"> <head><meta charset= ...

  8. Qt 渐变(五):线性渐变和径向渐变生成星空图

    1.Qt 渐变(五): DrawShapes Demo 参考<Java极富客户端>中的例子 DrawShapes 仿 DrawShapes的代码:其思路都尽量和原代码接近. 在DrawSh ...

  9. C语言调色板颜色渐变,【多选题】使用调色板可以对矢量图添加什么变化? A. 纯色 B. 线性渐变 C. 径向渐变 D. 透明度 E. 位图填充...

    [多选题]使用调色板可以对矢量图添加什么变化? A. 纯色 B. 线性渐变 C. 径向渐变 D. 透明度 E. 位图填充 更多相关问题 分式方程xx-1=32x-2-2的解是()A.76B.-16C. ...

最新文章

  1. js中的preventDefault与stopPropagation详解
  2. 20亿参数,大型视觉Transformer来了,刷新ImageNet Top1
  3. java资料——线性表(转)
  4. 全球最小人工心脏在华中科大完成植入:58岁患者术后精神状态良好
  5. winFrom简单引用Webservice
  6. Python编程基础:第三十二节 文件写入Write a File
  7. Electron-builder打包安装程序遇到的问题解决方案
  8. 获取浏览器高度_QQ浏览器违法收集用户信息,你的浏览器还安全吗?
  9. python自定义事件event的含义_python使用多线程与自定义event更新tinter的内容
  10. HTML5新特征、窍门和技术(16~20)
  11. 在ARMSYS(S3C44B0X开发板)上进行uClinux内核移植的总结
  12. html 有序无序列表
  13. 计算机处理问题的数学模型分为哪两类,数据模型与决策习题与参考答案
  14. 众元教育H3CSE20200603班-IPsec
  15. Android设置拍照或者上传本地图片
  16. gulp打包Replace Autoprefixer browsers option to Browserslist config. Use browserslis
  17. 1003: 两个整数的四则运算 Python
  18. Microsoft系统端口及服务对应汇总
  19. Appium测试混血App
  20. Redis 远程连接( redis.conf 配置 auth 认证 重启 redis)

热门文章

  1. 请你设计一个用于填充n阶方阵的上三角区域的程序。
  2. 运用 Elasticsearch 8.1.x 实现智能问答系统
  3. 4.28 前端开发日报
  4. MSYS2 环境搭建
  5. 【Linux】——库函数
  6. 2021年Java发展怎么样?现在学了Java技术出来是否还能找到工作?
  7. 计算机网络之路由协议详解
  8. 【国仁网络资讯】视频号密集更新:唤醒的是谁的梦?
  9. 如何爬取微博全部粉丝python_python 登录新浪微博爬取粉丝信息
  10. Virustotal——上传样本保存扫描结果