css如何实现颜色的渐变效果?

当我们设置页面的时候为了美观,在显示出来的页面颜色会从一中颜色过渡到另一种颜色,这就需要用CSS3的渐变来实现啦;以前,我们总是通过插入图片的方法来实现这些效果,现在,通过使用CSS3渐变(gradients)实现,这样渐变的效果看起来效果更好啦。

CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。

以前,你必须使用图像来实现这些效果。但是,通过使用 CSS3 渐变(gradients),你可以减少下载的时间和宽带的使用。此外,渐变效果的元素在放大时看起来效果更好,因为渐变(gradient)是由浏览器生成的。

CSS3 定义了两种类型的渐变(gradients):

  • 线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向

  • 径向渐变(Radial Gradients)- 由它们的中心定义

1、线性渐变(Linear Gradients):

包括向下,向上,向左,向右还有对角方向的渐变;

语法:

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

参数:

  • direction---规定渐变的方向,默认情况为:由上往下渐变;

  • color-stop1---开始的颜色;

  • color-stop2,.......---过渡的颜色;

示例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<style>
#grad1 {
    height: 100px;
    background-color: red; /* 浏览器不支持时显示 */
    background-image: linear-gradient(#e66465, #9198e5);
}
#grad2 {
    height: 100px;
    background-color: red; /* 不支持线性的时候显示 */
    background-image: linear-gradient(to right, red , yellow);
}
#grad3 {
    height: 100px;
    background-color: red; /* 不支持线性的时候显示 */
    background-image: linear-gradient(to bottom right, red , yellow);
}
</style>
</head>
<body>

<h3>线性渐变 - 从上到下</h3>
<p>从顶部开始的线性渐变。起点是红色,慢慢过渡到蓝色:</p>
<div id="grad1"></div>
	
<h3>线性渐变 - 从左到右</h3>
<p>从左边开始的线性渐变。起点是红色,慢慢过渡到黄色:</p>
<div id="grad2"></div>

<h3>线性渐变 - 对角</h3>
<p>从左上角开始(到右下角)的线性渐变。起点是红色,慢慢过渡到黄色:</p>
<div id="grad3"></div>
</body>
</html>

效果图:

1.png-600

2、径向渐变(Radial Gradients)

css径向颜色渐变(Radial Gradients)跟线性渐变(linear gradients)不一样,它不是沿着一个方向渐变,而是以一个点为中心,向四周辐射渐变,360度的。目前除了IE外的所有浏览器都支持css径向颜色渐变(Radial Gradients),但它们也都有各自不同的语法

语法:

background-image: radial-gradient(shape size at position, start-color, ..., last-color);

为了创建一个径向渐变,你也必须至少定义两种颜色结点。颜色结点即你想要呈现平稳过渡的颜色。同时,你也可以指定渐变的中心、形状(圆形或椭圆形)、大小。默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthest-corner(表示到最远的角落)。

示例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<style>
#grad1 {
    height: 150px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(red, green, blue); /* 标准的语法(必须放在最后) */
}
#grad2 {
    height: 150px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(red 5%, green 15%, blue 60%); /* 标准的语法(必须放在最后) */
}
#grad3 {
  height: 200px;
width: 200px;
  background-image: repeating-radial-gradient(red, yellow 10%, green 15%);
}
</style>
</head>
<body>

<h3>径向渐变 - 颜色结点均匀分布</h3>
<div id="grad1"></div>

<h3>径向渐变 - 颜色结点不均匀分布</h3>
<div id="grad2"></div>

<h3>重复的径向渐变</h3>
<div id="grad3"></div>	
</body>
</html>

效果图:

2.png-600

更多web前端相关知识,请查阅 HTML中文网 !!

以上就是css如何实现颜色的渐变效果?的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » CSS3 答疑