首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(2019)面试题:CSS动画中的transition和animation

问题 CSS动画中的transition和animation Hello,欢迎来到我的博客,每天一道面试题,我们共同进步。...解答 CSS中和动画有关的属性有两种:transition和animation 其中animation和关键帧配合使用【@keyframes】 transition 我们先来看一个简单例子: 的,但是当我移出元素后,元素宽度立马恢复,而没有过渡! 原因很简单,你transistion只写在hover上,也就是说只有鼠标移上去的时候,该伪类才生效。...transition常用属性 transition 属性是一个简写属性,用于设置四个过渡属性: ransition-property :规定设置过渡效果的 CSS 属性的名称【比如width,height...当鼠标移入的时候暂停,移出的时候继续变换颜色。

2.3K00

CSS魔法堂:更丰富的前端动效by CSS Animation

前言  在《CSS魔法堂:Transition就这么好玩》中我们了解到对于简单的补间动画,我们可以通过transition实现。那到底多简单的动画适合用transtion来实现呢?...答案就是——我们只需定义动画起始和结束帧的状态的动画。一旦关键帧数大于2时,我们必须转向CSS Animation了。本文为这段时间学习的记录,欢迎拍砖。...重复怎么办 @keyframes CSS规则不支持层叠样式,因此当出现多个同名keyframes,那么仅最后出现的那个有效。...重复怎么办 与@keyframes CSS规则一样,标准规定相同的关键帧不产生层叠,仅最后出现的认定为有效。...注意:通过这个属性,我们仅能实现暂停和继续播放的效果,无法实现重播,更别说回放了 ,用于设置缓动函数类型,值为ease | ease-in | ease-out

1.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CSS魔法堂:更丰富的前端动效by CSS Animation

    前言  在《CSS魔法堂:Transition就这么好玩》中我们了解到对于简单的补间动画,我们可以通过transition实现。那到底多简单的动画适合用transtion来实现呢?...答案就是——我们只需定义动画起始和结束帧的状态的动画。一旦关键帧数大于2时,我们必须转向CSS Animation了。本文为这段时间学习的记录,欢迎拍砖。...重复怎么办 @keyframes CSS规则不支持层叠样式,因此当出现多个同名keyframes,那么仅最后出现的那个有效。...重复怎么办 与@keyframes CSS规则一样,标准规定相同的关键帧不产生层叠,仅最后出现的认定为有效。...**注意:通过这个属性,我们仅能实现暂停和继续播放的效果,无法实现重播,更别说回放了** ,用于设置缓动函数类型,值为ease | ease-in

    1.4K40

    CSS隐藏内容的几种做法

    一、CSS元素隐藏 在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间;有的可以响应点击,有的不能响应点击。后宫选秀——一个一个看。...三、height:0和overflow:hidden的组合 overflow:hidden用中文理解就是“溢出隐藏”,也就是盒子以外的内容都咔嚓掉不可见的。...加上height:0,只要是一般的非inline水平元素,则元素内部所有子孙都应该是不可见的 height:0和overflow:hidden组合隐藏“失效”的条件如下:祖先元素没有position:relative...overflow可以剪裁超出块状元素之外的元素。除非超出元素的包含块是整个视区或是该overflow元素的祖先元素。...然后绝对定位元素的包含块应该就是含有position:relative/absolute/fixed的祖先元素。

    1.5K20

    css属性transparent有时候并不是透明的

    两天前我发了个求助,今天终于在朋友的帮助下找到了答案,关于transparent以及rgba(0,0,0,0),在webkit与没有抗锯齿的浏览器下对border渲染正常,但是在有抗锯齿渲染的浏览器下(...DOCTYPE html> CSS,HTML,XHTML,JS...这个例子在webkit下两条透明的表框表现是没任何问题的,但是在FF下面,border与border的那个对角线位置,明显多出了一条黑线,如图。...因为firefox的抗锯齿处理会让border之间渐变过渡,也就是说从rgba(238,238,238,1)到rgba(0,0,0,0)进行渐变处理,那条黑线恰好是两个颜色之间的中间色。...所以为了让浏览器渲染一样,以后大家写border透明色的时候,必须写相邻border相同颜色的透明,比如上面的例子: border-top: 100px solid transparent; border-left

    1K80

    CSS实现一个粒子动效的按钮

    效果就更加震撼了,当然canvas实现也有一定的门槛,而且实际使用起来也略微麻烦(所有js实现的通病),这里尝试一下CSS的实现方式。 生成粒子 抛开js方案,还有HTML和CSS实现方式。... 一般情况下我不是很喜欢这种方式,标签太多,结构不美观,而且有可能对现有的页面造成其他影响(很多情况下并不方便修改原始HTML结构) 那么来看看CSS实现方式,主要也是两种方式,其实就是想一下有哪些属性可以无限叠加...不过这里的偏移量只能是px单位,无法很好的自适应按钮的大小,所以这里采用第二种方式来实现 2.background-image CSS3中background-image是可以无限叠加的,类似于 .myclass...动起来 虽然background-image不支持CSS动画,但是另外两个background-size和background-position支持呀,所以,CSS transition和CSS animation...小结 上面介绍了纯CSS实现一个粒子动效的按钮,优点很明显,复制一下CSS直接扔到项目里就能用,管他什么原生项目还是react项目,也无需绑定什么事件,也无需额外的逻辑处理,增强现有体验。

    1.5K20

    高阶 CSS 技巧在复杂动效中的应用

    我尝试着将其稍微拆分成几小块,运用不同的 CSS 高阶技巧从另外一个方面方向重新实现了一遍。因为整个过程还是有非常多有意思的 CSS 技巧,本文就给大家分享一下。...当然不是,这里我们利用 CSS 提供的倒影功能,可以快速完成这个操作。...,整个位移长度是 1200px,整个动画持续 10s,缓动为线性动画 第一组出发 5s 后(刚好行进了 600px),第二组再出发,如此 infinite 反复 整个 3D 动画,在近屏幕端看上去就是无限循环的一种效果...技巧 7:SVG 滤镜可以通过 CSS 滤镜快速引入,SVG 滤镜可以实现一些 CSS 完成不了的事情,譬如一些特殊的纹理,波纹,烟雾颗粒感等等效果。...好,至此,我们就大体上按照自己的理解,重新实现了一遍上述的动画,再做一些简单的修饰,最终的效果如下: CodePen Demo -- Pure CSS to the future 最后 今天的内容有点多

    1.6K10

    CSS实现一个粒子动效的按钮

    ,而且实际使用起来也略微麻烦(所有js实现的通病),这里尝试一下CSS的实现方式。... 一般情况下我不是很喜欢这种方式,标签太多,结构不美观,而且有可能对现有的页面造成其他影响(很多情况下并不方便修改原始HTML结构) 那么来看看CSS实现方式,主要也是两种方式,其实就是想一下有哪些属性可以无限叠加...不过这里的偏移量只能是px单位,无法很好的自适应按钮的大小,所以这里采用第二种方式来实现 2.background-image CSS3中background-image是可以无限叠加的,类似于 .myclass...动起来 虽然background-image不支持CSS动画,但是另外两个background-size和background-position支持呀,所以,CSS transition和CSS animation...小结 上面介绍了纯CSS实现一个粒子动效的按钮,优点很明显,复制一下CSS直接扔到项目里就能用,管他什么原生项目还是react项目,也无需绑定什么事件,也无需额外的逻辑处理,增强现有体验。

    1.4K20

    火爆全网的AI绘画中的人工智能生成内容(AIGC)是什么?

    AIGC既是一种内容分类方式,也是一种内容生产方式,还是一种用于内容自动生成的一类技术集合。...AIGC全称AI-Generated Content,指基于人工智能通过已有数据寻找规律,并自动生成内容的生产方式。...内容生态发展可以分为四个阶段:专家生成内容(PGC)、用户生成内容(UGC)、AI辅助生产内容及AI生成内容(AIGC)。 AIGC的发展范围分为四个阶段: 2022年被称为AIGC元年。...在主流的短视频平台、社交平台,逐渐充斥着大量的AI绘画内容,微博的相关话题总阅读数2.2亿,抖音平台中“AI绘画”特效使用近2600万人,对于内容创作者而言,经历了UGC、PGC,如今属于AIGC的时代已经逐渐到来...AI绘画是AIGC的重要的应用分支。通过AI绘画工具,用户输入不同的词汇,例如不同艺术家的风格、构图、色彩、透视方法、以及修饰词等,就能得到相对应的画作。

    31.9K42

    CSS动效集锦,视觉魔法的碰撞与融合(三)

    如果我们要通过CSS该如何去实现话,我们的想法一般是先画个扇形,然后给它加上渐变。 实现渐变的方式很简单,但我们该如何实现一个扇形呢? 我们可以通过一些技巧实现这一点,请看: ?...锐角扇形:deg<0,向右边倾斜,即可得到锐角扇形 钝角扇形:deg>0, 向左边倾斜,即可得到钝角扇形 代码如下 // CSS代码 @keyframes rotateAnimate { from...代码 CSS/HTML代码如下: 我们在一个父div内部放8个子div。...父div相对定位,而子div绝对定位 // CSS代码 .circles { position: relative; margin: 50px; width: 200px; height...好,下面终于可以讲下CSS的实现思路了 CSS实现原理 设置两个div:外层div和内层div 外层div设置横向匀速运动的动画 内层div设置纵向的匀加速直线运动的动画,加速过程可以用cubic-bezier

    2K21

    CSS overflow 内容溢出时的显示方式

    1. overflow 属性介绍 2. overflow 属性的值 3....自定义 overflow 的滚动条 1. overflow 属性介绍 ---- css 中的 overflow 属性用于控制内容溢出元素框时的显示方式。...当元素框中的内容溢出时,无非就是两种情况: 溢出部分隐藏、溢出部分通过滚动条查看 2. overflow 属性的值 ---- 值 描述 visible 默认值。...内容不会被修剪,溢出部分会呈现在元素框之外 hidden 内容被修剪,溢出部分不可见 scroll 内容被修剪,无论是否溢出滚动条都会占据空间 auto 当内容溢出时会被修剪且出现滚动条,没有溢出时不显示滚动条...自定义 overflow 的滚动条 ---- 以前不知道 overflow 的滚动条样式是可以修改的,最近做的一个官网项目中前端提供的静态模板自定义了滚动条样式,才得知还有这么个东西,在此记录一下自定义滚动条的写法

    2.3K20

    有了这些开源动效项目,设计和开发不再相杀只剩相爱

    小鱼干曾混迹某个国内技术论坛,里面的大佬们对动效有惊人的一致评论:砍死设计师系列,花里胡哨系列,有时间再做,一点都不实用…统一下,大部分的开发对动效的感觉是没啥卵用徒增工作量的 Task,不过也有部分开发小伙伴觉得...App / Web 大多数时候并不是都注重的是功能,功能都能实现的情况下,想要博得用户,UI(动效) 也很重要。...简洁之美:Sica Sica 是一个顺序 / 并行执行的动画库,虽然它是个简单的动效库,但是它支持绝大部分的动效。...指示小组件:Arrows Arrows 是一种下拉动画中指示箭头小组件,它代表了三种不同的箭头状态:up / down / middle。...多个动效要收藏:Animate.css Animate.css 是一个 CSS 的跨浏览器的动画,涵盖了常见的动效,直接调用省时省力,此外它有在线版支持你搜索特定的效果:https://daneden.github.io

    1.1K20

    深入浅出 CSS 动画

    我在下述两个纯 CSS 动画中,都使用了这样的技巧: 纯 CSS 实现华为充电动画: 纯 CSS 实现火焰动画: 以纯 CSS 实现华为充电动画为例子,简单讲解一下。...缓动函数 缓动函数在动画中非常重要,它定义了动画在每一动画周期中执行的节奏。...譬如 linear 这个缓动,实际应用于某些动画中会显得很不自然,因为由于空气阻力的存在,程序模拟的匀速直线运动在现实生活中是很难实现的。因此对于这样一个用户平时很少感知到的运动是很难建立信任感的。...类似于视频播放器的开始和暂停。是 CSS 动画中有限的控制动画状态的手段之一。...在 CSS 动画中,由 animation-iteration-count 和 animation-direction 共同决定动画运行时的第一帧和最后一帧的状态。

    1.8K40

    精读《.CSS Animations vs Web Animations API》

    今天我们来一起聊聊 CSS 动画与 WEB Animation API 的优劣。 2. 内容概要 JavaScript 规范确实借鉴了很多社区内的优秀类库,通过原生实现的方式提供更好的性能。...'); var animation = element.animate(keyframes, 1000); 第一个参数是一个对象数组,每个对象表示动画中的一帧: var keyframes = [...同时也支持在第二个参数中传入配置项来指定缓动方式、循环次数等。...: 'ease-out', // 缓动方式,默认 "linear" }; 有了这些配置项,基本可以满足开发者的动画需求。...低耦合 CSS 动画中,如果需要控制动画或者过渡的开始或结束只能通过相应的 dom 事件来监听,并且在回调函数中操作,这也是受 CSS 本身语言特性约束所致。

    47420

    平时我几乎不用的CSS相关内容

    与display属性不同,此属性为隐藏的对象保留其占据的物理空间 如果希望对象为可视,其父对象也必须是可视的。...如果提供两个,第一个用于定义背景图像的宽度,第二个用于定义背景图像的高度。...如果只提供一个,该值将用于定义背景图像的宽度,第2个值默认为auto,即高度为auto,此时背景图以提供的宽度作为参照来进行等比缩放。...=*=*=*=*= 字体 Font font-variant 设置或检索对象中的文本是否为小型的大写字母。...老实说,这次的卷子,和上次的很不一样,虽然用的时间一样,但是感觉很不同~ 平时几乎不怎么使用这样的东西,偶尔用到,也就是上网查一下就出来了,这次真被考惨咯~

    22500

    你所不知道的 CSS 动画技巧与细节

    (写完文章才发现这里应该叫正反旋转相消,图都截完了,大家心里清楚就好) 在动画中,旋转是非常常用的属性, { transform: rotate(90deg); } 那旋转有一些什么高级点的技巧呢?...CodePen Demo -- Css正负旋转相消动画 动画相同,缓动不同 好的,继续下一个小技巧。...CodePen Demo -- 动画相同,缓动不同 奇妙的缓动 缓动函数 timing-function 在动画中占据了非常重要的地位。...当你不想使用 CSS 默认提供的 linear、ease-in、ease-out 之类缓动函数的,可以自定义 cubic-bezier(1, 1, 0, 0),这里有个非常好用的工具推荐,下面这个网站,...我们并不希望 list 元素也生成 Graphics Layer ,但是由于 CSS 层级定义原因,下面的 list 的层级高于上面的 swiper,所以它被动的也生成了一个 Graphics Layer

    93931
    领券