澳门金莎娱乐手机版 Web前端 但是支持CSS3的,css3中transform注意包括以下几种

但是支持CSS3的,css3中transform注意包括以下几种



了解SVG transform坐标转换

但是支持CSS3的,css3中transform注意包括以下几种。2015/10/11 · HTML5 ·
SVG

原稿出处:
张鑫旭   

css3中变形与动漫(生龙活虎),css3中变形动漫

css3制作动漫的多少个属性:变形(transform卡塔尔(英语:State of Qatar),过渡(transition卡塔尔(قطر‎和动漫片(animation卡塔尔(英语:State of Qatar)。

先是介绍transform变形。

transform拉脱维亚语意思:退换,变形。

css3中transform注意包含以下三种:旋转(rotate卡塔尔(قطر‎,扭曲(skew卡塔尔(英语:State of Qatar),缩放(scale卡塔尔、移动(translate卡塔尔和矩阵变形matrix。

语法:

transform : none | <transform-function> [ <transform-function> ]* 
transform: rotate | scale | skew | translate |matrix;

none就是暗中认可值,不开展变形。

<transform-function>:表示叁个或几个转变函数,以空格分开。就能够同期对一个因素举行transform的两种天性操作,举个例子同期用rotate,scale和translate三种。

rotate(<rotate-angle> [<cx> <cy>])
skewX(<skew-angle>)
skewY(<skew-angle>)
scale(<sx> [<sy>])
translate(<tx> [<ty>])
matrix(<a> <b> <c> <d> <e> <f>)

一、HTML transform和SVG transform

SVG中自带transform属性,没错,是属性,例如:

JavaScript

<svg width=”200″ height=”150″> <rect x=”30″ y=”30″ width=”120″
height=”90″ transform=”rotate(45)”></rect> </svg>

1
2
3
<svg width="200" height="150">
    <rect x="30" y="30" width="120" height="90" transform="rotate(45)"></rect>
</svg>

日常的HTML成分未有transform属性,可是协理CSS3的transform,
好奇的同伙也许会疑窦了,CSS3中的transform变换,跟SVG中的transform是怎么关系呢?

恩,有一些相符于谢霆锋先生和陈冠希之间的涉及,有个别小复杂。

图片 1

OK, 先说说雷同之处吧。
一些主导的转换类型是如出风流倜傥辙的,富含:位移translate, 旋转rotate,
缩放scale, 斜切skew以致向来矩阵matrix.
但只局限于2D范围的更改。SVG仿佛只帮衬二维调换(若有异形,接待指正),且看似translateXrotateX也都以不帮助的。

下边正是不等同的地点了:
1. CSS3 transform诚如用在平时成分上,即使也得以使用在SVG成分上,可是IE浏览器(IE
edge未测验卡塔尔却不帮衬SVG成分;

JavaScript

rect { /* IE说:你那是弄啥来? */ transform:rotate(45deg); }

1
2
3
4
rect {
    /* IE说:你这是弄啥来? */
    transform:rotate(45deg);
}

2. HTML成分的CSS3 transform和SVG的transform坐标系列大有不相同;

平凡我们利用transform其坐标是对峙于当下元素来说的,暗中同意是因素的基本点变换,大家能够由此transform-origin天性退换转换的中央点。而SVG中的transform的坐标转换的是对立于画布的左上角计算的,跟HTML的transform差距非常的大,了解上也愈发勤奋。而本文正是干净理清SVG中的transform到底是怎么专门的职业的。

3. 实际的语法细节相差不小。SVG transform属性语法某个自带偏移。而CSS transform则更是纯粹些。

//zxx: 据说CSS的transform和SVG的transform属性就要联合。

一、旋转rotate

rotate(<angle>卡塔尔国 :通过点名的角度参数对成分钦赐叁个2D
rotation(2D筋不着疼热卡塔尔(英语:State of Qatar),需先有transform-origin质量的定义。

transform-origin定义的是旋转的重头戏,在那之中angle是指选用角度,正顺时针旋转,负逆时针旋转。

图片 2

二、SVG transform translate位移

大家先来看下最简便最核心的translate位移转换,比如,我们偏移(295,115卡塔尔(قطر‎大小的任务,HTML成分的偏移(下图左)和SVG成分的撼动(下图右)就能够不等同。一个是对峙本身的为主点(下图左),三个是SVG的左上角(下图右)。

图片 3

固然如此两个的相持地点不等同,可是,对于只有地位移来说,无论你相对于那多少个点地方,实际偏移的岗位未有不一样的,由此,从表现上讲,两个最终的职位看上去依旧长久以来的。

你能够狠狠位置击这里:HTML translate和SVG
translate比对demo

图片 4

面前我们关系过,SVG元素也能使用CSS3的transform举办变换(非IE浏览器),但是只可以支持2D规模的多少个特性,举例translateX(tx),translateY(ty)以及translate(tx[, ty])translateZ(tz)则并不协助。

即使大家应用SVG成分自带的transform属性进行调换,则仅帮忙translate(tx[ ty])这种用法(缺省级银行使0代替他),当七个参数值的时候,能够使用逗号,还是直接空格分隔,可是不可能包蕴单位,比如上边这种写法直接一命归西:

CSS

transform=”translate(30px 12px)”

1
transform="translate(30px 12px)"

上边这种无单位写法才方可:

CSS

transform=”translate(30 12)” transform=”translate(30, 12)”

1
2
transform="translate(30 12)"        
transform="translate(30, 12)"

另外,和CSS3的transform一样,SVG中的translate运动也是永葆多申明累计的。譬如:

CSS

transform=”translate(30 12) translate(30 12)”

1
transform="translate(30 12) translate(30 12)"

等同于:

CSS

transform=”translate(60 24)”

1
transform="translate(60 24)"

亟待在意的是,俩个translate中间不要混有其余的transform退换。不然,最后的移位就不是大致的相加了。

二、translate平移

translate(卡塔尔函数能够把成分从原先的岗位移动,而不影响在x,y轴上的别样web组件,相同于position:relative。

translate(卡塔尔国分三种状态:

三、SVG transform rotate旋转

下面的运动转换,我们犹如没见到明明的不均等。可是,从这里的旋转换换起头,就能够观察显明的异样了。

上面图示的是基本的45度旋转(来自css-tricks卡塔尔(قطر‎(左HTML成分,右SVG成分卡塔尔国:

图片 5

鉴于SVG成分的私下认可是SVG左上角为主导转移的,因而,矩形旋转的增进率就有了过山车的以为到。

您能够狠狠地点击这里:HTML rotate和SVG
rotate比对demo

图片 6

结果会意识,两个地点不相通了:

CSS transform中的rotate语法相比较一直:rotate(angle),就一个angle参数,表示角度大小,不过必定要有单位,比如deg(度卡塔尔(英语:State of Qatar),
turn(圈卡塔尔(英语:State of Qatar), grad(百分度 –
生机勃勃种角的测量单位,定义为一个圆周角的1/300。常用来建筑或土木工程的角度衡量卡塔尔国,以至能够运用calc()计算,例如:calc(.25turn - 30deg).

然则,SVG中的属性transform旋转就从未有过如此多花头,单位?哦,别逗了,毛线都并未有,直接光秃秃的数值,表示角度deg,例如:

CSS

transform=”rotate(45)”

1
transform="rotate(45)"

切实语法为:rotate(angle[ x y]).
大家只顾到未有,这里有个[ x y][]意味着这些可选参数。也正是说,SVG中的rotate旋转比CSS的rotate多了五个可选参数,那那些可选参数[ x y]意味着什么意思啊?

告知你,是格外实用的东西。用来偏移transform转移宗旨点的。

为啥说那么些管用呢?SVG成分暗许是依附左上角的,可是我们的团团转成分往往都在SVG的中游区域,那时旋转跨度太大,智力商数余额不足的大家就脑补不回复,此时免不了希望得以像CSS的transform转变同样,围绕成分的基本点转换。怎么做?

作者们能够借助CSS3 transform-origin改良SVG成分暗中认可的调换中央点,然后同盟CSS转变。不过,我们前面数十次涉嫌,IE浏览器的SVG成分不识别CSS中的transform.
所以,从包容性上讲,CSS计谋是不可行的。难道就从不此外格局了,有,正是此处的可选参数[ x y],通过对转移中央点的挥动改善,大家也能让SVG成分围绕笔者的为主点旋转了。

据此,上面的demo,大家多少修正下,就会让矩形围绕温馨转悠了,见下:

JavaScript

<rect x=”30″ y=”30″ width=”120″ height=”90″ rx=”10″ ry=”10″
fill=”#a0b3d6″ transform=”rotate(45, 90 75)”></rect> <!–
90 = 30 + 120/2 –> <!– 75 = 30 + 90/2 –>

1
2
3
<rect x="30" y="30" width="120" height="90" rx="10" ry="10" fill="#a0b3d6" transform="rotate(45, 90 75)"></rect>
<!– 90 = 30 + 120/2 –>
<!– 75 = 30 +  90/2 –>

你能够狠狠地点击这里:SVG成分也围绕本人中央点旋转demo

图片 7

运用原理图表示正是下面那样(左HTML旋转,右SVG成分偏移旋转):

图片 5

同样的,rotate旋转能够四个值并存,比如下边包车型客车CSS和attribute用法:

CSS

transform: rotate(45deg) rotate(-45deg); transform=”rotate(45)
rotate(-45)

1
2
transform: rotate(45deg) rotate(-45deg);
transform="rotate(45) rotate(-45)

只是,需求注意的是,SVG属性的transform扬言的骨干转移坐标是无法共享的。

因此,虽然transform="rotate(45, 90 75)"是中央点旋转,不过,后边再增加别的东西,比方:rotate(-45)则偏移值忽视,终中央点照旧SVG的左上角(0,0)位置,好惨!

譬如原本的45度旋转,再加个-45度反向旋转:

XHTML

<rect x=”30″ y=”30″ width=”120″ height=”90″ rx=”10″ ry=”10″
fill=”#a0b3d6″ transform=”rotate(45, 90 75)
rotate(-45)”></rect>

1
<rect x="30" y="30" width="120" height="90" rx="10" ry="10" fill="#a0b3d6" transform="rotate(45, 90 75) rotate(-45)"></rect>

结果地点回去了?才怪呢!图片 9

CSS的是又重返了,但是SVG实在是挂在月宫上了。究其原因是rotate(-45)又是对峙SVG左上角转移的呐!

图片 10

您能够狠狠地点击这里:SVG接二连三旋转demo

就算如此乍看上去,好像SVG的坐标种类有个别蹊跷,不过,实际上,在有一点点须要境况下,SVG这种相通独立的舞狮系统更易于达成部分功力。

举个例子说,大家期望有些SVG成分先以右下角为着力旋转90度,然后再以右上角为中央旋转90度,该怎么管理?

对于SVG transform,我们直接面向需要写数值就足以了。倘若大家的SVG成分的高宽是120*90,
左上角坐标是(30,30卡塔尔国, 则,分明,右下角坐标是(150,120卡塔尔(قطر‎,
右上角坐标是(150,30卡塔尔(قطر‎,于是,大家的transform值就比极粗略:

XHTML

transform=”rotate(90, 150 120) rotate(90 150 30)”

1
transform="rotate(90, 150 120) rotate(90 150 30)"

参见上面包车型地铁暗示图(暗暗提示图的坐标与地方略有出入,但不影响原理暗示):图片 11

但是,假设大家运用从前轻易驾驭的CSS3来兑现,反而就复杂了,因为CSS3中的transform的调换点只可以二次性钦定,假设要贯彻不一样转换点的团团转效果,只可以通过translate再次偏移,举例,完结地方的右下角再右上角90度旋转,则要这么:

CSS

transform-origin: right bottom; /* 或者 100% 100% */ transform:
rotate(90deg) translate(0, -100%) /* 从右下到右上 */ rotate(90deg)
translate(0, 100%);

1
2
3
4
5
6
transform-origin: right bottom; /* 或者 100% 100% */
transform:
  rotate(90deg)
  translate(0, -100%) /* 从右下到右上 */
  rotate(90deg)
  translate(0, 100%);

Gif暗暗表示下正是:图片 12

明朗要麻烦比非常多。可以预知,二种坐标类别还未断然的好坏。

你能够狠狠地方击这里:右下再右上旋转90度demo

图片 13

上海教室为三种转移的终极效果,就算最后的功力是平等的,然则,从明白上来说,那回,是SVG的transform反倒更易于了然。依旧这句话,辩证看难点,所有事无相对。

1、translate(x,y卡塔尔(英语:State of Qatar)水平和垂直方向同临时间活动。

Note:translate移动的基点暗中认可为成分基本点,能够依靠transform-origin改良核心。

要是第2个值没安装,默以为0。

图片 14

四、SVG transform scale缩放

SVG中的缩放的语法就相比单纯了,就scale(sx[, sy])sx意味着横坐标缩放比例,sy意味着纵坐标缩放比例。当中sy是可缺省的,假设缺点和失误,表示使用和sx同样的值,也正是等比例缩放。此中,sxsy多个参数能够逗号分隔,也能够利用空格分隔。这和CSS3中的使用有所分化,两外,SVG transform属性值缩放是不扶助scaleXscaleY那个鬼的。

同等的,CSS调整的transform和SVG成分属性决定的transform的坐标种类是分化等的。四个私下认可成分基本(下图左),三个是SVG画布左上角(下图右),于是(from
css-tricks):图片 15

因而,当我们对SVG成分scale缩放时候,开采地方也许有超乎大家预料,就应当清楚是怎么回事了。

rotate旋转即使也是互不相似坐标,可是其参数自带偏移参数,大家大家移个花接个木,照旧得以博得大家想要的结果。可是,scale缩放这里,将要悲戚超级多了,未有自带偏移参数,于是,当大家要落到实处SVG成分居中缩放的效果,还索要选拔translate手动偏移。

怎么个手动偏移法呢?即便先translate其宗旨点地点到成分的基本坐标地点,然后缩放,然后坐标再反方向过来回去。比方,某元素基本点坐标是(95, 75),
垂直缩放1.5倍的功力则是:

CSS

transform=”translate(95 75) scale(1, 1.5) translate(-95 -75)”

1
transform="translate(95 75) scale(1, 1.5) translate(-95 -75)"

您能够狠狠地方击这里:CSS transform和SVG transform
scale缩放demo

相应的CSS代码就大约多了,直接:

CSS

.scale { transform: scale(1, 1.5); }

1
2
3
.scale {
    transform: scale(1, 1.5);
}

然后最后效果都以均等的:图片 16

应用Gif原理暗中表示如下:

图片 17

2、translateX(x卡塔尔仅水平方向移动。

一定于translate(x,0,卡塔尔国的简写,基点为成分基本点。

图片 18

五、SVG transform skew斜切

先来领会下CSS中的斜切,斜切,倘使单纯切二个大方向,大家得以看做把矩形变成了平行四边形,其总面积不转移。

以纯X轴转变比方,skewX(-45deg)则下边那规范(莲红方块为原始地方):

图片 19

skewX(45deg)则上面那标准:图片 20

对此SVG的skew斜切调换,表现效果原理是同大器晚成的。但是,使用的语法却一定有趣。

在前边的生机勃勃对调换中,举例位移、缩放之类是不帮助translateXscaleX这种CSS不以为奇用法的,不过此地的skew却微微让人漏脯充饥:不援助skew(x[, y])这种语法,而一定要是skewX或者skewY.

别问小编何以?笔者只是大自然的搬运工,作者不临盆语法。

因此,没有:

JavaScript

<del datetime=”2015-10-10T12:49:32+00:00″>transform=”skew(45,
0)”</del>

1
<del datetime="2015-10-10T12:49:32+00:00">transform="skew(45, 0)"</del>

只有:

CSS

transform=”skewX(45)”

1
transform="skewX(45)"

如出生机勃勃辙的,由于调换主题点的歧异,CSS完毕的转移和SVG属性转换往往最后的职位是不近似的:

图片 21

不止如此,假设成分的主导点不是就是SVG的左上角,则skewX(α1) skewX(α2)的终极地方和skewX(α1 + α2)是不雷同的(位移和旋转不会那标准)。

你能够狠狠地方击这里:CSS SVG transform
skew斜切差别及连接斜切差距demo

正如demo所示,CSS的和SVG的岗位差异不小:图片 22

SVG的总是转换和贰回性别变化换的岗位也是不平等的:图片 23

大概有人要难题,为啥总是斜切调换和一遍性别变化换个方式置会不一致等?其实原因超级轻巧,因为斜切的角度和要素偏移大小并不是线性的,举例说,从70到80度和80度到90度之间的活动大小(就算都是10度的变通区间)是名扬天下不是三个档期的顺序的。由此,分开多次老是斜切最后的坐标偏移要比三回性偏移来得小。

聊起底,和缩放相像,你想要让SVG成分中央点斜切,能够先translate偏移,在skew改动。就不另行比方演示了。

3、translateY(y卡塔尔仅垂直方向移动。

相当于translate(0,y卡塔尔国的简写,基点为因素在宗旨。

图片 24

六、别的居中转换处理

像缩放、斜切这个SVG转变,想要如CSS transform-origin:50% 50%风华正茂律的主干点转变效果,供给事情未发生前位移,大家有未有别的方法呢?

此地有八个思路可供大家参谋下。

1. 原本中央岗位乃SVG左上角
拿45度旋转比方,我们得以把成分暗许就放在主旨点和SVG左上角交汇的职位上,参见下边包车型客车gif演示:图片 17

于是乎,我们原先的3步曲就成为了2步曲:

CSS

translate(140 105) rotate(45) translate(-140 -105) → translate(140 105)
rotate(45)

1
translate(140 105) rotate(45) translate(-140 -105) → translate(140 105) rotate(45)

2. 通过viewBox调整
viewBox能够用来改动SVG画布的视区,这么些小编事情发生前特意撰写介绍过,是SVG学习必备被深深领会的幼功知识,参见:“理解SVG的viewport,viewBox,preserveAspectRatio”一文。

我们得以把元素私下认可挂在左上角,然后,通过viewBox做动作,让要素突显之处并不是真的的左上角,例如使用viewBox='-140 -105 280 210',则变化如下暗暗表示图:

图片 26

那会儿,大家只须要让要素旋转就可以了,不要求额外的做translate位移,见下gif:图片 27

三、scale缩放

scale缩放和translate移动十三分肖似,也可能有几种情景。

缩放中央点:即成分的主导岗位

基数:缩放正是既能够缩短,也得以放大;缩放基数为1,大于1松开,小于1裁减。

七、结束语

本文介绍的剧情实在都依然不行基本的。实际SVG应用的时候,大概是多个转移参杂在联合签名,所以,纵然本文介绍的多少个主旨转移都没搞驾驭,届时候,想必是想破脑袋都不亮堂怎么成分跑这里了,怎么成为那样了!

本文的这么些知识点纵然基本,然则一定关键的。再增加,区别的调换方式的语法细节还不均等。有的自带偏移,有的要求手动偏移等等;不一致转换的光景地方不一致,以至同生龙活虎调换分开一而再再而三转换和一回性别变化换的结果都比极小器晚成致等等;都务求我们要细心意志阅读。

正文内容和组织仿照效法自:Transforms on SVG
Elements.
但要比最早的小说要简明超多,同有时常间,每三个退换都有亲身实施注脚,因而,从人格上讲,大概还要略高级中学一年级筹。

对了,矩阵matrix不曾细说过,这些能够参谋小编事前的稿子:“理解CSS3
transform中的Matrix(矩阵)”,一脉相传的。

自个儿也是初大家,出错在所无免,接待指正!

谢谢阅读,招待调换!图片 28

1 赞 收藏
评论

图片 29

1、scale(x,y卡塔尔成分在档案的次序和垂直方向同期缩放。

Note:第四个参数未提供则取与第二个生龙活虎律的值。

图片 30 

2、scaleX(x)x轴缩放。

图片 31

3、scaleY(y)y轴缩放。

图片 32 

scale能够取负值,负值会让要素翻转并缩放。

图片 33<style>
div { width: 100px; height: 100px; border-top: 1px dotted orange;
border-right: 1px solid red; border-bottom: 1px solid pink; border-left:
1px solid green; text-align: center; line-height: 100px; color: red;
font-size: 15px; transform: scale(-1.5); margin: 0 auto; margin-top:
50px; } </style> <div>Scale(-1.5)</div> View Code

图片 34

 

四、skew切变

skew和translate、scale相像有两种景况。

1、skew(x,y卡塔尔:x轴和y轴上的skew transformation(斜切转变)。

即x轴和y轴同不时常候根据一定的角度值实行翻转换形。

譬喻第一个参数未提供,则值为0,约等于y轴无斜切。

图片 35

2、 skewX(x卡塔尔(قطر‎:按给定角度沿x轴内定三个skew transformation(斜切转变)。

图片 36 

3、skewY(y卡塔尔(قطر‎:按给定的角度沿Y轴钦命二个skew transformation(斜切调换)。

图片 37 

五、矩阵matrix

matrix(<number>, <number>, <number>, <number>,
<number>,
<number>卡塔尔(英语:State of Qatar):以贰个含六值的(a,b,c,d,e,f卡塔尔国调换矩阵的款型钦赐一个2D转移,相当于直接行使一个[a,b,c,d,e,f]转换矩阵。就是依靠水平方向和垂直方向重新定位成分。

SVG,css3,html5的canvas中都有矩阵转换,接下去大约说说。

二个要素渲染后就能够得到一张位图,然后对这么些位图上每一点扩充退换,就可以获得新的一张位图,进而发出平移,缩放,旋转,切变及镜像反射灯效果。

1、多少个概念

  • 矩阵乘法中,首先要断定多少个矩阵是不是足以相乘:只有首先个矩阵的列数等于第三个矩阵的行数,那样的八个矩阵才干相乘。
  • 左乘【前乘】:即乘在左边,A左乘E即AE。
  • 一个m*n的矩阵左乘二个n*p的矩阵,将拿到三个m*p的矩阵。

2D矩阵调换都提供6个参数a,b,c,d,e,f,基本公式为:

图片 38

内部,x和y是因素最起始的坐标,x’和y’是矩阵转换后拿走的新坐标。

Note:调换矩阵中a,b,c,d,e,f6个参数是竖着排的。

x'=ax+cy+e
y'=bx+dy+f

2、矩阵调换和transform的关系

a、矩阵和translate平移

x’=ax+ cy+e,我们设a=1,c=0,则x’=x+e,

y’=bx+dy+f,同样设b=0,d=1,则y’=y+f。

这就是translate(e,f)了。

据此说translate(e,f卡塔尔(قطر‎正是简化了的调换矩阵matrix(1,0,0,1,e,f卡塔尔(قطر‎,

(x,y卡塔尔(英语:State of Qatar)平移(tx,ty卡塔尔,就代表做了二个【1 0 0 1 tx,ty】的矩阵转变。

b、矩阵和scale缩放

x’=ax+cy+e,我们设c=0,e=0,则x’=ax,

y’=bx+dy+f,我们设b=0,f=0,则y’=dy。

这就是scale(a,d)了。

进而说scale(a,d卡塔尔便是简化了的转移矩阵matrix(a,0,0,d,0,0卡塔尔。

(x,y卡塔尔(قطر‎缩放(sx,sy),就表示做了三个【sx 0 0 sy 0 0】的矩阵转变。

c、矩阵和rotate旋转

rotate(a deg卡塔尔(قطر‎等价于【cons(a卡塔尔 sin(a卡塔尔国 -sin(a卡塔尔(قطر‎ cons(a卡塔尔 0 0】矩阵转换。

d、矩阵和skew切变

skewX(a deg卡塔尔国等价于【1 0 tan(a卡塔尔(قطر‎ 1 0 0】的矩阵转换。

skewY(a deg卡塔尔等价于【1 tan(a卡塔尔 0 1 0 0】的矩阵转换。

故而说Matrix正是将具有的2D效果总体重新组合在了一块儿行使。

六、transform-origin

前边说了,成分暗中同意的主体是其基本岗位,可用transform-origin改造其主体。

使用:

transform-origin(x,y卡塔尔(قطر‎:用来安装成分的重头戏(参谋点)。暗中认可点是因素的中央点。x,y的值能够是比例,em,px,当中x也足以是left,center,right,y能够是top,center,bottom,那一点和background-position相通。

图片 39 

 

七、能源链接

前端开辟中要求选择的改动矩阵

CSS3:transform与transition背后的数学原理[winter]

CSS3 2D Transform

w3c css3-2d-transforms

w3c RotationDefined

w3 文书档案,关于坐标系以致矩阵转变属性
w3 文书档案,SVG中的3D转移矩阵
w3 文书档案,CSS 3中的3D调换矩阵

Transform-style和Perspective属性

 

正文作者starof,因知识本人在改变,作者也在反复学习成才,小说内容也不安时更新,为制止错误的指导读者,方便追根穷源,请各位转发评释出处:

css3制作动漫的多少个属性:变形(transform卡塔尔(قطر‎,过渡(transition卡塔尔(英语:State of Qatar)和动漫(animation卡塔尔国。
首先介绍transform变形。…

标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图