一起领略css3动画的强大

丰富的线上&线下活动,深入探索云世界

做任务,得社区积分和周边

最真实的开发者用云体验

让每位学生受益于普惠算力

让创作激发创新

资深技术专家手把手带教

遇见技术追梦人

技术交流,直击现场

海量开发者使用工具、手册,免费下载

极速、全面、稳定、安全的开源镜像

开发手册、白皮书、案例集等实战精华

为开发者定制的Chrome浏览器插件

在CSS中创建简单的过渡效果可以从以下几个步骤来实现:

3.在默认样式中通过添加过渡函数添加一些不同的样式

语法:

transition:[<'transition-property'>||<'transition-duration'>||<'transition-timing-function'>||<'transition-delay'>[,[<'transition-property'>||<'transition-duration'>||<'transition-timing-function'>||<'transition-delay'>]]transition主要包含四个属性值:

transition-property用来指定过渡动画的CSS属性名称,而这个过渡属性只有具备一个中点值的属性(需要产生动画的属性)才能具备过渡效果

transition-property:none|all|[][',']transition-property是用来指定当元素其中一个属性改变时执行transition效果,其主要有以下几个值:none(没有属性改变),all(所有属性改变)这个也是其默认值,indent(元素属性名);当其值为none时transition马上停止执行,当指定为all时则元素产生任何属性值变化时都将执行transition效果,ident是可以指定元素的某一个属性值;其对应的属性如下:

|background-color|background-position|border-bottom/left/top/right-color|border-bottom/left/top/right-width|border-spacing|bottom/left/top/right|clip|color|font-size|font-weight|height|letter-spacing|line-height|margin-bottom/left/top/right|max/min-height/width|opacity|outline-color|outline-width|padding-bottom/left/top/right|text-indent|text-shadow|vertical-align|visibility|width|word-spacing|z-index|

用一个简单的例子来说明all:

假设初始状态设置了样式width/height/background,当你在终始状态都改变了这三个属性,那么all代表的就是width/height/background,如果你的终始状态只改变了width/height,那么all代表的就是width/height

transition-timing-function属性指的是过渡的"缓动函数",主要用来指定浏览器的过渡速度,以及过渡期间的操作进展情况,其中要包括以下几种函数:

steps([,start|end]):用来指定间隔个数(该值只能是正整数)

第二个参数:该参数可选,默认是end,表示开始值保持一次;若参数为start,表示开始不保持

举例:

transition-delay语法:

a{-moz-transition:all0.5sease-in;-webkit-transition:all0.5sease-in;-o-transition:all0.5sease-in;transition:all0.5sease-in;}综合上述我们可以给transition一个速记法:transition:,相对应的一个示例代码

p{-webkit-transition:all.5sease-in-out1s;//Webkit内核-o-transition:all.5sease-in-out1s;//Opera-moz-transition:all.5sease-in-out1s;//Mozilla内核transition:all.5sease-in-out1s;//W3C标准}浏览器的兼容性为了避免兼容性,在应用transition时我们有必要加上各自的前缀,最好再放上我们W3C的标准写法,这样只要浏览器支持我们的transition属性,那么这种效果就会自动加上去

Transform字面上就是变形/改变的意思,在CSS3中transform属性实现了一些可用SVG实现的功能,它可用于内联(inline)元素和块级(block)元素;transform主要包括以下几种:旋转rotate/扭曲skew/缩放scale/移动translate/矩阵变形matrix;下面我们一起来看看CSS3中transform的各个动画具体如何实现

transform:none|[]也就是:transform:rotate|scale|skew|translate|matrix;none表示不进行变换;表示一个或多个变换函数,以空格分开,即我们同时对一个元素进行transform的多种属性操作,例如rotate/scale/translate三种,但以往我们叠加效果都是用逗号(,)隔开,但transform中使用多个属性时却需要有空格隔开

rotate():通过指定的角度参数对原元素指定一个2Drotation(2D旋转),需先有transform-origin属性的定义;transform-origin定义的是旋转的基点,其中angle是指旋转角度,如果设置的值为正数表示顺时针旋转,如果设置的值为负数则表示逆时针旋转;如:transform:rotate(30deg)

移动translate移动translate我们分为三种情况:translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动);translateX(x)仅水平方向移动(X轴移动);translateY(Y)仅垂直方向移动(Y轴移动)

通过矢量[tx,ty]指定一个2Dtranslation,tx是第一个过渡值参数,ty是第二个过渡值参数选项;如果未被提供,则ty以0作为其值,也就是translate(x,y):表示对象按照设定的x,y参数值进行平移,当值为负数时反方向移动物体,其基点默认为元素中心点,也可以根据transform-origin进行改变基点;如transform:translate(100px,20px)

translateX()通过给定一个X方向上的数值指定一个translation,只向x轴进行移动元素,同样其基点是元素中心点,也可以根据transform-origin改变基点位置;如:transform:translateX(100px)

通过给定Y方向的数目指定一个translation,只向Y轴进行移动,基点在元素心点,可以通过transform-origin改变基点位置;如:transform:translateY(20px)

缩放scale和移动translate极其相似,他也具有三种情况:scale(x,y):使元素水平方向和垂直方向同时缩放(也就是X轴和Y轴同时缩放),scaleX(x):元素仅水平方向缩放(X轴缩放),scaleY(y):元素仅垂直方向缩放(Y轴缩放),但它们具有相同的缩放中心点和基数,其中心点就是元素的中心位置,缩放基数为1,如果其值大于1元素就放大,反之其值小于1元素缩小

提供执行[sx,sy]缩放矢量的两个参数指定一个2Dscale(2D缩放);如果第二个参数未提供则取与第一个参数一样的值,scale(X,Y)是用于对元素进行缩放,可以通过transform-origin对元素的基点进行设置,同样基点在元素中心位置;其中X表示水平方向缩放的倍数,Y表示垂直方向的缩放倍数,而Y是一个可选参数,如果没有设置Y值则表示X/Y两个方向的缩放倍数是一样的,并以X为准;如:transform:scale(2,1.5)

scaleX()使用[sx,1]缩放矢量执行缩放操作,sx为所需参数;scaleX表示元素只在X轴(水平方向)缩放元素,他的默认值是(1,1),其基点一样是在元素的中心位置,我们同样是通过transform-origin来改变元素的基点;如:transform:scaleX(2)

使用[1,sy]缩放矢量执行缩放操作,sy为所需参数;scaleY表示元素只在Y轴(垂直方向)缩放元素,其基点同样是在元素中心位置,可以通过transform-origin来改变元素的基点;如:transform:scaleY(2)

扭曲skew和translate/scale一样同样具有三种情况:skew(x,y)使元素在水平和垂直方向同时扭曲(X轴和Y轴同时按一定的角度值进行扭曲变形),skewX(x)仅使元素在水平方向扭曲变形(X轴扭曲变形),skewY(y)仅使元素在垂直方向扭曲变形(Y轴扭曲变形)

X轴Y轴上的skewtransformation(斜切变换);第一个参数对应X轴,第二个参数对应Y轴;如果第二个参数未提供,则值为0,也就是Y轴方向上无斜切;skew是用来对元素进行扭曲变形,第一个参数是水平方向扭曲角度,第二个参数是垂直方向扭曲角度;其中第二个参数是可选参数,如果没有设置第二个参数,那么Y轴为0deg;同样是以元素中心为基点,我们也可以通过transform-origin来改变元素的基点位置;如:transform:skew(30deg,10deg)

skewX()按给定的角度沿X轴指定一个skewtransformation(斜切变换);skewX是使元素以其中心为基点,并在水平方向(X轴)进行扭曲变形,同样可以通过transform-origin来改变元素的基点;如:transform:skewX(30deg)

matrix(,,,,,):以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[abcdef]变换矩阵;就是基于水平方向(X轴)和垂直方向(Y轴)重新定位元素;此属性值使用涉及到数学中的矩阵,在这里只是简单的说一下CSS3中的transform有这么一个属性值,如果有感兴趣的朋友可以去了解更深层次的martix使用方法

前面我们多次提到transform-origin这个东东,他的主要作用就是让我们在进行transform动作之前可以改变元素的基点位置,因为我们元素默认基点就是其中心位置;换句话说我们没有使用transform-origin改变元素基点位置的情况下,transform进行的rotate/translate/scale/skew/matrix等操作都是以元素自己中心位置进行变化的,但有时候我们需要在不同的位置对元素进行这些操作,那么我们就可以使用transform-origin使元素基点不在是中心位置,以达到你需要的基点位置;下面我们主要来看看其使用规则

transform-origin(X,Y):用来设置元素的运动的基点(参照点),默认点是元素的中心点,其中X和Y的值可以是百分值/em/px,其中X也可以是字符参数值left/center/right,Y和X一样除了百分值外还可以设置字符值top/center/bottom,这个看上去有点像我们background-position设置一样,下面我列出他们相对应的写法:

其中left/center/right是水平方向取值,对应的百分值为left=0%/center=50%/right=100%,而top/center/bottom是垂直方向的取值,其中top=0%/center=50%/bottom=100%;如果只取一个值,表示垂直方向值不变

更多改变中心基点的办法,大家可以在本地多体会,这里还要提醒的是:transform-origin并不是transform中的属性值,他具有自己的语法,而且transform-origin跟其他的css3属性一样需要在不同的浏览内核中加上相应的前缀,下面列出各种浏览器内核下的语法规则:

-moz-transform-origin:xy;//Mozilla内核浏览器:firefox3.5+-webkit-transform-origin:xy;//Webkit内核浏览器:SafariandChrome-o-transform-origin:xy;//Opera-ms-transform-origin:xy;//IE9transform-origin:xy;//W3C标准transform在不同浏览器内核下的书写规则

-moz-transform:rotate|scale|skew|translate;//Mozilla内核浏览器:firefox3.5+-webkit-transform:rotate|scale|skew|translate;//Webkit内核浏览器:SafariandChrome-o-transform:rotate|scale|skew|translate;//Opera-ms-transform:rotate|scale|skew|translate;//IE9transform:rotate|scale|skew|translate;//W3C标准同样的transform在IE9下版本是无法兼容的

举个同时使用多个属性的例子

#current{width:200px;height:100px;color:white;background-color:#3EDFF4;text-align:center;transition:1s;}#current:hover{transform:scale(0.5,1)rotate(30deg);}Animation我们一起学习完了Transform和Transition,让我们对元素实现了一些基本的动画效果,这些我想足以让大家激动了一阵子,现在我们趁着这个热劲继续第三个动画属性Animation的学习;单从Animation字面上的意思,我们就知道是"动画",但CSS3中的Animation与HTML5中的Canvas绘制动画又不同,Animation只应用在页面上已存在的DOM元素上,而且他跟Flash/JavaScript/jQuery制作出来的动画效果又不一样,因为我们使用CSS3的Animation制作动画可以省去复杂的js/jquery代码

Keyframes语法

@keyframesIDENT{from{Properties:Propertiesvalue;}Percentage{Properties:Propertiesvalue;}to{Properties:Propertiesvalue;}}或者全部写成百分比的形式:@keyframesIDENT{0%{Properties:Propertiesvalue;}Percentage{Properties:Propertiesvalue;}100%{Properties:Propertiesvalue;}}其中IDENT是一个动画名称,可以随便取,当然语义化一点更好;Percentage是百分比值,我们可以添加许多个这样的百分比,Properties为css的属性名,比如说left/background等,value就是相对应的属性的属性值

@keyframes'wobble'{0%{margin-left:100px;background:green;}40%{margin-left:150px;background:orange;}60%{margin-left:75px;background:blue;}100%{margin-left:100px;background:red;}}@-webkit-keyframes'wobble'{0%{margin-left:100px;background:green;}40%{margin-left:150px;background:orange;}60%{margin-left:75px;background:blue;}100%{margin-left:100px;background:red;}}这里我们定义了一个叫"wobble"的动画,从0%开始到100%时结束,从中还经历了一个40%和60%两个过程,上面代码具体意思是:wobble动画在0%时元素定位到left为100px的位置背景色为green,然后40%时元素过渡到left为150px的位置并且背景色为orange,60%时元素过渡到left为75px的位置背景色为blue,最后100%结束动画的位置元素又回到起点left为100px处背景色变成red

Keyframes定义好后,我们需要怎么去调用刚才定义好的动画"wobble"

animation-name:none/IDENTIDENT是由@keyframes创建的动画名,我们可以同时附几个animation给一个元素,只需要用逗号隔开;none为默认值,当值为none时将没有任何动画效果,这可以用于覆盖任何动画

注意:需要在Chrome和Safari上面的基础上加上-webkit-前缀,Firefox加上-moz-

animation-duration:

animation-timing-function:ease|linear|ease-in|ease-out|ease-in-out|cubic-bezier(,,,)它和transition中的transition-timing-function一样,具有以下几种变换方式:ease,ease-in,ease-in-out,ease-out,linear和cubic-bezier

HoverMe
animation-iteration-count-定义动画的播放次数animation-iteration-count:infinite|其值通常为整数,但也可以使用带有小数的数字,其默认值为1,意味着动画将从开始到结束只播放一次;如果取值为infinite,动画将会无限次的播放

注意:Chrome或Safari浏览器,需要加入-webkit-前缀

animation-direction:normal|alternate其主要有两个值:normal/alternate;如果设置为normal(默认值),动画的每次循环都是向前播放;另一个值是alternate,它的作用是动画播放在第偶数次向前播放,第奇数次向反方向播放

animation-play-state:running|paused其参数主要有两个值:running和paused,主要作用就是类似于音乐播放器一样;通过paused将正在播放的动画停下来,也可以通过running(默认值)将暂停的动画重新播放;这里的重新播放不一定是从元素动画的开始播放,而是从暂停的那个位置开始播放;另外如果暂停了动画的播放,元素的样式将回到最原始设置状态;例如:页面加载时动画不播放,代码如下:

默认情况下,动画不会影响它关键帧之外的属性,使用animation-fill-mode属性可以修改动画的默认行为;简单的说就是告诉动画在第一关键帧上等待动画开始,或者在动画结束时停在最后一个关键帧上而不回到动画的第一帧上,或者同时具有这两个效果

THE END
1.translate造句好工具造句栏目为您提供2024年的translate的造句相关内容,本栏目原创编辑和精选收集了29条translate的造句一二年级例句供您参考,同时也为您推荐了translate的解释(永远地;无例外地)、近反义词和组词。 1、A translator who uses an HTML editor and a word processor has totranslatetwice—once for each tool.(使用...https://m.hao86.com/zaoju_view_9ba0b443ac9ba0b4/
2.拉丁语翻译器有哪些?一分钟快速分享其他实例文章拉丁语是古罗马帝国的官方语言,曾经在欧洲广泛使用。虽然现在很少有人用拉丁语作为日常语言,但它仍然在学术、法律和文学领域有重要作用。为了帮助您更好地理解和使用拉丁语,我们将介绍一些流行的拉丁语翻译器。 **1. Google Translate** Google Translate 是一个非常流行的翻译器,支持超过100种语言,包括拉丁语。它可...http://www.shili8.cn/article/detail_20002674874.html
3.translateY()<变形<属性参考<CSS样式[HTML5知典]translateX(50px); } 50% { transform-origin:bottom; transform:translateX(50px) rotateX(-180deg); } 50.001% { transform-origin:left; transform:translateX(50px) translateY(50px); } 75% { transform-origin:left; transform:translateX(50px) translateY(50px) rotateY(180deg); } 75.001% {...http://zhidian.wuute.com/html5dev/doku.php/26/86/68/translatey
4.CSS3transform:translateX/Y平移效果该属于用于设置区块实现平移效果。 <!-- translate(100px, 50px) | 参数一代表水平方向, 参数二代表垂直方向,负数代表反方向 --><!-- 平移的效果类似定位,不像 margin 那样会挤兑周边元素 --><!-- translateX(100px) 单独的设置水平方向平移 | translateY(50px) 单独的设置垂直方向平移 -->...https://www.jmjc.tech/t-1/356
5.translateY()CSS属性参考jQuery之家CSS translateY()函数用于在二维空间中沿Y轴移动一个元素。 translateY()函数的语法如下: transform: translateY( tx ); translateY()函数用于将元素沿Y轴方向移动。ty使用<length>或<percentage>值。 正数值表示元素沿Y轴的正方向移动,负数值表示元素沿Y轴的负方向移动。 下面是一些示例代码: transform: ...http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/translateY.html
6.CSS2D转换translateX(n) 定义2D 转换,沿着 X 轴移动元素。 translateY(n) 定义2D 转换,沿着 Y 轴移动元素。 scale(x,y) 定义2D 缩放转换,改变元素的宽度和高度。 scaleX(n) 定义2D 缩放转换,改变元素的宽度。 scaleY(n) 定义2D 缩放转换,改变元素的高度。 rotate(angle) 定义2D 旋转,在参数中规定角度。 skew(x...https://www.w3school.com.cn/css3/css3_2dtransform.asp
7.canvasskewX <number> 水平倾斜 skewY <number> 垂直倾斜 scaleY <number> 垂直缩放 translateX <number> 水平移动 translateY <number> 垂直移动 CanvasRenderingContext2D.transform() 使用矩阵多次叠加当前变换 语法 ctx.transform(scaleX, skewX, skewY, scaleY, translateX, translateY); ...https://doc.quickapp.cn/widgets/canvas.html
1.TranslateDefinition&MeaningMerriambelieves that tax cuts will translate into economic growthtranslatability (?)tran(t)s-?lā-t?-?bi-l?-tē (?)tranz- noun The translatability of other native two-dimensional designs into the commercial medium of silk screens, however, may not be so clearcut. Margaret B....https://www.merriam-webster.com/dictionary/translatable/
2.translateY()浏览器兼容性 Specification CSS Transforms Module Level 1 #funcdef-transform-translatey Report problems with this compatibility data on GitHub desktopmobile Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS...https://developer.mozilla.org/zh-CN/docs/Web/CSS/transform-function/translateY
3....2D变形transform,移动translate,缩放scale,旋转rotate,变形原...transform: translateX(100px); x轴向右移动 transform: translateY(100px); y轴向下移动 transform: translateX(100px) translateY(200px); x轴向右移动, y轴向下移动 缩放scale 1. 默认值是1 , 小于1的值就是缩小, 大于1的值就是放大 2. eg : scale(2)就是将宽和高都放大2倍 ...https://blog.csdn.net/qq_60839348/article/details/128107140
4.在线翻译助力语言交流革新,全球化语境下的翻译与沟通之道摘要:随着全球化的推进,语言交流日益重要。句子翻译在线翻译工具的出现,极大促进了全球化语境下的语言交流革新。这些工具使得人们能够便捷地进行跨语言沟通,打破语言壁垒,推动世界范围内的信息流通和共享。这也对语言技能的培养提出了新的挑战。人们需要适应新的语境和技术,不断提升语言能力,以应对日益激烈的国际竞争。 http://hljldds.cn/post/536.html
5.分享一个Excel表格翻译方法,如何一键翻译实现不同语言间的转换2.=GoogleTranslateByServer(text, [from_lanaguage], [to_lanaguage])(适合大数据量翻译) 示例如下图: 输入公式然后选择需要翻译的文本框,en表示英文,即文本框内容的语言,zh-CN表示中文,即要把内容翻译为中文,翻译成功就可以下拉批量翻译啦。 这个公式支持多国语言相互翻译,只需要把公式中,待翻译语言和目标翻译...https://blog.51cto.com/u_17062428/12589854
6.translateY()CSS官方教程translateY() The translateY() CSS function moves the element vertically on the plane. This transformation is characterized by a <length&g CSS官方教程,w3cschool。https://www.w3cschool.cn/doc_css/css-transform-function-translatey.html
7.Translate(JavaFX8)public classTranslateextendsTransform This class represents anAffineobject that translates coordinates by the specified factors. The matrix representing the translating transformation is as follows: [ 1 0 0 x ] [ 0 1 0 y ] [ 0 0 1 z ] ...https://docs.oracle.com/javase/8/javafx/api/javafx/scene/transform/Translate.html
8.微信小程序transform:translateY的理解用于2d平移的变换函数,其将y轴上的元素移动给定值。请注意,y轴垂直向下增加:正长度向下移动元素,而负长度向上移动元素。 translateY(<translation-value>) 横跨y轴平移的值。可以是长度或百分比值。 例子 该示例显示了三个div元素,这些元素使用translateY()函数单独转换。 https://www.jianshu.com/p/d17bcbfba923
9.2D变形CSS3transform2D变形CSS3 transform---移动 translate(x, y), 缩放 scale(x, y), 旋转 rotate(deg), transform-origin, 倾斜 skew(deg, deg) transform是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、倾斜、缩放,甚至支持矩阵方式,配合过渡和即将学习的动画知识,可以取代大量之前只能靠Flash才可以实现的效果。 https://www.west.cn/info/html/wangyezhizuo/css/20191114/4662528.html
10.Translatetranslate-x-0transform:translateX(0px); translate-y-0transform:translateY(0px); translate-x-pxtransform:translateX(1px); translate-y-pxtransform:translateY(1px); translate-x-0.5transform:translateX(0.125rem); translate-y-0.5transform:translateY(0.125rem); ...https://tailwindcss.com/docs/translate
11.前端学习(18)~css3属性学习(十一):动画详解参数解释: x:表示水平方向的缩放倍数。y:表示垂直方向的缩放倍数。如果只写一个值就是等比例缩放。 取值:大于1表示放大,小于1表示缩小。不能为百分比。 代码语言:javascript 复制 <!DOCTYPEhtml>.box{width:1000px;margin:100px auto;}.box div{width:300px;height:150px;background-color:pink;float:left;...https://cloud.tencent.com/developer/article/1600876
12.CSS2DTransformsThe identity functions are translate(0), translateX(0), translateY(0), scale(1), scaleX(1), scaleY(1), rotate(0), skewX(0), skewY(0) and matrix(1, 0, 0, 1, 0, 0). If both the ‘from’ and ‘to’ transforms have the same number of transform functions and corresponding fu...https://www.w3.org/TR/2011/WD-css3-2d-transforms-20111215/
13.GitHubThe translateY performance for this technique is much better than the one we saw for technique 1 (background-position) but we're still seeing spikes of slow rendering. We need to take this to the next level. Technique 3: Asparagus We could settle for the other techniques but Asparagus is...https://github.com/Form5/parallax
14.Google翻译Google 免费提供的这项服务可在简体中文和其他 100 多种语言之间即时翻译字词、短语和网页。https://translate.google.com/
15.转换transform·Web前端编程笔记·看云translateX(x) 定义3D 转化**,**仅使用用于 X 轴的值。 translateY(y) 定义3D 转化**,**仅使用用于 Y 轴的值。 translateZ(z) 定义3D 转化**,**仅使用用于 Z 轴的值。 scale3d(x**,y,**z) 定义3D 缩放转换。 scaleX(x) 定义3D 缩放转换**,**通过给定一个 X 轴的值。 scaleY(y) 定义...https://www.kancloud.cn/idos/vue2/1034259
16.CSS3transform属性使用方法及示例translateX(tx)沿X轴将元素移动给定的数量。 translateY(ty)沿Y轴将元素移动给定的数量。 translateZ(tz)沿Z轴将元素移动给定的数量。 rotate(a)根据transform-origin属性定义,以指定的角度围绕元素的原点旋转元素。 rotate3d(x,y,z,?a)围绕[x,y,z]方向向量,按最后一个参数中指定的角度旋转3D空间中的元素...https://www.cainiaojc.com/css-reference/css3-transform-property.html