transform移动_CSS中的变形,移动与过渡

147dbf12bc7b98dc82bebcf02ce20279.png
transform变形
translate移动
transition过渡

1.transform

可以向元素应用2D或3D转换,并且能够对元素进行旋转、缩放、移动、倾斜。只能转换由盒模型定位的元素。如果元素具有display: block,则由盒模型定位元素。

语法:transform: none | transform-functions;
常用值描述
none不进行转换
translate(x,y)2D转换
translate3d(x,y,z)3D转换
translateX(x,y)只改变X轴的值
scale(x,y)2D缩放转换
skew(x-angle,y-angle)3D旋转,在参数中规定角度

302e47142e24ef6a5c970986530a9fbb.png

1ab5fce7a7b593deea12fb58ed435999.png

382499b3e9e6081271471700bf1473a7.png

2.translate

CSS属性translate允许单独声明平移变换,并独立于transform属性。这在一些典型的用户界面上更好用,而且无需在transform 中声明该函数了。

语法:translate: none | translate-functions;
none不应用平移效果
单个长度/百分比值二维平移,与声明了 X 轴和 Y 轴的平移一样,此时省略的第二个值默认为0。等同于在 translate() 函数中指定单个值
两个长度/百分比值二维上分别按照指定X轴和Y轴的值进行的平移。等同于在 translate() 函数中函数指定两个值
三个长度/百分比值分别指定 X 轴、Y 轴、Z 轴的值进行三维平移。等同于translate3d() 函数

db9648979bda5b59451b06972d53188b.png

cf30111764909c8f28b42ca2752b78e9.png

383c83c1b398d46fcbc5d323010cf8d3.png

3.transition

过渡可以为一个元素在不同状态之间切换的时候定义不同的过渡效果。比如在不同的伪元素之间切换,像是:hover,:active或者通过JavaScript实现的状态变化。

语法:transition: <property> <duration> <timing-function> <delay>;
常用值描述
property指定哪个或哪些 CSS 属性用于过渡。只有指定的属性才会在过渡中发生动画,其它属性仍如通常那样瞬间变化。
duration指定过渡的时长。或者为所有属性指定一个值,或者指定多个值,为每个属性指定不同的时长。
timing-function指定一个函数,定义属性值怎么变化。缓动函数Timing functions定义属性如何计算。多数timing functions由四点定义一个bezier 曲线。也可以从Easing Functions Cheat Sheet选择缓动效果。
delay指定延迟,即属性开始变化时与过渡开始发生时之间的时长。

当属性值列表长度不一致时

以transition-property的值列表长度为标准,如果某个属性值列表长度短于它的,则重复其值以长度一致。

82476e3f2aa40dd29f8dfb10406b0905.png

436a4aded7b457326ab4bbd97025d9a9.png
将会像这样处理

如果某个属性的值列表长于transition-property的,将被截短。

96e3c18ea4e7f05c529fb3fd3d387d38.png

9bd7735dfba8cdb5535e6b9422d3be22.png
将会像这样处理

关于过渡的一些例子

在元素上鼠标悬停时与开始动画,4s过渡改变字体大小,2s延迟

cca2fe9ba15c358b55387ebc2741a9ce.png

当鼠标悬停在菜单上时高亮此菜单

515af0045a8bbf16d7666b465c234478.png

8100ecc0280a396ce43abeaa72e3d061.png

f163520929e7c2ac6701a7133c33ded3.png

transition让JavaScript效果更平滑

fb3860b9afd6fe9cf1c615fc9a9b3999.png

7bb170f62bb0f65896b736fc947e4cf8.png
使用 JavaScript 将球移动到一个位置

14e8262d1e17fa7b0d7d47d5ead1af7d.png
使用CSS 来平滑移动,只用简单地添加一个过渡
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值