【CSS】透明度 、过渡 、动画 、渐变

  • opacity 透明度
  • transition 过渡
  • animation 动画
  • background 渐变 ( 线性渐变 \ 径向渐变 \ 锥形渐变 )

opacity 透明度

设置元素的透明度,会影响元素及其所有子元素的透明度,值范围:0(完全透明)1(完全不透明)。但不会影响元素的布局,即使元素变得透明,它仍然会占据其应有的空间(visibility: hidden 占据位置,只是不可见)。若只想影响元素的背景而不影响内容,可使用其它方法,如:rgba 颜色值进行 background-color 的透明度设置(取决于浏览器支持)

<style>div{width: 200px;height: 100px;line-height: 100px;font-size: 30px;text-align: center;margin-top: 10px;}div:nth-of-type(1){background-color: #d000ff;/* 设置的是元素的透明度 */opacity: 0.3;}div:nth-of-type(2){/* 设置的是背景颜色的透明度 */background-color: rgba(208,0,255,0.3);}
</style>
<div>文字</div>
<div>文字</div>

效果:
在这里插入图片描述

transition 过渡

属性值说明
transition-property设置元素中参与过渡的属性all \ none \ 指定属性多个用逗号分隔
transition-duration设置元素过渡的持续时间( 秒s \ 毫秒ms
transition-timing-function设置过渡的时间函数,控制过渡效果的速度曲线
ease默认:缓慢-加速-缓慢
linear:匀速
ease-in:缓慢开始
ease-out:缓慢结束
ease-in-out:缓慢开始和结束
cubic-bezier(n, n, n, n) :函数,取值 [0,1]
transition-delay设置过渡效果延迟的时间,默认为 0( 使过渡效果在触发后一段时间开始

要生效必须要有初始状态和结束状态才能实现过渡效果

<style>/*书写格式:transition-property: width, background, transform;transition-duration: .25s, 1s, 2s;transition-timing-function: linear, ease, ease;transition-delay: 1.9s, 2s, 0s;transition: width .25s linear 1.9s, background 1s 2s, transform 2s;transition: width, background, transform 2s linear 3s;transition: width 2s;*/h1{width: 200px;background-color: rgba(66,85,255,0.6);opacity: 1;transition: all 1s ease-out 1s; /* transition:简写同时设置四个过渡属性 */}h1:hover{width: 100%; /* 宽度变化 */background-color: greenyellow; /* 背景色变化 */opacity: 0.5; /* 透明度变化 */}/*display: none和 display: block之间的切换也会出现过渡效果失效的情况原因: display: none是销毁当前dom节点,再次切换为display: block时会再创建节点,此时css选择器会重新赋予上去。所以不存在渐变动画解决:1.用 opacity(透明度)去替代2.用 visibility: hidden和 visibility: visible进行替换*/h2{/*display: block;*//*visibility: visible;*/opacity: 1;background-color: red;transition: all 2s linear; /* 过渡 */}h2:hover{/*display: none;*//*visibility: hidden;*/opacity: 0;background-color: green;}
</style>
<h1>transition</h1>
<h2>transition</h2>

效果:

在这里插入图片描述

animation 动画

属性值说明
animation-name关键帧 ( 动画 ) 名称以同时指定多个动画
animation-duration动画完成一个周期所需的时间,以秒 ( s ) 或毫秒 ( ms ) 为单位
animation-timing-function速度曲线
linear:从头到尾,动画的运行速度相同
ease:默认值,开始低速,然后加快,结束前变慢
ease-in:低速开始,结束前不断变快
ease-out:快速开始,结束前不断变慢
ease-in-out:开始和结束时段是慢速,中间部分速度最快
cubic-bezier(n,n,n,n):贝塞尔曲线,可以自己设置速度曲线
animation-delay动画开始前等待的时间,以秒 ( s ) 或毫秒 ( ms ) 为单位
animation-iteration-count‌动画播放的次数正数infinite ( 无限的 ) 则重复运行动画
animation-direction‌是否应该轮流反向播放,从头到尾正向播放,或是从尾到头的倒放
normal:动画正放,动画一周期结束后重置到开始位置
reverse:动画倒放
alternate:动画在奇数次正向播放,偶数次反向播放。如果一个动画是持续播放
的,程序刚开始动画为第一次,这一次播放完毕便进行第二次,以此类推
alternate-reverse:动画在奇数次反向播放,偶数次正向播放
animation-fill-mode播放之前之后如何应用样式
none:默认值,动画不会对元素在动画开始前或结束后样式参数产生任何影响。动画开始前,元素显
示CSS非动画状态的样式;动画结束元素回到动画未运行前的初始状态
forwards:动画完成后,元素保持在动画的最后关键帧。就是动画运行到哪里
,结束后它就保持在哪里不会回初始点
backwards:动画开始前,元素显示动画的第一个关键帧的样式。在动画开始前的等待期
显示的是第一关键帧
both:结合了前两个的效果。动画开始前的等待期它是第一关键帧的样子
动画结束后保持在最后结束帧的模样,也不会回到原点
animation-play-state播放状态,是否正在运行已暂停
在动画过程中我们可以暂停动画,也可以暂停后继续运行,值主要有两个:running \
paused。当 running 时,动画正常播放当 paused 时,动画则停在当前帧

常伴随着动画帧 @keyframes 一起使用

<style>.box{width: 100px;height: 100px;background: #0022ff;/* 最简 *//*animation: myMove 3s;*//* 最全 *//*animation: myMove2 5s linear 1s 2 alternate both running;*//* 多组 */animation: myMove2 5s linear infinite,Change 5s linear infinite;}/*简单规则 ( from to )*/@keyframes myMove{from{background-color: yellow;}to{background-color: deeppink;margin-left: 300px;margin-top: 200px;}}/*复杂规则 ( 百分比% )*/@keyframes myMove2{0%{background:repeating-radial-gradient(circle closest-side,white, #9cef1d 30%);margin-left: 50px;margin-top: 20px;}40%{background:repeating-radial-gradient(circle closest-corner,white,#9cef1d 30%);margin-left: 300px;margin-top: 100px;}70%{background:repeating-radial-gradient(circle closest-side,white,#9cef1d 30%);margin-left: 100px;margin-top: 200px;}100%{background:repeating-radial-gradient(circle closest-corner,white,#9cef1d 30%);margin-left: 50px;margin-top: 20px;}}@keyframes Change {0%{transform: rotateZ(0deg);}50%{transform: rotateZ(180deg);}100%{transform: rotateZ(360deg);}}
</style>
<div class="box"></div>

效果:
在这里插入图片描述

background 渐变 ( 线性渐变 \ 径向渐变 \ 锥形渐变 )

可以使(至少)两个或多个 指定的颜色之间显示平稳的过渡,CSS3定义两种类型的渐变:一种是 线性渐变, 即 向下 / 向上 / 向左 / 向右 / 对角方向;另一种是 径向渐变,及由中心定义

线性渐变

/* 语法 */
background:linear-gradient(to direction, color1, color2,...)

direction 指明线性渐变的方向,默认是从上到下。渐变方向上可以做更多的控制,可以定义一个 deg 角度,而不用预定义方向 ( to bottom 、to top 、 to right 、to left 、to bottom right ) 等等。color 后可以跟设置颜色显示到什么范围 % 或 px ,与颜色用空格隔开

<style>div{width: 150px;height: 150px;display: inline-block;margin: 10px;}.one{background: linear-gradient(#dbff00,#0d6efd);}.two{background: linear-gradient(to right,#dbff00,#0d6efd);}.three{background: linear-gradient(to bottom right,#dbff00,#0d6efd);}.four{background: linear-gradient(80deg,#dbff00 20%,#0d6efd 40%);}.five{background: linear-gradient(-80deg,#dbff00 30%,#0d6efd 80%);}
</style>
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
<div class="four"></div>
<div class="five"></div>

效果:
在这里插入图片描述

<style>div{width: 700px;height: 150px;background-image: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet);}
</style>
<div></div>

效果:
在这里插入图片描述
CSS 渐变还支持透明度,也可用于创建渐变效果。如需添加透明度,我们使用 rgba() 函数来定义色标

<style>div{width: 700px;height: 150px;background-image: linear-gradient(to right,rgb(15, 213,0, 0), rgb(173, 255,47, 1));}
</style>
<div></div>

效果:
在这里插入图片描述
重复线性渐变

/* 语法 */
background-image: repeating-linear-gradient(方向或角度, color1, color2,...);
<style>div{width: 700px;height: 150px;background-image: repeating-linear-gradient(60deg,white, rgb(217, 47, 255,0.2) 10%);}
</style>
<div></div>

效果:
在这里插入图片描述
径向渐变

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

必须至少定义两个颜色节点shape 参数定义形状,默认值是ellipse ( 取值可以是 circle : 圆形, ellipse : 椭圆形 ) 。size 设置扩散的最远距离,即渐变的大小 ( closest-side:半径长度为从圆心到离圆心最近的边farthest-side:半径长度为从圆心到离圆心最远的边closest-corner:半径长度为从圆心到离圆心最近的角farthest-corner:半径长度为从圆心到离圆心最远的角 ) ,除了关键字外也可以是具体的长度 px 或 %position 用于指定渐变的圆心位置 ( 水平方向位置垂直方向位置 ) 默认情况下,渐变中心是 center ( 表示在中心点 )

<style>div{width: 700px;height: 150px;background-image: radial-gradient(#0022ff, #858585, #6fa915, yellow, black);}
</style>
<div></div>

效果:
在这里插入图片描述

不同间距的色标和形状

<style>div{width: 700px;height: 150px;background-image: radial-gradient(circle, #0022ff, #858585 10%, #6fa915 50%,yellow,black);}
</style>
<div></div>

效果:
在这里插入图片描述
不同的扩散半径距离关键字

<style>body::after{content: "";display: block;clear: both;}div{width: 300px;height: 150px;margin: 10px 10px;float: left;}/* 不同扩散半径的对比 */div:nth-of-type(1){background-image: radial-gradient(circle closest-side at 70% 55%, red, yellow, black);}div:nth-of-type(2){background-image: radial-gradient(circle farthest-side at 70% 55%, red, yellow, black);}div:nth-of-type(3){background-image: radial-gradient(circle closest-corner at 70% 55%, red, yellow, black);}div:nth-of-type(4){background-image: radial-gradient(circle farthest-corner at 70% 55%, red, yellow, black);}
</style>
<div></div>
<div></div>
<div></div>
<div></div>

效果:
在这里插入图片描述
重复径向渐变

/* 语法 */
background-image: repeating-radial-gradient(shape size at position, start-color, ..., last-color);
<style>div{width: 700px;height: 150px;background-image: repeating-radial-gradient(at 20% 60%, #ffffff, #e9defa 10%, #fbfcdb 20%);}
</style>
<div></div>

效果:
在这里插入图片描述
锥形渐变

/* 语法 */
background-image: conic-gradient(from [angle] at [position], color-stop1, color-stop2, ...);

函数的结果是一个 gradient 数据类型的对象,也是一种特殊的 image。默认以一个点为中心起始点,沿着圆周变化,可用于创建环形进度条、饼图、彩虹色环等多种图形效果,增强了CSS原生布局的灵活性和表现力from [ 起始角度 ]:可选参数,用于指定起始角度,默认为0度(即从正上方开始 顺时针渐变 ),可以设置一个角度值,例如 from 45deg 表示从顺时针45度方向开始渐变。at [ 中心点位置 ]:可选参数,用于指定渐变的中心位置可以使用方位关键词或具体的坐标值,如 at center 或 at left 50% top 50%。渐变断点 color-stop1, color-stop2, …:必需参数,用于定义颜色渐变的具体步骤每个颜色后面可以跟一个角度值(如 red 90deg 表示在90度位置变为红色)或百分比(表示在整个圆周上的位置)。注意锥形渐变功能在CSS标准的不同版本中有不同程度的支持,因此在实际应用时可能需要配合前缀或查询最新的浏览器支持情况

<style>div{width: 200px;height: 200px;border-radius: 50%;/* 默认从上方开始,从白色渐变至绿色 */background:conic-gradient(white, green);}
</style>
<div></div>

效果:
在这里插入图片描述
不同的起始角度和中心点位置

<style>div{width: 200px;height: 200px;border-radius: 50%;/* 在 逆时针45度 的地方顺时针开始,渐变中心位于:水平方向在100px 垂直方向在70% 处 */background-image: conic-gradient(from -45deg at 100px 70%, #fffb00, #d384ff, #49ffe4);}
</style>
<div></div>

效果:
在这里插入图片描述

指定颜色断点

<style>div{width: 200px;height: 200px;border-radius: 50%;/* 在指定角度变成指定颜色 */background-image: conic-gradient(#d9ff00 45deg, #ff0000 90deg, #dd00ff 135deg, #2a2dff 270deg);}
</style>
<div></div>

效果:
在这里插入图片描述
指定颜色显示区域

<style>div{width: 200px;height: 200px;border-radius: 50%;/* 指定颜色区域,写法 1: *//*background: conic-gradient(blue 0deg 60deg, red 60deg 120deg, green 120deg);*//* 指定颜色区域,写法 2:这样每一个颜色都需要计算角度是比较麻烦的事情,这时我们可以使用渐变断点的一个特性:当后面的渐变断点位置比前面的断点位置小的时候,会自动按照前面较大的断点位置渲染,也就是说我们可以直接简单的设置为 */background: conic-gradient(blue 30%, red 0deg 60%, green 0deg 100%);}
</style>
<div></div>

效果:
在这里插入图片描述)

重复锥形渐变

/* 语法 */
<style></style>
<div></div>

效果:


只有当首尾两颜色位置不在 0% 或 100% 时,重复渐变才生效 ( 占满了就没法重复了 ) 。由于位置处于 100% 的色标有时并不会占满渐变区域,则浏览器会默认使用最后一个色标的颜色铺满渐变区域 ( 未使用重复渐变且扩散距离未铺满渐变区域的情况下 ) 。渐变函数的结果是 gradient 数据类型的对象, 是一种特殊的 image 类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/433962.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

经济不好,但是遍地都是赚钱的机会

现在职场越来越内卷&#xff0c;裁员风波也是不断&#xff0c;前些天看到一个帖子&#xff0c;裁员都裁到应届生头上了。 都说00后整治职场&#xff0c;在如今环境下也要掂量一下了。 大家都在抱怨环境&#xff0c;可是你有没有想过&#xff0c;有些人在闷声发着小财。 下面…

Pygame中Sprite实现逃亡游戏5

在《Pygame中Sprite实现逃亡游戏4》中通过碰撞检测实现了玩家、飞龙与飞火之间的碰撞处理&#xff0c;基本上实现了逃亡功能。最后&#xff0c;实现这个逃亡游戏中文字提示的功能。 1 操作提示 当进入游戏后&#xff0c;会在玩家下方的位置给出操作提示&#xff0c;如图1所示…

数据集-目标检测系列-鲨鱼检测数据集 shark >> DataBall

数据集-目标检测系列-鲨鱼检测数据集 shark >> DataBall 数据集-目标检测系列-鲨鱼检测数据集 shark 数据量&#xff1a;6k 数据样例项目地址&#xff1a; gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview github: https://github.com/Te…

3款照片人物开口说话AI工具,跟真人说话一样~免费!短视频带货必备!(附教程)

大家好&#xff0c;我是画画的小强 今天给大家分享一个AI图片口播数字人讲认知思维&#xff0c;单号佣金赚5W的AI带货信息差玩法&#xff0c;许多小伙伴表示对这类AI带货玩法感兴趣。 说实话&#xff0c;现在AI照片人物对口型工具&#xff0c;越来越逼真&#xff0c;很难辨识出…

JAVA开源项目 技术交流分享平台 计算机毕业设计

本文项目编号 T 053 &#xff0c;文末自助获取源码 \color{red}{T053&#xff0c;文末自助获取源码} T053&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 新…

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall 数据集-目标检测系列-豹子 猎豹 检测数据集 leopard 数据量&#xff1a;5k 想要进一步了解&#xff0c;请联系。 DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#x…

赋值运算符重载

背景&#xff1a; 在EHR模块进行调试时&#xff0c;发现QVector3D对象进行赋值时&#xff0c;出现变量未赋值成功问题。 问题描述&#xff1a; 在进行代码调试时&#xff0c;发现赋值操作未成功&#xff0c;导致代码逻辑异常&#xff0c;经过分析&#xff0c;发现QVector3D 赋…

前台项目启动/打包报错 Error: error:0308010C:digital envelope routines::unsupported

在package.json中修改启动/打包语句 如图&#xff0c;我这里是打包时候报错&#xff0c;就在build里前面加上 set NODE_OPTIONS--openssl-legacy-provider && 再次打包&#xff0c;成功。

828华为云征文|部署敏捷项目管理系统工具 ZenTao

828华为云征文&#xff5c;部署敏捷项目管理系统工具 ZenTao 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 ZenTao3.1 ZenTao 介绍3.2 ZenTao 部署3.3 ZenTao 使用 四、总…

急!现在转大模型还来得及吗?零基础入门到精通,收藏这一篇就够了

大模型的出现&#xff0c;让行内和行外大多数人都感到非常焦虑。 行外很多人想了解却感到无从下手&#xff0c;行内很多人苦于没有硬件条件无法尝试。想转大模型方向&#xff0c;相关的招聘虽然层出不穷&#xff0c;但一般都要求有大模型经验。而更多的人&#xff0c;则一直处…

中国科学技术大学《2020年+2021年845自动控制原理真题》 (完整版)

本文内容&#xff0c;全部选自自动化考研联盟的&#xff1a;《25届中国科学技术大学845自控考研资料》的真题篇。后续会持续更新更多学校&#xff0c;更多年份的真题&#xff0c;记得关注哦~ 目录 2020年真题 2021年真题 Part1&#xff1a;2020年2021年完整版真题 2020年真…

【论文解读】ECCV2018细粒度分类:自监督机制NTS-Net模型引领新方向 (附论文地址)

论文地址&#xff1a;https://arxiv.org/pdf/1809.00287 这篇论文由北京大学机器感知国家重点实验室的Ze Yang、Tiange Luo、Dong Wang、Zhiqiang Hu、Jun Gao和Liwei Wang撰写&#xff0c;发表于2018年。论文提出了一种新颖的自监督机制&#xff0c;用于在没有边界框/部分注释…

如果再回到从前——备忘录模式

文章目录 如果再回到从前——备忘录模式如果再给我一次机会……游戏存进度备忘录模式备忘录模式基本代码游戏进度备忘 如果再回到从前——备忘录模式 如果再给我一次机会…… 时间&#xff1a;5月6日18点  地点&#xff1a;小菜、大鸟住所的客厅  人物&#xff1a;小菜、…

VSCode开发Vue3+TS项目中遇到各种波浪线(诊断信息)

一、问题汇总 在使用Visual Studio Code&#xff08;VSCode&#xff09;开发Vue3 TypeScript项目时&#xff0c;会遇到各种波浪线错误&#xff08;诊断信息&#xff09;&#xff0c;这些问题或错误通常由以下几人原因引起的&#xff1a; 1.1 常见问题 1、typeScript配置问题…

计算机的错误计算(一百零六)

摘要 探讨含有变元负的整数次方的多项式的计算精度问题。 计算机的错误计算&#xff08;一百零五&#xff09;给出了一个传统多项式的错误计算案例&#xff1b;本节探讨含有变元负的整数次方的多项式的计算精度问题。 例1. 已知 计算 若在Python下计算&#xff0c;则有&…

Pencils Protocol上线 Vaults 产品,为 $DAPP 深入赋能

Pencils Protocol 是 Scroll 生态一站式综合收益平台&#xff0c;该平台以 DeFi 功能作为抓手&#xff0c;基于 Farming、Vaults、Auction 等功能不断向 LRT、LaunchPad、AI、FHE、RWA 等领域深入的拓展。 近期 Pencils Protocol 生态不断迎来重磅进展&#xff0c;一个是 $DAPP…

【Java】类型转换 —— 自动转换、强制转换与表达式类型自动提升

1&#xff0e;自动类型转换 Java中的自动类型转换就好比将小瓶水倒入到大瓶的换装过程。我们将小瓶水倒入到大瓶中时&#xff0c;由于小瓶的容量比大瓶的容量小&#xff0c;所以倒入的水永远不可能溢出大瓶。同样&#xff0c;在Java中&#xff0c;将取值范围小的数据类型的变量…

Django 配置邮箱服务,实现发送信息到指定邮箱

一、这里以qq邮箱为例&#xff0c;打开qq邮箱的SMTP服务 二、django项目目录设置setting.py 文件 setting.py 添加如下内容&#xff1a; # 发送邮件相关配置 EMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend EMAIL_USE_TLS True EMAIL_HOST smtp.qq.com EMAIL…

2024新版IDEA创建JSP项目

1. 创建项目 依次点击file->new->Project 配置如下信息并点击create创建项目 2. 配置Web项目 点击file->Project Structure 在点击Project Settings->Module右键右边模块名称->ADD->Web 点击Create Artifact 出现如下界面就表示配置完毕&#xff0c;…

基于PHP+MySQL组合开发地方门户分类信息网站源码系统 带完整的安装代码包以及搭建部署教程

系统概述 随着互联网技术的飞速发展&#xff0c;地方门户分类信息网站逐渐成为城市生活不可或缺的一部分。它们涵盖了房产、招聘、二手交易、生活服务等多个领域&#xff0c;为当地居民提供了全方位的信息服务。为了满足这一市场需求&#xff0c;我们开发了这款基于PHPMySQL的…