CSS3渐变属性

CSS:linear-gradient()背景颜色线性渐变,前端面试宝典 所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)to right top = to top right :从左下角到。和to top right 有细微差别(背景为正方形的时候无差别)to right设置渐变。 阅读详情
AI摘要

本文深入探讨了CSS3渐变属性,包括线性渐变和径向渐变的使用方法,提供了丰富的代码示例,并展示了如何利用这些渐变属性创建如唱片效果等独特视觉效果。

渐变可以使得元素背景更加有灵性并具有生气,虽然我们可以使用背景图片来呈现渐变效果,但却是不够灵活,当想要改变颜色时需要使用图片编辑器重新编辑,而渐变则可以在代码中直接改变颜色就可以了。CSS3提供了两种渐变方式,分别是线性渐变(linear-gradient)和径向渐变(radial-0gradien)。

一、线性渐变(linear-gradient)

线性渐变就是沿着某个方向进行颜色上的渐变,可以使用左右上下以及对角线。

线性渐变语法:

background: linear-gradient(direction, color1, color2 [stop], color3...);

1、direaction:表示线性渐变的方向。有以下三种表示方法。

(1)渐变方向

  • to left:设置渐变为从右到左。
  • to bottom:设置渐变从上到下。这是默认值。
  • to right:设置渐变从左到右。
  • to top:设置渐变从下到上。

也可以是to left top、to left bottom、to right top、to right bottom四个对角线方向。

(2)方向起点

  • top:设置渐变从上到下。这是默认值。
  • bottom:设置渐变从下到上。
  • left:设置渐变从左到右。
  • right:设置渐变为从右到左。

也可以是left top、left bottom、right top、right bottom四个对角线方向。

(3)角度(angle)

角度用数字+单位来进行表示,单位使用deg。所有的颜色都是从中心出发,0deg是to top的方向,顺时针是正,逆时针是负。

具体可以看下面的图(有点丑)。

  • 0deg相当于to top
  • 90deg相当于to right
  • 180deg相当于to bottom,这是默认值
  • 270deg或者 - 90deg相当于to left

也相应地有45deg、135deg、225deg、315deg来表示对角线方向,但是使用角度表示方向相较于给定水平垂直方向更加灵活可以根据需要来调整角度,已达到想要的效果。

2、color- * :表示渐变中的过度颜色,一般第一个表示渐变起始颜色,最后一个表示渐变的结束颜色,中间表示中间过度颜色。

3、stop:color后面可以加上stop,stop可以使百分值也可以是像素值,表示某个颜色在stop位置处固定,如下:

background: linear-gradient(to right, blue, green 20%, yellow 50%, purple 80%, red);

渐变起始颜色是蓝色,当过度到20%时为绿色,也就是说在20%处恰好是绿色,然后继续渐变过度到黄色,到50%处恰好是黄色,后面同个道理,直到结束颜色红色,正好处于100%处。

二、重复线性渐变(repeating-linear-gradient)

说到线性渐变,我们不得不提一下重复线性渐变,有时我们想生成如下图的条纹效果,我们最方便的方法就是重复线性渐变。

语法代码:

background: repeating-linear-gradient(#f00 0,#f00 10%,#ff0 10%,#ff0 20%);

以上红色从0开始渐变,到达10%时还是红色,所以形成红色条纹,在10%后变为黄色,直到20%还是黄色,所以此时形成黄色条纹,然后渲染时会将这20%的红黄条纹进行重复的渐变,使得呈现出红黄条纹相间的效果。

我们也可以添加入方向

background: repeating-linear-gradient(45deg,#f00 0,#f00 10%,#ff0 10%,#ff0 20%);

三、径向渐变(radial-gradient)

径向渐变指从一个中心点开始沿着四周产生渐变效果。由其中心点、边缘形状轮廓及位置、色值结束点(color stops)定义而成。

当我们为一个渐变设置多个颜色时,它们会平分这个100%的区域来渐变。当然除了百分比,我们也可以使用具体的像素来设置这个大小。像素设置的大小指的是从渐变圆心向外延伸的距离。

径向渐变语法:

<radial-gradient> = radial-gradient([ [<shape> || <size>] [ at <position> ]? ,
| at <position>, ]?<color>[stop]?[ ,<color>[stop]?]+)

 其中各种属性的意思如下:

// 圆心位置
<position> = [ <length> | <percentage> | left | center | right ]? [ <length> | 
<percentage> | top | center | bottom ]?  //默认处于中心点
// 渐变形状
<shape> = circle | ellipse  //默认是ellipse
// 渐变大小
<size> = <extent-keyword> | [ <circle-size> || <ellipse-size>]
<extent-keyword> = closest-side | closest-corner | farthest-side | farthest-corner
<circle-size> = <length>
<ellipse-size> = [ <length> | <percentage> ]{2}
<shape-size> = <length> | <percentage>
// 渐变颜色及颜色位置
<color>[stop]? = <color> [ <length> | <percentage> ]?

上面需要详细讲明一下

我们在渐变定义时可以直接定义渐变的形状,但除了这种方式,还可以通过为size传入具体值在确定渐变形状,具体说明如下:

1、当传入一个大小参数size或者两个相同值得size时,则表示该渐变形状是圆。

background: radial-gradient(60px,#f00 0,#ff0 100%);

2、当传入两个大小不同的size参数时,则表示该渐变形状为椭圆。

background: radial-gradient(100px 60px,#f00 0,#ff0 100%);

当然,我们也可以在声明渐变形状的同时在其后紧跟渐变大小,中间用空格隔开,效果与上面相同,例如

background: radial-gradient(circle 60px,#f00 0,#ff0 100%);
background: radial-gradient(ellipse 100px 60px,#f00 0,#ff0 100%);

 需要特别注意的是,若渐变形状为圆形,则该渐变大小不能为百分数,而椭圆既可以为具体数值也可以为百分数,个人认为或许是因为圆形半径若为百分数的话就无法确定是以元素的宽为标准还是以高为标准了。

上面定义size除了给定具体值或使用百分比之外,还可以使用extent-keyword,extent-keyword的值有如下四个:

closest-side (指定径向渐变的半径长度为从圆心到离圆心最近的边)
closest-corner (指定径向渐变的半径长度为从圆心到离圆心最近的角)
farthest-side (指定径向渐变的半径长度为从圆心到离圆心最远的边)
farthest-corner (指定径向渐变的半径长度为从圆心到离圆心最远的角)

下面就以closet-side为例

background: radial-gradient(circle closest-side at 100px 100px,#f00 0,#ff0 100%);

可以看到渐变圆与容器最近的边相切,其余三个值也同理如上。

除了size需要注意之外,position也需要简单说明一下。

position用于定义渐变形状圆形位置,它的值可以使具体值,百分比或方位值(left、right、top、bottom、left top、top right、bottom left、bottom right),这里主要说一下几个注意点。

1、当在position缺省的额情况下,默认渐变形状处于容器的中心点。

2、当为position只给定一个具体值或百分比时,则其表示在水平方向上所处位置,而垂直方向上默认为50%,如下。

background: radial-gradient(circle 60px at 70px,#f00 0,#ff0 100%);

3、当为position只给定一个方位时,则表示圆心在该方位方向上的值为0,而与其垂直的方向上则默认50%,如下。

background: radial-gradient(circle 60px at left,#f00 0,#ff0 100%);

 

除上面要注意的之外,还需要注意如果size是 extent-keyword中的closest-side或closest-corner时,则position不能是方位值,因为方位值默认在一个或两个方向得我位置为0(例如left水平方向为0,left top 水平垂直方向上为0),所以不存在最近边或角相切的情况,当然设置具体值为0或百分比为0%时也要注意这种情况。

background: radial-gradient(circle closest-side at 0px 50px,#f00 0,#ff0 100%);

可以看到上面没呈现出任何效果。

四、重复径向渐变(repeating-radial-gradient)

上面再说线性渐变时有说到线性渐变具有重复线性渐变,为径向渐变同样具有重复径向渐变,先看一个简单例子。

background: repeating-radial-gradient(circle at center,#f00 0,#f00 10%,
#ff0 10%,#ff0 20%);

重复径向渐变总体上与重复线性渐变差不多,只是重复线性渐变是一个方向上的重复渐变,不论是水平垂直还是对角线,如下图,左边为0%,右边为100%。

然而重复径向则是以圆心为中心点,以放射性方式渐变,中心点为0%,圆边界为100%。

关于上面重复径向渐变是如何生成条纹相间的就 不多加述说,原理和重复线性渐变相同。

下面给出一个重复径向渐变的实用例子,使用重复径向渐变生成一个唱片的效果 。

HTML:

<div class='record-container'>
     <div class='record'></div>
</div>

CSS:

.record-container {
     display: inline-block;
     overflow: hidden;
     width: 400px;
     height: 300px;
     border-radius: 10px;
     box-shadow: 0 6px #99907e;
     background: #b5ac9a;
}
        
.record {
     position: relative;
     margin: 19px auto;
     width: 262px;
     height: 262px;
     border-radius: 50%;
     background: linear-gradient(30deg, transparent 40%, rgba(42, 41, 40, .85) 40%) 
no-repeat 100% 0, linear-gradient(60deg, rgba(42, 41, 40, .85) 60%, transparent 60%) 
no-repeat 0 100%, repeating-radial-gradient(#2a2928, #2a2928 4px, #ada9a0 5px,
 #2a2928 6px);
     background-size: 50% 100%, 100% 50%, 100% 100%;
}    
.record:after {
     position: absolute;
     top: 50%;
     left: 50%;
     margin: -35px;
     border: solid 1px #d9a388;
     width: 68px;
     height: 68px;
     border-radius: 50%;
     box-shadow: 0 0 0 4px #da5b33, inset 0 0 0 27px #da5b33;
     background: #b5ac9a;
     content: '';
}    

总结:CSS3渐变能灵活完成很多效果,例如上面的唱片,除此之外还有条纹进度条,按钮等,所以有必要认真学习一下渐变的使用方式。

 最近开了个公众号用于推送前端学习总结,有更多有趣有用的文章在这里推送,请多多关注 。

公众号:菜鸟札记

前端css中线性渐变(linear-gradient)的使用 linear-gradient线性渐变是一种两个以上颜色之间的平滑过渡效果。线性渐变为某一方向指向的渐变效果,如由左到右,上到下,左上到右下等。和径向渐变不同的是,径向渐变是一中心点向周围扩散的渐变,径向渐变为某一线性指向方向的渐变。线性渐变和径向渐变一样属于背景图片background-image一类,不属于颜色一类,只是通过对颜色进行渐变设置的一种背景图片。用法和径向渐变类似,用于可设置背景属性的元素组件。颜色断点也可以设置三种,或更多种,本文只演示了两种的情况。 阅读详情

相关推荐

前端 CSS3 背景渐变的高级技巧

CSS3背景渐变是现代网页设计中不可或缺的视觉元素,它能够创建平滑的颜色过渡效果,替代传统的图像背景,提高页面加载性能。本文旨在全面介绍CSS3背景渐变的高级技巧,帮助开发者突破基础应用,实现更复杂、更具创意的渐变效果。文章将从渐变基础开始,逐步深入到高级应用,包括动画效果、混合模式、响应式设计等。每个部分都配有详细的代码示例和效果演示。线性渐变(Linear Gradient): 沿直线方向进行的颜色过渡径向渐变(Radial Gradient): 从中心点向外辐射的颜色过渡。

小白菜的博客 1407

Background:linear-gradient()详解

一般渐变 未设置角度,则默认为180deg(从上到下) 设置了角度,则0deg为竖直向上,然后顺时针旋转 上图! 块渐变 .aq1{ background-image: linear-gradient(45deg,#87f 60%,#f78 60%); } .aq2{ background-image: linear-gradient(90deg,#87f 60%,#f78 60%); } .aq3{ background

m0_53438035的博客 3万+

Intouch实时报警

Intouch实时报警功能的相关设置

weixin_41571357的博客 4203

CSS之实现线性渐变背景

`background: linear-gradient`是CSS中用于创建**线性渐变**背景的属性,这个属性允许你定义一个在元素的背景中进行渐变的效果,可以从一个颜色过渡到另一个颜色。

weixin_43599321的博客 6213

海康威视工业相机网络配置实战:从MVS软件操作到IP地址规划

本文详细介绍了海康威视工业相机的网络配置实战,从MVS软件操作到IP地址规划。重点讲解了IP设置的重要性、Windows系统下的网络配置步骤、避免IP冲突的技巧,以及MVS软件中的相机IP配置方法。帮助用户快速掌握工业相机的网络连接技术,确保稳定高效的图像采集。

weixin_30296405的博客 486

别再翻手册了!用Materials Studio的Forcite模块,5步搞定复杂溶剂的溶解度参数计算

本文详细介绍了如何使用Materials Studio的Forcite模块,通过5个步骤快速计算复杂溶剂的溶解度参数。从分子建模、结构优化到分子动力学采样,再到最终的内聚能密度计算,该方法大幅提升了石油化工和高分子材料研发中的效率,避免了传统手册查阅和实验的繁琐过程。

weixin_28707739的博客 280

CSS3 渐变属性【详细】

CSS3 提供了两种类型的渐变:线性渐变,和径向渐变(这些渐变可以用来创建丰富的视觉效果,如背景、边框等。

m0_74897683的博客 2625

别再用Excel硬算传热了!用MATLAB/Octave复现国赛数学建模A题(附完整代码与避坑指南)

本文详细介绍了如何利用MATLAB/Octave高效解决数学建模中的传热问题,替代传统的Excel计算方法。通过复现2018年国赛A题的高温作业服传热模型,从理论推导到代码实现,提供了完整的有限差分法解决方案和参数拟合技巧,帮助读者提升数学建模效率和准确性。

weixin_30512965的博客 380

css3渐变属性有哪些?css3渐变属性用法详解

在CSS3之前如果需要添加渐变效果,通常要设置背景图像来实现。而CSS3中增加了渐变属性,通过渐变属性可以轻松实现渐变效果。CSS3的渐变属性主要包括线性渐变和径向渐变,下面我们详细介绍。在线性渐变过程中,起始颜色会沿着一条直线按顺序过渡到结束颜色。运用CSS3中的“background-image: linear-gradient(参数值);”样式可以实现线性渐变效果,其基本语法格式如下。

zy1992As的博客 1756

欧姆龙PLC与fanuc发那科机器人进行Ethrenet ip通信测试

近期在做发那科FANUC的通讯,会吧CC-LINK、Profibus-DP、Profinet I/O、DeviceNet、EtherNet/IP这些常用通讯做成文档发上来,大家喜欢的话可以关注 注:做对应的通讯,在机器人控制柜都需要安装对应的板卡以及软件功能 截图中的程序设置和机器人EDS插件在下面链接 https://download.youkuaiyun.com/download/gojava/13770799 PLC为主站 机器人为从站 一、硬件部分 欧姆龙PLC ...

七兔自习室 1万+

论文理解【LLM-OR】——【OptiMUS】Scalable Optimization Modeling with (MI)LP Solvers and Large Language Models

OptiMUS 把“自然语言→优化建模与求解”从单次生成改造成“结构化问题 + 多智能体协作 + 连接图检索”的模块化流程,并在更长更难的数据集上验证了这种结构化方法相对端到端 prompting 的优

佚失的诗篇 825

css3渐变属性的简单介绍及应用

文章目录浏览器前缀css3 渐变线性渐变径向渐变重复性渐变 浏览器前缀 -ms- -ms-box-shadow IE浏览器专属的CSS属性需添加-ms-前缀 -moz- -moz-box-shadow 所有基于Gecko引擎的浏览器(如Firefox)专属的CSS属性需添加-moz-前缀 -o- -o-box-shadow Opera浏览器专属的CSS属性需添加-o-前缀...

chenyuXYT的博客 522

YOLO11有效改进专栏目录

YOLO11改进专栏导航

A1983Z的博客 3681

css3背景颜色渐变属性

当我们需要一种多样化的颜色时,除了使用背景图片,还可以使用使用 CSS3 渐变(gradients)属性来实现。 CSS3定义了两种渐变方式: 线性渐变(linear-gradient):由一个方向向另一个方向实现颜色过渡。 径向渐变(radial-gradient): 由它们的中心向四周渐变。 线性渐变 语法一:background-image: radial-gradient(posi...

qq_43480829的博客 601

AI Agent的数据安全与隐私保护措施

AI Agent(人工智能代理)作为一种能够感知环境、做出决策并采取行动的智能实体,在现代社会的各个领域中得到了广泛的应用,如智能客服、自动驾驶、金融风险评估等。随着其应用的不断拓展,AI Agent处理和存储的数据量急剧增加,这些数据包含了大量的个人敏感信息和商业机密。因此,确保AI Agent的数据安全与隐私保护变得至关重要。本文的目的在于全面探讨AI Agent的数据安全与隐私保护措施,涵盖从数据的采集、存储、处理到传输的整个生命周期。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 2867

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Css3渐变属性

本文主要写css3渐变属性,以及兼容写法提示:以下是本篇文章正文内容,下面案例可供参考以上是对Css3属性渐变的全部整理的,仅供参考。

Do_Dovis的博客 1348

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

css中的渐变的属性,CSS3 渐变属性(Gradients)-线性渐变(linearGradient)

通过使用 CSS3 渐变(gradients),你可以减少下载的事件和宽带的使用。此外,渐变效果的元素在放大时看起来效果更好,因为渐变(gradient)是由浏览器生成的。丛本质上来说,既然 background-image 属性中的渐变是浏览器生成的图片,可以使用其他CSS背景属性来控制它们,就像对待其他图片那样。比方说,可以使用 background-size 属性来控制渐变的尺寸, back...

weixin_32226023的博客 2475

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

CSS3新增属性(渐变)

css3新增属性因为没有w3c收纳,可能会有兼容为题 渐变 渐变其实就是让两个或多个指定的颜色之间显示平稳的过度 渐变分为线性渐变(就是朝一个方向颜色发生变化)和径向渐变(就是从一个点扩发行的变换) 线性渐变 属性为:linear-gradient(direction,color1,color2,...colorn) 先讲一下两个颜色的渐变(常见) 渐变的第一个值direction可以有 a、从上到下。to bottom b、从下到上。to top c、从左到右。to right d、

weixin_45163951的博客 221

(10)2020-12-14(背景图、css3颜色、css3文本、css3盒子属性、线性渐变、径向渐变)

背景2、背景大小3、背景平铺4、背景图定位 (精灵图)5、背景滚动6、背景原点7、背景裁切 ## 一、背景 ### 1、背景图片 background-image; 设置图片为背景。 2、背景大小 background-size:设置背景图片的大小 属性值:px 百分比 单词 百分比:background-size: 100%;(表示背景图片的宽,高正好是父框的宽,高) 单词:都会让图片等比例缩放。 cover 将盒子铺满背景图,但是不保证图片的完整显示。(一张图片等比例缩放满屏,图片可能不完整) c

weixin_53125613的博客 689

gradient设置上下渐变_CSS3中元素背景的 gradient 渐变属性

前段时间我写过一篇:CSS中background属性总结 整理了background的常用属性。在CSS3中 background-image 还有一个 gradient 属性——渐变。渐变大体分两种:1、线性渐变:linear-gradient线性渐变的用法是:linear-gradient(direction方向/角度,color1,color2......);单向渐变:从一个水平或者垂直方向...

weixin_36429576的博客 488

css3渐变属性

1.线性渐变: background:linear-gradient(direction color1 color2...) 2径向渐变 background: radial-gradient(center, shape, size, start-color, ..., last-color); center:渐变起点的位置,可以为百分比,默认是图形的正中心。 shape:渐变的形状,ellipse表示椭圆形,circle表示圆形。默认为ellipse,如果元素形状为正方形的元素,则ellipse和c

qq_52699427的博客 226

CSS3简介、CSS3常用边框属性、 CSS3背景属性、CSS3渐变属性、多列布局

CSS3简介 CSS3是最新的CSS标准。 CSS3新增选择器 属性选择器 以box开头 <style> div[class^="box"] { background:red; } </style> <div class="box">box</div> <div class="abox">abox</div> <div class="boxa">boxa</div> &

qq_41027812的博客 299

day12CSS3新增选择器、CSS3常用边框属性、CSS3背景属性、CSS3渐变属性、用户界面、多列布局

文章目录day12CSS3简介CSS3简介CSS3新增选择器CSS3常用边框属性CSS3背景属性CSS3渐变属性用户界面浏览器的私有前缀(兼容高版本,提前兼容)多列布局 day12 CSS3简介 CSS3简介 CSS3是最新的CSS标准。 CSS3新增选择器 属性选择器 以box开头 <style> div[class^="box"] { background:red; } </style> <div class="box"&gt

weixin_45637649的博客 392

CSS3 边框 背景 渐变 文本属性 2D转换 动画

文章目录CSS3CSS3边框属性border-radius创建圆角box-shadow添加阴影border-image使用图像创建一个边框CSS3背景属性background-size尺寸background-origin定位区域backgroun-clip绘制区域CSS3渐变线性渐变(Linear Gradients)径向渐变(Radial Gradients)CSS3文本属性text-shadowtext-overflow CSS3 1、css用于控制网页的样式和布局。CSS3是最新的CSS标准 2、相

weixin_45279447的博客 489
上一篇: js对象数组去除重复
下一篇: css white-space属性总结
葉無聞
博客等级 码龄11年 164粉丝 50原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值