css3动画(svg下css定位和添加css3动画之后定位失效问题,解决小红包酬谢)

2023-02-22 17:40:02 27

css3动画(svg下css定位和添加css3动画之后定位失效问题,解决小红包酬谢)

本文目录

svg下css定位和添加css3动画之后定位失效问题,解决小红包酬谢

搜了几篇老外的文章,提到 svg 的 forginObject 内的 HTML 元素,当应用 CSS3 动画时,动画的 transform-origin 是基于最外层 body 定位的,貌似无解。

个人建议使用 svg 的 SMIL 动画来实现波纹特效,你大屏展示用的话,兼容性啥的应该不是主要问题

CSS3帧动画

animation动画除了可以实现补间动画外,还可以完成逐帧动画。

在animation的属性中,有个属性 animation-timing-function 一共具有如下这些值

CSS

贝塞尔缓动就是完成补间动画的,比如流畅的缩放、位置移动等动画。

但是逐帧动画没有补间效果的,它不是电脑根据初始和结束状态的差异自动生成中间的过渡帧,而是每一帧都是关键帧,需要自己定义每一帧的状态。

比如像下面这样的图,就只能通过逐帧动画来实现运动效果↓

这几个属性值就是用来处理逐帧动画的:

CSS

steps(number,position) ,有两个参数。

number表示动画的段数。关键帧的数量=段数+1。

position这个比较难理解,有两个值:end和start。end是默认值。

先看一个效果。

两个小球,从0px运动到400px,分为了4个动画步骤,有5个关键帧。第一个是start模式,第二个是end模式。

发现start模式是时间一开始,直接进入第二个关键帧状态,然后顺利顺利走完全程。

end模式有点傻,时间一开始,从第一个关键帧开始跑,结果时间结束了,才走完第四个关键帧,没有完成全部路程就over了。

所以start和end的名字和它所表示的含义刚好相反。

比如执行次数或者填充模式。

为上面的小球加上infinite,可以看出start模式第二次开始的运动都是从第二个关键帧开始的。

加上forwards模式则变得不一样了,forwards是向前的单词意思,但是表示的则是保留动画最后的运动状态,意思和功能也是相反的。

第二个end模式的小球终于有机会走完全程了。
所以,当为end模式设置了forwards的时候要小心,因为它其实多走了一步。

1、这头熊的原始素材一共有8个步骤。

所以使用 steps(8,end) 是最好的方式,因为如果使用 steps(8,start) ,则第一帧不能执行,最后一帧会闪白,图片消失。

因为要一直运动,所以需要加上infinite,当执行完最后一张图的时候,再返回到第一张图,形成一个连贯的完步。

通过背景图片的 background-position 的改变,形成熊的运动。

CSS

可以打开codepen器,把运动时间设置更大一点,可以看到慢动作,一帧一帧是如何显示的。
2、这个logo一共有24张图片

但是logo只运动一次,并且停在结束状态,根据end模式的特征,如果加上forwards的话,会多运动一步。

所以,这里是 steps(23,end) ,为什么是23步,而不是24步,因为forwards模式对它的影响。要想最后一步还要看到图片,那么背景图片的挪动就要少挪动一个图片的宽度。图片整个宽度4800px,每一张图200px的宽高。所以背景图片只需要往左边挪动-4600px即可。

CSS

通过上面的案例可以看出,对象的运动效果由逐帧绘制的图片的间距所影响。间距一样,则速度一样。利用steps不能去改变现成的图片帧与帧之间的速度。

但是利用 step-end 或者 step-start 却是可以的。

3、 step-end 的特别用处

其实 step-end 等价于 steps(1,end) , step-start 等价于 steps(1,start) 。

只有一个步骤的逐帧动画,却可以利用好时间的改变和距离的改变做出速度不同的效果来。

熊从左边快速奔跑出来,一共跑了六步,一步比一步速度放慢。然后在原地踏步。

首先这是一个逐帧动画,但是要实现不同的速度,又没有办法改变原来素材图片与图片之间的距离,所以要使用另外的办法。

第一个完步时间间隔小,left的值间隔大,相当于速度快。背景图片往左移动一张,left的值往右改变一次,熊实现往前奔跑。

CSS

第二个完步的时间间隔稍微大点,left的间隔小了一点,速度变慢了一些。依次类推,速度逐渐放缓。第二个完步又从第一帧开始。

CSS

所以说利用step-end还是可以做出速度不一样的逐帧动画的。
在线制作雪碧图: https://www.toptal.com/developers/css/sprite-generator

animate.css和自己写的css3动画有区别吗

animate.css是别人写好的动画,和自己写没什么区别,自己也可以写。例如我想加一个向右移动200px,然后回到原点,然后一直循环的动画。可是animate.css里面没有,我就可以自己加一个@keyframes进去:

@keyframes LeftToRight{
    0% {
        left: 0;
    }
    50% {
        left: 200px;
    }
    100% {
        left: 0;
    }
}

最后调用的时候:

《div class=“zsz“》zsz《/div》

.zsz {
    position: relative;
    left: 0;
    width: 50%;
    animation: 6s LeftToRight linear infinite;
}

小程序如何使用css3动画

1、利用样式实现小程序动画(用法和css用法相识)
wxml 文件

《image class=“aniamtion“ src=“../../images/page4.jfif“ style=“width:200rpx;height:200rpx;  position:  relative;“》《/image》

wxss文件

.aniamtion {

  animation: mymove 5s infinite;

  /* //infinite属性是表示无限循环的意思,没有这个属性的话动画只执行一次。 */

}

@keyframes mymove {

  from {

    /* left: 0px; */

/* transform: rotate(7deg) skew(50deg) translate(30rpx,30rpx); */

transform: rotate3d(100,200,300,0deg);

  }

  to {

   /* left: 200px; */

/* transform: rotate(7deg) skew(5deg) translate(100rpx,100rpx); */

transform: rotate3d(200,300,400,360deg);

  }

}


2、 用小程序的API来实现动画
用wx.createAnimation(object) 来创建一个动画 --》返回一个animation对象
创建一个动画实例 animation。

  onReady: function () {

this.animation = wx.createAnimation({

duration:1000,

timingFunction:’linear’,

delay:100,

transformOrigin:“left top 0“

})

  },

调用实例的方法来描述动画。
Animation.step() 表示一组动画的完成,可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画

 rotate(){

  this.animation.rotate(150).step() //对动画进行简单的描述

  this.setData({

           animation:this.animation.export()

  })

  },

最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。
this.animation.export() 导出动画队列。export 方法每次调用后会清掉之前的动画操作

 rotate(){

  this.animation.rotate(150).step() //对动画进行简单的描述

  this.setData({ // 在setData({}) 导出动画数据数据给组件

           animation:this.animation.export()

  })

  },

完整的wxml

《view class=“container“》

《view animation=“{{animation}}“ class=“view“》

将做动画的块

《/view》

《/view》

《button type=“default“ size=“mini“ bindtap=“rotate“》

旋转

《/button》

完整的wxjs

Page({

  data: {

animation:’’

  },

  onReady: function () {

this.animation = wx.createAnimation({

duration:1000,

timingFunction:’linear’,

delay:100,

transformOrigin:“left top 0“

})

  },

  rotate(){

  this.animation.rotate(150).step().translate(100).step()

  this.setData({

  animation:this.animation.export()

  })

  }

})


3、用选择器来绑定组件来来实现组件的动画(小程序2.9.0 的库可用,版本不够会报this.animate不是一个方法)

《text》pages/index7/index7.wxml《/text》

《view id=“container“ style=“height: 100px; width: 100px; background-color: blue;“》

  container

《/view》

《view class=“block“ style=“height: 100px; width: 100px;background-color: #ccc;“》

  block

《/view》

用选择器选择相应的组件进行相应的动画
进行关键帧的处理

onLoad: function () {

    this.animate(’#container’, [

      { opacity: 1.0, rotate: 0, backgroundColor: ’#FF0000’ },

      { opacity: 0.5, rotate: 45, backgroundColor: ’#00FF00’ },

      { opacity: 1.0, rotate: 90, backgroundColor: ’#FF0000’ },

    ], 5000)

    this.animate(’.block’, [

      { scale: , rotate: 0, ease: ’ease-out’ },

      { scale: , rotate: 45, ease: ’ease-in’},

      { scale: , rotate: 90 },

    ], 5000)

  },

 } 


4、用第三方的库 animation.css

需要做的有

从https://daneden.github.io/animate.css/下载css动画文件

把 .css 文件 改名成 .wxss文件(可进行相应的需改,毕竟小程序的大小限制摆在那里)

把它引入到你的app.wxss文件中

@import “动画文件的相对目录”

在用的时候把他和你的样式绑定

《view class=“swing“ style=“height: 100px; width: 100px;background-color: #ccc;“》

block

《/view》

// 给类名为swing 的文件绑定swing 的动画

.swing{

animation: swing 5s infinite;

}

CSS3 的动画的意义何在

让你的页面动画在移动设备上运行更快。这是一个有趣的话题。这也是移动互联网前端工程师关心的问题。

我们都知道JavaScript效率低下的两个主要原因:操作DOM和使用页面动画。浏览器上的动画效果并不比客户端容易。通常情况下,我们会通过频繁的CSS操作来实现视觉动画效果。在DOM和CSS的频繁操作,浏览器将不停止执行重排和重绘,在浏览器的PC版的浏览器,因为可用的内存比较大,用户肉眼是动画网页制作的油漆和回流几乎看不见,所以工程师不用过多考虑性能问题的动画了。但在移动设备上可以有移动设备浏览器的不同分布(内置浏览器)内存不能PC浏览器的内存分配相当的版本,称iPhone Safari的内存只有10M,但一个外国工程师事实上,iPhone 3GS被分配到他旅行的记忆只有6m。

而Android是分配给浏览器的内存更是不确定的,无论是iPhone或Android或WindowPhone上或黑莓,没有官方的文件说,系统自带的浏览器占据了大部分的记忆,所以上述存储器中的数据是不确定的。目前,对CSS3的最佳支持Webkit的浏览器。在WebKit内核浏览器,苹果的Safari和谷歌的Chrome浏览器应该黑莓。

前端工程师知道CSS3提供了大量的新功能,包括二维、三维动画的特点,在这讨论的其他特点,我们讨论了目前的CSS3动画的意义。

使用CSS3动画:不占用js主线程;可以利用硬件加速;浏览器可以优化动画(不是在元素可见的时候,而不是动画,并减少对FPS的影响)。

css3怎么让动画匀速变换 linear

transition-timing-function。和transition动画一样,animation动画也是CSS3动画的一种,这类动画可以理解为是一种关键帧动画,它可以预先为动画设置多个节点,在每个节点中含有不同的状态属性,通过使用animation动画我们可以得到更为复杂的动画效果。

注意:transition是为页面元素设置某个需要产生动画效果的属性,如宽度(width)、高度(height)、透明度(opacity),甚至3D旋转等,并使得这些属性的值在发生变化时产生相应的过渡效果。我们常常在制作类似按钮鼠标经过和移出效果时使用transition。

通俗地说,transition是简化版的CSS3动画,而animation则是强化版的CSS3动画。在日常开发中transition的使用频率更高一些,我们往往只有在遇到transition无法解决的问题时,才会转而使用animation。

CSS3可以在网页中做动画吗

可以的,可以用代码在网页中创建“
补间动画
”,听起来是不是非常神奇?其实并不难,你可以去百度“
秒秒学
”,里面Flash中的
HTML5
开发教程就会交互式的教你,怎么制作图形,并利用图形的
匀速运动
,在网页中制作出“补间动画”的神奇效果。
/table》

css3动画(svg下css定位和添加css3动画之后定位失效问题,解决小红包酬谢)

本文编辑:admin
css3动画 ,cs ,svg

更多文章:


惠普envy13关闭触摸板(惠普envy14装win7 64位后怎么关闭触摸板)

惠普envy13关闭触摸板(惠普envy14装win7 64位后怎么关闭触摸板)

这篇文章给大家聊聊关于惠普envy13关闭触摸板,以及惠普envy14装win7 64位后怎么关闭触摸板对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录惠普envy14装win7 64位后怎么关闭触摸板hp envy怎么设置触

2024年6月6日 10:48

64位宽的gt540m(GT540M性能怎么还不如GT430呢)

64位宽的gt540m(GT540M性能怎么还不如GT430呢)

大家好,如果您还对64位宽的gt540m不太了解,没有关系,今天就由本站为大家分享64位宽的gt540m的知识,包括GT540M性能怎么还不如GT430呢的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录GT540M

2024年2月6日 17:40

戴尔xps13二合一(xps13二合一电源适配器参数)

戴尔xps13二合一(xps13二合一电源适配器参数)

大家好,今天小编来为大家解答以下的问题,关于戴尔xps13二合一,xps13二合一电源适配器参数这个很多人还不知道,现在让我们一起来看看吧!本文目录xps13二合一电源适配器参数xps13打开放不平xps13二合一电源适配器参数处理器型号:

2024年1月12日 21:40

gtx1050ti是几g独显(gtx1050不是2G显存吗,怎么我的显示4g啊)

gtx1050ti是几g独显(gtx1050不是2G显存吗,怎么我的显示4g啊)

本篇文章给大家谈谈gtx1050ti是几g独显,以及gtx1050不是2G显存吗,怎么我的显示4g啊对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录gtx1050不是2G显存吗,怎么我的显示4g啊asus GTX1050TI显

2024年9月5日 07:50

苏州华硕电子厂真实工资(苏州地区打工及待遇如何)

苏州华硕电子厂真实工资(苏州地区打工及待遇如何)

大家好,苏州华硕电子厂真实工资相信很多的网友都不是很明白,包括苏州地区打工及待遇如何也是一样,不过没有关系,接下来就来为大家分享关于苏州华硕电子厂真实工资和苏州地区打工及待遇如何的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开

2024年7月13日 23:33

e7300cpu(e7300配什么主板)

e7300cpu(e7300配什么主板)

本篇文章给大家谈谈e7300cpu,以及e7300配什么主板对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录e7300配什么主板cpu E3

2024年3月7日 16:10

北京苹果笔记本回收(各位朋友,北京西单有到家回收苹果笔记本的吗,我的是MacBook Air,推荐一个可靠的,谢谢啦)

北京苹果笔记本回收(各位朋友,北京西单有到家回收苹果笔记本的吗,我的是MacBook Air,推荐一个可靠的,谢谢啦)

今天给各位分享各位朋友,北京西单有到家回收苹果笔记本的吗,我的是MacBook Air,推荐一个可靠的,谢谢啦的知识,其中也会对各位朋友,北京西单有到家回收苹果笔记本的吗,我的是MacBook Air,推荐一个可靠的,谢谢啦进行解释,如果能

2024年7月15日 01:33

红米笔记本官网(红米笔记本蓝牙怎么打开)

红米笔记本官网(红米笔记本蓝牙怎么打开)

“红米笔记本官网”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看红米笔记本官网(红米笔记本蓝牙怎么打开)!本文目录红米笔记本蓝牙怎么打开红米笔记本没有防伪码吗红米note3怎么安装驱动红米note驱动程序怎么安装红米note

2024年3月8日 18:35

惠普probook4340s(惠普probook4340s windows无法删除密码密码和/或账户策略要求账户必须有一个密码)

惠普probook4340s(惠普probook4340s windows无法删除密码密码和/或账户策略要求账户必须有一个密码)

这篇文章给大家聊聊关于惠普probook4340s,以及惠普probook4340s windows无法删除密码密码和/或账户策略要求账户必须有一个密码对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录惠普probook4340

2024年1月12日 09:00

比较好的杂牌子平板电脑(才子郎平板电脑怎么样好用吗)

比较好的杂牌子平板电脑(才子郎平板电脑怎么样好用吗)

其实比较好的杂牌子平板电脑的问题并不复杂,但是又很多的朋友都不太了解才子郎平板电脑怎么样好用吗,因此呢,今天小编就来为大家分享比较好的杂牌子平板电脑的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录才子郎平板电脑怎

2024年7月18日 23:00

win10桌面闪烁不停闪(win10桌面图标闪烁不停)

win10桌面闪烁不停闪(win10桌面图标闪烁不停)

其实win10桌面闪烁不停闪的问题并不复杂,但是又很多的朋友都不太了解win10桌面图标闪烁不停,因此呢,今天小编就来为大家分享win10桌面闪烁不停闪的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录win10桌

2024年1月6日 22:00

三星台式电脑怎么连接wifi(三星电脑怎么连接wifi)

三星台式电脑怎么连接wifi(三星电脑怎么连接wifi)

本篇文章给大家谈谈三星台式电脑怎么连接wifi,以及三星电脑怎么连接wifi对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录三星电脑怎么连接

2024年7月13日 22:46

联想g480笔记本摄像头(联想G480装摄像头驱动了,从电脑那里还是没看见摄像头显示)

联想g480笔记本摄像头(联想G480装摄像头驱动了,从电脑那里还是没看见摄像头显示)

“联想g480笔记本摄像头”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看联想g480笔记本摄像头(联想G480装摄像头驱动了,从电脑那里还是没看见摄像头显示)!本文目录联想G480装摄像头驱动了,从电脑那里还是没看见摄像头

2024年7月18日 07:24

thinkpad上门售后服务(联想thinkpad系列笔记本是上门维修的吗)

thinkpad上门售后服务(联想thinkpad系列笔记本是上门维修的吗)

其实thinkpad上门售后服务的问题并不复杂,但是又很多的朋友都不太了解联想thinkpad系列笔记本是上门维修的吗,因此呢,今天小编就来为大家分享thinkpad上门售后服务的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分

2024年3月8日 01:45

笔记本散热器用了还是热(散热器正常运转感觉笔记本还是很烫是怎么回事)

笔记本散热器用了还是热(散热器正常运转感觉笔记本还是很烫是怎么回事)

大家好,关于笔记本散热器用了还是热很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于散热器正常运转感觉笔记本还是很烫是怎么回事的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各

2024年7月15日 16:11

租电脑笔记本(请问笔记本电脑也可以租吗)

租电脑笔记本(请问笔记本电脑也可以租吗)

这篇文章给大家聊聊关于租电脑笔记本,以及请问笔记本电脑也可以租吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录请问笔记本电脑也可以租吗哪里能租笔记本电脑请问笔记本电脑也可以租吗可以的。IT租赁其实并不是陌生的名词,除了电脑、

2024年7月16日 06:00

宏基笔记本触摸板没反应(宏碁笔记本的鼠标触摸板失灵没有反应是怎么回事)

宏基笔记本触摸板没反应(宏碁笔记本的鼠标触摸板失灵没有反应是怎么回事)

大家好,宏基笔记本触摸板没反应相信很多的网友都不是很明白,包括宏碁笔记本的鼠标触摸板失灵没有反应是怎么回事也是一样,不过没有关系,接下来就来为大家分享关于宏基笔记本触摸板没反应和宏碁笔记本的鼠标触摸板失灵没有反应是怎么回事的一些知识点,大家

2024年1月1日 10:20

k900联想手机白色(联想k900屏幕出现白色坚,道在流览网页时)

k900联想手机白色(联想k900屏幕出现白色坚,道在流览网页时)

其实k900联想手机白色的问题并不复杂,但是又很多的朋友都不太了解联想k900屏幕出现白色坚,道在流览网页时,因此呢,今天小编就来为大家分享k900联想手机白色的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录联想

2024年9月4日 15:00

联想g450内存能8g吗(G450,系统查询主板最大支持物理内存4G,可是百度了主板型号,说最大可支持8G内存)

联想g450内存能8g吗(G450,系统查询主板最大支持物理内存4G,可是百度了主板型号,说最大可支持8G内存)

各位老铁们好,相信很多人对联想g450内存能8g吗都不是特别的了解,因此呢,今天就来为大家分享下关于联想g450内存能8g吗以及G450,系统查询主板最大支持物理内存4G,可是百度了主板型号,说最大可支持8G内存的问题知识,还望可以帮助大家

2024年6月6日 09:44

联想金牌代理(联想广州金牌代理名单)

联想金牌代理(联想广州金牌代理名单)

大家好,联想金牌代理相信很多的网友都不是很明白,包括联想广州金牌代理名单也是一样,不过没有关系,接下来就来为大家分享关于联想金牌代理和联想广州金牌代理名单的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录联想广州金

2024年2月10日 04:20

近期文章

本站热文

4008827777转人工客服(4008827777饿了么怎么转人工电话)
2024-07-23 14:41:37 浏览:503
标签列表

热门搜索