文本转换为重叠

问题描述 投票:4回答:1

我一直试图让h2元素从h1元素最终位置下降,一旦它完全加载并停止其过渡。我无法实现这一目标,目前h2元素刚刚从h1元素下方淡入。

这是我的code

$('#header').delay(3250).animate({ 'opacity': [1, "linear"] }, 500);
$('#subheader').delay(4000).animate({ 'opacity': [1, "linear"] }, 500);
h1, h2 {
 opacity: 0;
}

/* HEADER TRANSITION */
.moveHeader {
  -webkit-animation: headerMoving 1.5s;
  animation: headerMoving 1.5s;
  animation-fill-mode: forwards;
  animation-delay: 3s;
}

@-webkit-keyframes headerMoving {
  from {
    -webkit-transform: translateY(-30px);
  }

  to {
    -webkit-transform: translateY(0px);
  }
}

@keyframes headerMoving {
  from {
    transform: translateY(-30px);
  }

  to {
    transform: translateY(0px);
  }
}

/* SUBHEADER TRANSITION */
.moveSub {
  -webkit-animation: subMoving 1s;
  animation: subMoving 1s;
  animation-fill-mode: forwards;
  animation-delay: 4s;
}

@-webkit-keyframes subMoving {
  from {
    -webkit-transform: translateY(-10px);
  }

  to {
    -webkit-transform: translateY(0px);
  }
}

@keyframes subMoving {
  from {
    transform: translateY(-10px);
  }

  to {
    transform: translateY(0px);
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1 id="header" class="moveHeader">Header</h1>
<h2 id="subheader" class="moveSub">Subheader</h2>

按下运行时动画开始需要3/4秒。

谢谢!

jquery css
1个回答
3
投票

像这样的东西?您只需要在子标题转换时将translateY的值从-10更改为-50。玩它,看看什么最适合你。

试试看你是否需要它。

$('#header').delay(3250).animate({ 'opacity': [1, "linear"] }, 500);
$('#subheader').delay(4000).animate({ 'opacity': [1, "linear"] }, 500);
h1, h2 {
 opacity: 0;
}

/* HEADER TRANSITION */
.moveHeader {
  -webkit-animation: headerMoving 1.5s;
  animation: headerMoving 1.5s;
  animation-fill-mode: forwards;
  animation-delay: 3s;
}

@-webkit-keyframes headerMoving {
  from {
    -webkit-transform: translateY(-30px);
  }

  to {
    -webkit-transform: translateY(0px);
  }
}

@keyframes headerMoving {
  from {
    transform: translateY(-30px);
  }

  to {
    transform: translateY(0px);
  }
}

/* SUBHEADER TRANSITION */
.moveSub {
  -webkit-animation: subMoving 1s;
  animation: subMoving 1s;
  animation-fill-mode: forwards;
  animation-delay: 4s;
}

@-webkit-keyframes subMoving {
  from {
    -webkit-transform: translateY(-50px);
  }

  to {
    -webkit-transform: translateY(0px);
  }
}

@keyframes subMoving {
  from {
    transform: translateY(-50px);
  }

  to {
    transform: translateY(0px);
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1 id="header" class="moveHeader">Header</h1>
<h2 id="subheader" class="moveSub">Subheader</h2>
© www.soinside.com 2019 - 2024. All rights reserved.