返回顶部
首页 > 资讯 > 精选 >如何在CSS中优化阴影动画
  • 376
分享到

如何在CSS中优化阴影动画

2023-06-08 05:06:48 376人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关如何在CSS中优化阴影动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。css的三种引入方式1.行内样式,最直接最简单的一种,直接对html标签使用style="

这期内容当中小编将会给大家带来有关如何在CSS优化阴影动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

css的三种引入方式

1.行内样式,最直接最简单的一种,直接对html标签使用style=""。2.内嵌样式,就是将CSS代码写在之间,并且用

进行声明。3.外部样式,其中链接样式是使用频率最高,最实用的样式,只需要在之间加上

就可以了。其次就是导入样式,导入样式和链接样式比较相似,采用@import样式导入CSS样式表,不建议使用。

box-shaodw在我们的工作中使用以及越来越多,伴随阴影的动画或多或少都有一点。假设,我们有下面这样一个盒子:

div {    width: 100px;    height: 100px;    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);}

希望 hover 的时候,盒阴影从box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3)过渡到box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3)

box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3)-->box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3)

OK,最简单的方法当然是:

div:hover {    width: 100px;    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);}

因为过渡动画是在两个不同的盒阴影状态在发生,所以在过渡动画的时间内,浏览器会不断的重绘盒阴影。而又由于阴影属于耗性能样式,所以这种动画给人的感觉多少有些卡顿。

这里有一个小技巧可以优化这种情况下的阴影动画。

使用伪元素及透明度进行优化

使用伪元素及透明度进行优化,我们给上述元素添加一个 before 伪元素,大小与父 div 一致,并且提前给这个元素添加好所需要的最终的盒阴影状态,但是元素的透明度为 0。

div {    position: relative;    width: 100px;    height: 100px;    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);} div::before {    content: "";    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);    opacity: 0;}

然后,在 hover 的时候,我们只需要将伪元素的透明度从 0 设置为 1 即可。

div:hover::before {    opacity: 1;}

这样做的好处是,实际在进行的阴影变化,其实只是透明度的变化,而没有对阴影进行不断的重绘,有效的提升了阴影动画的流畅程度,让它看起来更加丝滑。

如何在CSS中优化阴影动画

为什么对透明度opacity进行动画要比对box-shadow进行动画性能更好呢?可以看看这里这张表格,列举了不同属性变换对页面重排、重绘的影响:

如何在CSS中优化阴影动画

very few CSS properties

最后,Demo 可以看看:

CodePen Demo -- 优化box-shadow动画

存在的问题,另外一种方案

原文中上述这个方案其实并不算太完美,因为最终的效果是两个阴影的叠加效果,可能会在整体的感觉上阴影颜色更深了一点。

所以需要对最终状态的阴影进行微调一下,削弱一点效果,尽量让两个阴影的叠加效果与单一一个阴影效果相近。

当然,我们可以再对上述方案进行优化,我们再使用一个::after伪元素,::after伪元素设置为初始状态且透明度为1,::before伪元素设置为末尾状态且透明度为0:

上述就是小编为大家分享的如何在CSS中优化阴影动画了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何在CSS中优化阴影动画

本文链接: https://lsjlt.com/news/252050.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何在CSS中优化阴影动画
    这期内容当中小编将会给大家带来有关如何在CSS中优化阴影动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。css的三种引入方式1.行内样式,最直接最简单的一种,直接对HTML标签使用style="...
    99+
    2023-06-08
  • CSS阴影动画优化的方法
    这篇文章主要介绍了CSS阴影动画优化的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS阴影动画优化的方法文章都会有所收获,下面我们一起来看看吧。   box-shao...
    99+
    2024-04-02
  • css如何加阴影
    这篇文章给大家分享的是有关css如何加阴影的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在css中可以通过“box-shadow”属性设置一个或多个下拉阴影的框,其使用语法如“box-shadow: h-shad...
    99+
    2023-06-14
  • css中div阴影如何设置
    这篇文章主要介绍了css中div阴影如何设置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇css中div阴影如何设置文章都会有所收获,下面我们一起来看看吧。示例:<!DOCTYPE html&g...
    99+
    2023-07-04
  • css如何实现块阴影与文字阴影
    小编给大家分享一下css如何实现块阴影与文字阴影,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!块阴影与文字阴影  阴影效果曾让 Web 设计师既爱又恨,现在,有了...
    99+
    2023-06-27
  • css如何实现内阴影
    这篇文章将为大家详细讲解有关css如何实现内阴影,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   CSS代码:      box-s...
    99+
    2024-04-02
  • css如何设置div阴影
    这篇文章给大家分享的是有关css如何设置div阴影的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在css中,可以使用box-shadow属性来给设置div阴影,只需要给div元素添加“box-shadow: 水平...
    99+
    2023-06-15
  • css input如何去掉阴影
    小编给大家分享一下css input如何去掉阴影,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css input去掉阴影的方法:首先打开相应的css文件;然后添加...
    99+
    2023-06-14
  • 怎么在CSS中实现文本阴影与元素阴影效果
    怎么在CSS中实现文本阴影与元素阴影效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。文本阴影介绍在CSS中使用text-shadow属性设置文本阴影,该属性一共有4个属性值如...
    99+
    2023-06-08
  • css如何设置边框阴影
    在css中设置边框阴影的方法:1.创建div标签;2.设置div标签宽高和边框;3.使用box-shadow属性设置边框阴影;在css中设置边框阴影的方法首先,在页面中创建一个div标签,并设置class属性; <body&...
    99+
    2024-04-02
  • css如何给按钮加阴影
    在css中给按钮添加阴影的方法:1.创建按钮;2.设置按钮大小;3.使用box-shadow属性设置阴影;在css中给按钮添加阴影的方法首先,在页面中创建一个按钮; <body>   &n...
    99+
    2024-04-02
  • css如何实现阴影效果
    这篇文章主要介绍了css如何实现阴影效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css的三种引入方式1.行内样式,最直接最简单的一种,直接对HTML标签使用style=...
    99+
    2023-06-14
  • 怎么在css中设置图片阴影
    这篇文章主要介绍“怎么在css中设置图片阴影”,在日常操作中,相信很多人在怎么在css中设置图片阴影问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在css中设置图片阴影”...
    99+
    2024-04-02
  • 怎么在css中设置边框阴影
    怎么在css中设置边框阴影?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。CSS设置边框阴影效果box-shadow属性可以设置一个或多个下拉阴影的框。box-shadow:...
    99+
    2023-06-14
  • 怎么在css中给button设置阴影
    怎么在css中给button设置阴影?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。css3做一个带阴影的button按钮效果对比鼠标划上前与后:<!--html代码--&...
    99+
    2023-06-14
  • css中如何设置边框阴影效果
    这篇文章将为大家详细讲解有关css中如何设置边框阴影效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在css中,可以使用box-shadow属性来给边框添加一个或多个阴影,设置边框阴影效果,语法格式为“...
    99+
    2023-06-15
  • css中怎么实现动态阴影效果
    本篇文章为大家展示了css中怎么实现动态阴影效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。css实现动态阴影创建与类似的阴影box-shadow 而是基于元素本...
    99+
    2024-04-02
  • css如何点击div去掉阴影
    这篇文章主要介绍css如何点击div去掉阴影,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在css中,可以利用“:active”选择器和“box-sha...
    99+
    2024-04-02
  • css如何设置横线的阴影
    这篇文章给大家分享的是有关css如何设置横线的阴影的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 css设置横线阴影的方法:1、给元素添加“width...
    99+
    2024-04-02
  • css如何给单元格加阴影
    在css中给单元格添加阴影的方法:1.创建table表格;2.设置表格单元格宽高;3.使用box-shadow属性设置单元格阴影;在css中给单元格添加阴影的方法首先,在页面中创建一个table表格; <table>&...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作