一篇文章带你了解CSS 渐变知识

九路 等级 528 0 0

CSS3 渐变使您能够是你的背景颜色在两个或多个颜色之间平滑过渡。

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


一、浏览器支持

表中的数字指定完全支持该属性的第一个浏览器版本。(来源于百度)

数字后面的 -webkit- 或者 -moz- 使用时需要指定前缀。

属性

Chrome

Firefox

Safari

Opera

IE

linear-gradient

26.0 10.0 -webkit-

10.0

16.0 3.6 -moz-

6.1 5.1 -webkit-

12.1 11.1 -o-

radial-gradient

26.0 10.0 -webkit-

10.0

16.0 3.6 -moz-

6.1 5.1 -webkit-

12.1 11.6 -o-

repeating-linear-gradient

26.0 10.0 -webkit-

10.0

16.0 3.6 -moz-

6.1 5.1 -webkit-

12.1 11.1 -o-

repeating-radial-gradient

26.0 10.0 -webkit-

10.0

16.0 3.6 -moz-

6.1 5.1 -webkit-

12.1 11.6 -o-


二、CSS3 线性渐变(向下/向上/向左/向右/倾斜)

要创建线性渐变,必须定义至少两个颜色停止。颜色停止是你想要渲染平滑过渡之间的颜色。 您还可以设置一个起始点和一个方向(或角度)和渐变效果。

语法:

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

HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>项目</title>

</head>
<body>

  <div id="grad1"></div>
</body>
</html> 

例如:

线性渐变 - 上到下

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

<style>
    #grad1 {
        height: 200px;
        background: blue; /* 对于那些不支持渐变的浏览器 */
        background: -webkit-linear-gradient(blue, yellow); /* Safari 5.1 到 6.0 */
        background: -o-linear-gradient(blue, yellow); /* Opera 11.1 到 12.0 */
        background: -moz-linear-gradient(blue, yellow); /* Firefox 3.6 到 15 */
        background: linear-gradient(blue, yellow); /* 标准语法 (必须是最后一个) */
    }
</style> 

一篇文章带你了解CSS 渐变知识

线性渐变 - 左到右

例如:

显示从左开始的线性渐变。它从开始的红色,过渡到黄色

<style>
    #grad1 {
        height: 200px;
        background: blue; /* 对于那些不支持渐变的浏览器 */
        background: -webkit-linear-gradient(left, blue , yellow); /* Safari 5.1 到 6.0 */
        background: -o-linear-gradient(right, blue, yellow); /* Opera 11.1 到 12.0 */
        background: -moz-linear-gradient(right, blue, yellow); /* Firefox 3.6 到 15 */
        background: linear-gradient(to right, blue , yellow); /* 标准语法 (必须是最后一个) */
    }
</style> 

一篇文章带你了解CSS 渐变知识

线性渐变 - 对角线

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

下面的示例显示从左上角开始的线性渐变(到右下角)。它开始红色,过渡到黄色:

<style>
    #grad1 {
        height: 200px;
        background: blue; /*对于那些不支持渐变的浏览器 */
        background: -webkit-linear-gradient(left top, blue, yellow); /* Safari 5.1 到 6.0 */
        background: -o-linear-gradient(bottom right, blue, yellow); /* Opera 11.1 到 12.0 */
        background: -moz-linear-gradient(bottom right, blue, yellow); /* Firefox 3.6 到 15 */
        background: linear-gradient(to bottom right, blue, yellow); /* 标准语法(必须是最后一个) */
    }
</style> 

一篇文章带你了解CSS 渐变知识


1. 使用角度

如果你想在渐变方向上有更多的控制,你可以定义一个角度,而不是预定的方向(下、上、左、右等)。

语法

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

下面的示例演示如何使用在线性渐变上使用角度:

例如:

#grad {
  width: 100%;
  height: 100px;
  background: blue; /* 对于那些不支持渐变的浏览器 */
  background: -webkit-linear-gradient(-90deg, blue, yellow); /*  Safari 5.1 到 6.0 */
  background: -o-linear-gradient(-90deg, blue, yellow); /*  Opera 11.1 到 12.0 */
  background: -moz-linear-gradient(-90deg, blue, yellow); /*  Firefox 3.6 到 15 */
  background: linear-gradient(-90deg, blue, yellow); /*  标准语法 */
} 

一篇文章带你了解CSS 渐变知识


2. 使用多个停止颜色

下面的示例显示一个具有多个停止颜色的线性渐变(从上到下)

例如:

#grad {
  background: blue; /* 对于那些不支持渐变的浏览器 */
  background: -webkit-linear-gradient(blue, yellow, green); /*  Safari 5.1 到 6.0 */
  background: -o-linear-gradient(blue, yellow, green); /*  Opera 11.1 到 12.0 */
  background: -moz-linear-gradient(blue, yellow, green); /*  Firefox 3.6 到 15 */
  background: linear-gradient(blue, yellow, green); /* 标准语法 */
} 

一篇文章带你了解CSS 渐变知识

下面实例演示了如何使用彩虹颜色和一些文本来创建一个线性渐变(从左到右)

渐变背景

例如:

#grad {
  background: blue; /*对于那些不支持渐变的浏览器 */
  /*  Safari 5.1 到 6.0 */
  background: -webkit-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /*  Opera 11.1 到 12.0 */
  background: -o-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /*  Fx 3.6 到 15 */
  background: -moz-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* Standard syntax */
  background: linear-gradient(到 right, red,orange,yellow,green,blue,indigo,violet);
} 

一篇文章带你了解CSS 渐变知识


3. 使用的透明度

CSS3 渐变也支持透明度,可以用来创建淡入淡出效果。

添加透明度,我们用rgba()函数来定义停止颜色。在rgba()函数的最后一个参数可以从0到1的值,并定义颜色的透明度:0表示完全透明,1表示完全的颜色(不透明度)。

下面的示例显示从左开始的线性渐变。它开始完全透明,过渡到全红色:

#grad {
  background: blue; /*  不支持渐变的浏览器 */
  background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1)); /*Safari 5.1-6*/
  background: -o-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Opera 11.1-12*/
  background: -moz-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Fx 3.6-15*/
  background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); /*Standard*/
} 

一篇文章带你了解CSS 渐变知识


4. 重复线性渐变

repeating-linear-gradient() 函数用于重复线性渐变:

例如:

#grad {
  background: blue; /*  不支持渐变的浏览器 */
  /* Safari 5.1 到 6.0 */
  background: -webkit-repeating-linear-gradient(blue, yellow 10%, green 20%);
  /* Opera 11.1 到 12.0 */
  background: -o-repeating-linear-gradient(blue, yellow 10%, green 20%);
  /* Firefox 3.6 到 15 */
  background: -moz-repeating-linear-gradient(blue, yellow 10%, green 20%);
  /* Standard syntax */
  background: repeating-linear-gradient(blue, yellow 10%, green 20%);
} 

一篇文章带你了解CSS 渐变知识

一篇文章带你了解CSS 渐变知识


三、CSS3 径向渐变 (由中心定义)

径向渐变是由其中心定义的。

要创建径向渐变,还必须定义至少两个停止颜色。

语法

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

径向渐变-均匀的间隔停止颜色 (默认)

下面的示例显示一个径向渐变,其颜色间隔均匀:

#grad {
  background: blue; /*  browsers that do not support gradients */
  background: -webkit-radial-gradient(blue, yellow, green); /* Safari 5.1 到 6.0 */
  background: -o-radial-gradient(blue, yellow, green); /*  Opera 11.6 到 12.0 */
  background: -moz-radial-gradient(blue, yellow, green); /*  Firefox 3.6 到 15 */
  background: radial-gradient(blue, yellow, green); /* Standard syntax */
} 

一篇文章带你了解CSS 渐变知识

径向渐变-不同间隔的停止颜色

下面的例子显示了一个具有不同间距的颜色渐变的径向渐变:

#grad {
  background: blue; /*不支持渐变的浏览器 */
  background: -webkit-radial-gradient(blue 5%, yellow 15%, green 60%); /* Safari 5.1-6.0 */
  background: -o-radial-gradient(blue 5%, yellow 15%, green 60%); /*  Opera 11.6-12.0 */
  background: -moz-radial-gradient(blue 5%, yellow 15%, green 60%); /*  Firefox 3.6-15 */
  background: radial-gradient(blue 5%, yellow 15%, green 60%); /* Standard syntax */
} 

一篇文章带你了解CSS 渐变知识


1. 设置形状

形状参数定义形状。它可以取值圆或椭圆。默认值为椭圆形。

下面的例子显示了一个圆形的径向渐变:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>项目</title>
    <style>
      #grad1 {
        height: 150px;
        width: 200px;
        background: -webkit-radial-gradient(blue, yellow, green);
        /*  Safari 5.1 到 6.0 */
        background: -o-radial-gradient(blue, yellow, green);
        /*  Opera 11.6 到 12.0 */
        background: -moz-radial-gradient(blue, yellow, green);
        /*  Fx 3.6 到 15 */
        background: radial-gradient(blue, yellow, green);
        /* 标准语法(必须是最后一个) */
      }

      #grad2 {
        height: 150px;
        width: 200px;
        background: -webkit-radial-gradient(circle, blue, yellow, green);
        /*  Safari 5.1 到 6.0 */
        background: -o-radial-gradient(circle, blue, yellow, green);
        /*  Opera 11.6 到 12.0 */
        background: -moz-radial-gradient(circle, blue, yellow, green);
        /*  Fx 3.6 到 15 */
        background: radial-gradient(circle, blue, yellow, green);
        /* 标准语法(必须是最后一个) */
      }
</style>
  </head>
  <body>

    <h3>径向渐变-形状</h3>

    <p><strong>椭圆(这是默认值):</strong></p>
    <div id="grad1"></div>

    <p><strong>圆:</strong></p>
    <div id="grad2"></div>

    <p><strong>注意:</strong> Internet Explorer 9 和早期的版本不支持渐变。</p>

  </body>
</html> 

一篇文章带你了解CSS 渐变知识

2. 重复径向渐变

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

例如:

#grad {
  background: blue; /*不支持渐变的浏览器*/
  /*  Safari 5.1 到 6.0 */
  background: -webkit-repeating-radial-gradient(blue, yellow 10%, green 15%);
  /*  Opera 11.6 到 12.0 */
  background: -o-repeating-radial-gradient(blue, yellow 10%, green 15%);
  /*  Firefox 3.6 到 15 */
  background: -moz-repeating-radial-gradient(blue, yellow 10%, green 15%);
  /* Standard syntax */
  background: repeating-radial-gradient(blue, yellow 10%, green 15%);
} 

一篇文章带你了解CSS 渐变知识

四、总结

本文基于html基础, 通过对css中渐变效果做了详细的讲解,介绍来了常见的两种渐变方式。通过丰富的案例让大家能够更好的去了解,去体会渐变的用法,希望可以帮助大家更好的学习。

收藏
评论区

相关推荐

一篇文章带你了解CSS 渐变知识
CSS3 渐变使您能够是你的背景颜色在两个或多个颜色之间平滑过渡。 早些时候,你必须使用图像实现这些效果。 然而, 通过使用CSS3渐变可以减少下载时间和带宽的使用. 此外,缩放的元素在缩放时看起来更好,因为渐变是由浏览器生成的。 一、浏览器支持 表中的数字指定完全支持该属性的第一个浏览器版本。(来源于百度) 数字后面的 w
前端开发中79条不可忽视的知识点汇总
过往一些不足的地方,通过博客,好好总结一下。 1.css禁用鼠标事件 css .disabled { pointerevents: none; cursor: default; opacity: 0.6; } 2.get/post的理解和他们之间的区别 http 超文本传输协议(HTTP)的设计目的是保证客户机
《css大法》之使用伪元素实现超实用的图标库(附源码
今天我们来复盘一下前端中css伪元素的知识以及如何用css伪元素来减轻javascript的压力,做出一些脑洞大开的图形。 预备知识 伪元素 伪元素是一个附
《前端实战总结》之使用纯css实现网站换肤和焦点图切换动画
今天我们来继续复盘一些工作中常用的css技巧和知识,以便我们可以更加优雅的用css实现富有动感的网站. 你将收获 网站换肤设计方案介绍 :target伪类介绍和用法以及如何使用css实现网站换肤 transition动画以及如何用纯css实现焦点图动画 效果展示 1.网站换肤 (https://imghelloworld.ossc
巧用css圆角实现有点意思的加载动画
作为一名前端工程师, 需要对css技巧有充分的研究和了解, 接下来笔者将会带大家一起掌握如何用css的圆角属性来实现有点意思的加载动画. 如果想学习更多css实用技巧, 可以参考笔者以下的文章: <div style"display:flex; flexwrap:wrap; alignitems: center;" <a href"https:/
CSS Modules 解决 react 项目 css 样式互相影响的问题
CSS Modules 解决 react 项目 css 样式互相影响的问题 CSS Modules 解决 react 项目 css 样式互相影响的问题 (http
巨大提升!更快的 async 函数和 promises
(https://imghelloworld.osscnbeijing.aliyuncs.com/669a1c8f7203559afa4621628303674c.png) 翻译自:Faster async functions and promises(https://v8.dev/blog/fastasync) JavaScript
30个前端开发人员必备的顶级工具
在本文中,我为前端Web开发人员汇总了30种顶级工具,从代码编辑器和代码游乐场到CSS生成器,JS库等等。 (https://imghelloworld.osscnbeijing.aliyuncs.com/2e7966318084a45d05a0926cbd749a02.png) 目录 CSS代码生成器 CSS3 Generator
手把手教你使用CSS3为文本和元素实现添加阴影效果
使用CSS3,你可以为文本和元素添加阴影。 一、浏览器支持表中的数字指定完全支持该属性的第一个浏览器版本。数字后面的 webkit 或者 moz 使用时需要指定前缀。| 属性 | Chrome | Firefox | Safari | Opera | IE || | | | | | || text
有关CSS预编译、管理工具和网络安全的相关面试题
我经常会听到一些想入行前端的人问,前端开发需要学习哪些技术?其实,除了核心的HTML、CSS、JavaScript技术外,像CSS预编译、前端框架,如Vue,React、Node、Angular;代码管理工具,如git,代码编辑器,sublime text,还有测试,网络安全等相关技术也是需要会一些。当然要求可能不会那么高,但至少要懂一些。所有今天准备了一些
只听说过CSS in JS,怎么还有JS in CSS?
CSS in JS是一种解决css问题想法的集合,而不是一个指定的库。从CSS in JS的字面意思可以看出,它是将css样式写在JavaScript文件中,而不需要独立出.css、.less之类的文件。将css放在js中使我们更方便的使用js的变量、模块化、treeshaking。还解决了css中的一些问题,譬如:更方便解决基于状态的样式,更容易追溯依赖关
你可能不知道的10个CSS新功能(2021版)
多年来,CSS已经超越了背景颜色、边框、文本样式、边距和盒模型。现代CSS能够提供一系列的功能,而在过去,您需要JavaScript或变通方法来实现这些功能。 为了庆祝它在2021年取得的成就,在这篇文章中,我们想看看一些你可能不知道的令人惊叹的CSS新特性。我们将强调web设计人员和开发人员可以用现代CSS做的很酷的事情,讨论用例,浏览器支持,并给你一个
https://cloud.tencent.com/developer/article/write/1830331
一、目标今天的目标是这个sign和appcode 二、步骤 Jadx没法上了app加了某梆的企业版,Jadx表示无能为力了。 FRIDADEXDumpDexDump出来,木有找到有效的信息。 Wallbreaker葫芦娃的Wallbreaker可以做些带壳分析,不过这个样本,用Frida的Spawn模式可以载入,Attach模式会失败。而直接用Objecti
小白怎么成为一个黑客?按照这个路线来!
大家好,我是周杰伦。接下来我会写系列的文章,给大家整理下网络安全的详细的学习步骤和学习资源推荐。今天的主题是——Web安全。Web安全是网络渗透中很重要的一个组成部分,今天跟大家聊一下,如何在三个月内从零基础掌握Web安全。 第一个月第一周:HTML+CSS,学会网页基本格式,学会编写基本网页,表单,学会用浏览器F12检查元素,查看源码 推荐学习地址: H
javascript实践教程-01-javascript介绍
本节目标1. 了解javascript是什么。2. 了解javascript能干什么。 内容摘要本篇介绍了javascript是什么,为什么要用javascript,ECMAScript标准是什么等。阅读时间大约510分钟。 javascript是什么?javascript是世界上最流行的脚本语言,因为你在电脑、手机、平板上浏览的所有的网页,以及无数基于HT