过渡的区别:缩放 VS 过渡:转换 VS 过渡:全部

Difference between transition: scale VS transition: transform VS transition: all

提问人:backtosqaure1 提问时间:8/28/2023 最后编辑:backtosqaure1 更新时间:8/28/2023 访问量:72

问:

我在 CSS 中应用了多个转换函数 - scale() 和 translate() - 并且想仅将过渡应用于 scale 属性,所以我尝试了下面的代码块:

input:focus + label, input:not(:placeholder-shown)  + label {
  transform: scale(0.8) translate(3px, -6px);
  transition: scale 0.2s ease-in;
}

但是,这没有任何影响。当我尝试以下方法时,我能够达到我想要的效果

input:focus + label, input:not(:placeholder-shown)  + label {
  transform: scale(0.8) translate(3px, -6px);
  transition: transform 0.2s ease-in;
}

我没有得到,因为没有选择所有属性 - 缩放和转换?transition: transform 0.2s ease-in

当我尝试时,这与我预期的效果不同。transition: all 0.2s ease-intransition: transform 0.2s ease-in

简而言之,有人可以帮我了解VS VS之间的区别吗?transition: **scale** 0.2s ease-intransition: **transform** 0.2s ease-intransition: **all** 0.2s ease-in

非常感谢您花时间和精力回答

css -过渡 css-transforms

评论

1赞 Hao Wu 8/28/2023
scale CSS 属性允许您单独指定缩放转换,并且独立于 transform 属性。它们是两个不同的属性。

答:

0赞 Kaki In 8/28/2023 #1

transition 中给出的单词定义了将随转换而变化的属性。

scale不是一个属性(它是 的值),所以什么也没发生transform

transform是一个属性,因此将应用在其中定义的所有修改( 和scaletranslate)

all表示转换将应用于所有已更改的属性。

我不确定“财产”这个词是否准确,但我想你已经明白了我在说什么。

评论

0赞 backtosqaure1 8/28/2023
意义。如果我想将过渡应用于仅缩放,我该怎么办?
0赞 Kaki In 8/28/2023
每个示例,您可以将一个类用于音阶,另一个类用于翻译。
0赞 backtosqaure1 8/29/2023
不太确定你说的“一类”是什么意思。
0赞 Kaki In 8/29/2023
当你创建你的元素时,你可以添加类:,每个例子,将添加两个类,一个名为“link”,第二个名为“login-link”。然后,您可以使用这样的样式表规则:如果您希望所有链接都为红色,并且所有登录链接都为蓝色背景。在您的示例中,您可以使用其中一个类来应用平移(无过渡),并使用另一个类来应用比例(过渡),仅将过渡添加到最后一个类。(我会说“添加一个类”而忘记了“添加”,对不起)<a class="link login-link">Log in</a>.link { color: red } .login-link { background: blue }
0赞 Kaki In 8/29/2023
如上@HaoWu所述,您还可以使用该属性,它似乎比我的解决方案更适应和更简单。scale