0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CSS渐变知识的详细讲解

电子设计 来源:电子设计 作者:电子设计 2020-12-24 15:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

一、浏览器支持

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

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

属性ChromeFirefoxSafariOperaIElinear-gradient26.0 10.0 -webkit-10.016.0 3.6 -moz-6.1 5.1 -webkit-12.1 11.1 -o-radial-gradient26.0 10.0 -webkit-10.016.0 3.6 -moz-6.1 5.1 -webkit-12.1 11.6 -o-repeating-linear-gradient26.0 10.0 -webkit-10.016.0 3.6 -moz-6.1 5.1 -webkit-12.1 11.1 -o-repeating-radial-gradient26.0 10.0 -webkit-10.016.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>

线性渐变 - 左到右

例如:

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

<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>

线性渐变 - 对角线

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

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

<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>

1. 使用角度

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

语法

background: linear-gradient(angle, color-stop1, color-stop2);angle 是水平线和渐变线之间的角度。

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

例如:

#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); 标准语法 }

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); 标准语法 }

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

渐变背景

例如:

#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);}

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}

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%);}

三、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 }

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

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

#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 }

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>

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%);}

四、总结

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

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73151
  • CSS
    CSS
    +关注

    关注

    0

    文章

    110

    浏览量

    15367
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TE Connectivity CSS-SGAF SMA电缆组件技术解析与应用指南

    TE Connectivity/Linx Technologies CSS-SGAF SMA隔板插孔转未端接端电缆组件提供SMA隔板插孔(母头插座),通过50毫米长0.047"半刚性
    的头像 发表于 11-07 16:21 519次阅读

    凯芯CSS6404SU-L pSRAM 兼容主流微控制器

    凯芯CascadeTeq CSS6404SU-L是一款64Mb QSPI pSRAM,采用串行接口实现高带宽数据传输,工作电压2.7-3.6V,时钟频率达133MHz。适用于物联网、便携设备和工业控制等需要高速缓存的嵌入式场景。
    的头像 发表于 10-28 09:25 255次阅读
    凯芯<b class='flag-5'>CSS</b>6404SU-L pSRAM 兼容主流微控制器

    Arm正式取消Cortex命名!CPU向着高算力进发,Lumex CSS平台加持!

    电子发烧友网报道(文/黄晶晶)日前,在Arm Unlocked上海站技术论坛上,Arm重磅推出智能终端专属 Lumex CSS平台。Lumex CSS是一套专为旗舰级智能手机及下一代个人电脑加速其人
    的头像 发表于 09-17 08:25 2732次阅读
    Arm正式取消Cortex命名!CPU向着高算力进发,Lumex <b class='flag-5'>CSS</b>平台加持!

    全新Arm Lumex CSS平台实现两位数性能提升

    Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称 Arm)今日宣布推出全新 Arm Lumex 计算子系统 (Compute Subsystem, CSS) 平台,这是一套专为旗舰级智能手机
    的头像 发表于 09-10 16:14 748次阅读
    全新Arm Lumex <b class='flag-5'>CSS</b>平台实现两位数性能提升

    A25:MCU系统器件知识与应用专题--MCU、EEPROM/FLASH和晶体/晶振知识及应用案例

    基本特点、功能、选型参数详细说明、供应资源)及选用案例; 3、介绍flash/EEPROM的基本知识及选用案例; 4、介绍晶振及其他外围器件的基本知识及选用案例; 适应对象:PACK
    的头像 发表于 09-09 10:24 432次阅读
    A25:MCU系统器件<b class='flag-5'>知识</b>与应用专题--MCU、EEPROM/FLASH和晶体/晶振<b class='flag-5'>知识</b>及应用案例

    Arm Zena CSS加速软件和芯片开发进程

    Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称 Arm)近期宣布推出 Arm Zena 计算子系统 (Compute Subsystems, CSS)。作为标准化且预先集成的计算平台
    的头像 发表于 08-25 16:22 1813次阅读

    技术资讯 I 渐变线或泪滴的最佳长度设计

    有时,走线、焊盘与过孔之间的连接处会添加渐变线或泪滴,旨在提高两个铜区之间的连接稳固性。泪滴和渐变线本质上是相同的,通常具有线形轮廓,也可以设计为弧形轮廓。在确定渐变线或泪滴的位置时,需要重点考虑走
    的头像 发表于 07-04 13:34 1521次阅读
    技术资讯 I <b class='flag-5'>渐变</b>线或泪滴的最佳长度设计

    CSS6404L 在物联网设备中的应用优势

    物联网设备对存储芯片的需求聚焦于低功耗、小尺寸、高可靠性与传输效率,Cascadeteq 的 CSS6404L 64Mb Quad-SPI Pseudo-SRAM 凭借差异化技术特性,在同类产品中展现显著优势。以下从核心特性及竞品对比两方面解析其应用价值。
    的头像 发表于 06-06 15:31 430次阅读

    CSS6404LS-LI PSRAM:高清语音识别设备的理想存储器解决方案

    CSS6404LS-LI通过 >500MB/s带宽、105℃高温运行及μA级休眠功耗三重突破,成为高清语音设备的理想存储器
    的头像 发表于 06-04 15:45 484次阅读
    <b class='flag-5'>CSS</b>6404LS-LI PSRAM:高清语音识别设备的理想存储器解决方案

    PID控制原理知识详细文档【推荐下载】

    文档详细介绍了控制系统历程、控制系统概况、反馈控制原理图、闭环控制系统的例子等内容,具体的建议下载查看。 这是部分截图:
    发表于 05-22 17:37

    VirtualLab Fusion应用:渐变折射率(GRIN)镜头的建模

    摘要 折射率平滑变化的渐变折射率(GRIN)介质可用于例如:使镜头表面平坦或减少像差。 VirtualLab Fusion为光通过GRIN介质的传播提供了一种物理光学建模技术。在相同的速度下
    发表于 03-18 08:57

    L298电机驱动模块的详细讲解

    电动小车的组成 • 一个电动小车整体的运行性能,首先 取决于它的电源模块和电机驱动模块。 • 电机驱动模块主要功能:驱动小车轮子 转动,使小车行进。 • 电源模块:顾名思义,就是为整个系统 提供动力支持的部分 下载PDF文档了解L298电机驱动模块详细讲解
    发表于 02-26 15:53

    为什么dlp4710evm投射出来的条纹不是显示的导入的图片,而是每幅图片都会产生渐变

    我使用 internal patterns的方式投射图片,我的投影仪参数如下图所示, 为什么投射出来的条纹不是显示的导入的图片,而是每幅图片都会产生渐变
    发表于 02-26 06:35

    DLP3010不能投影8bit渐变灰度图像怎么解决?

    我想投影按正弦规律灰度渐变的条纹图,但是按流程设定Pattern set之后投射出的条纹不是渐变的,而且有很强烈的抖动,宽的条纹由于抖动会变成很多细条纹。 投影情况如下: 配置情况如下:
    发表于 02-24 07:30

    功率器件热设计基础知识

    功率器件热设计是实现IGBT、碳化硅SiC等高功率密度器件可靠运行的基础。掌握功率半导体的热设计基础知识,不仅有助于提高功率器件的利用率和系统可靠性,还能有效降低系统成本。本文将从热设计的基本概念、散热形式、热阻与导热系数、功率模块的结构和热阻分析等方面,对功率器件热设计基础知识
    的头像 发表于 02-03 14:17 1254次阅读