首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将不同的动画应用于具有SASS类的元素

将不同的动画应用于具有SASS类的元素
EN

Stack Overflow用户
提问于 2018-10-03 05:18:26
回答 2查看 171关注 0票数 1

想象一下以下HTML结构:

代码语言:javascript
复制
<div class="myClass" />
<div class="myClass" />
<div class="myClass" />

那些div代表一个对象,它具有这样的SASS:

代码语言:javascript
复制
.myClass {
  position: absolute;
  animation: shake 5s infinite;
  animation-timing-function: linear;
}

现在,我希望它们都能实现shake动画,但是以一种不同的方式--首先,div向左/右移动,其次移动上/下等--通常它们都应该有相同的动画,只需稍作调整。

我已经到了使用SASS的@for制作3种不同动画的地步,但这并不能解决我的问题,因为编译后,所有具有相同类的元素都会得到相同的动画。

示例:我正在生成3种不同的shake-1shake-2shake-3动画,即使我制作了SASS函数,其中只有一个应用于所有具有相同类的html元素。

对如何处理这件事有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-03 05:27:40

你可以这样做..。

代码语言:javascript
复制
<div class="myClass" />
<div class="myClass" />
<div class="myClass" />

.myClass:first-child {
  position: absolute;
  animation: shake-1 5s infinite;
  animation-timing-function: linear;
}
.myClass:nth-child(2) {
  position: absolute;
  animation: shake-2 5s infinite;
  animation-timing-function: linear;
}
.myClass:nth-child(3) {
  position: absolute;
  animation: shake-3 5s infinite;
  animation-timing-function: linear;
}
票数 2
EN

Stack Overflow用户

发布于 2018-10-03 05:32:23

最好的办法是在每个div中增加一个额外的类。

所以就像:

代码语言:javascript
复制
<div class="myClass shake-lr"></div>
<div class="myClass shake-tb"></div>
<div class="myClass shake-dia"></div>

然后在css/sass中:

代码语言:javascript
复制
.myClass
  position: absolute
  animation-timing-function: linear
.shake-lr 
  animation: shake-1 5s infinite
.shake-tb
  animation: shake-2 5s infinite
// ... and so on
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52620125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档