如何使用 CSS3 转换字体样式?

1 css fonts animation keyframe

我有一个单字标题,分为两半,用@keyframe 制作动画并在页面中间相遇。问题:在到达页面中间的适当位置后,我需要两半之一从常规转换为斜体。由于我不打算使标题可点击,因此使用悬停毫无意义。有没有办法在不求助于javascript的情况下做到这一点......?

Gae*_*ael 5

由于 font-style不是一个可动画的属性,您可以使用倾斜转换。

h1 span {
  position: relative;
}
#title_part1 {
  animation: part1_move 2s;
}
#title_part2 {
  
  animation: part2_move 2s,part2_skew 4s;
  
  display: inline-block;
  -ms-transform: skewX(-20deg);
  transform: skewX(-20deg);
}

@keyframes part1_move {
  from {
    left: -100px;
  }
  to {
    left: 0;
  }
}


@keyframes part2_move {
  from {
    left: 100px;
    }
  to{
    left:0
  }
}

@keyframes part2_skew{
  from {
    transform:skewX(0);
    -ms-transform:skewX(0)
  }
  50%{
    transform:skewX(0);
    -ms-transform:skewX(0)
  }
  to{
    transform:skewX(-20deg);
    -ms-transform:skewX(-20deg)
  }
}
Run Code Online (Sandbox Code Playgroud)
<h1>
  <span id="title_part1">The start and </span>
  <span id="title_part2">the end of my title </span>
</h1>
Run Code Online (Sandbox Code Playgroud)

相关问题:

从普通文本平滑地淡化到斜体文本?

渐变斜体?

  • font-style 不可设置动画的真正原因是,在常规和斜体之间设置动画不仅仅是将文本向某个方向倾斜的问题。在这种情况下,它会产生所谓的仿斜体,其中排版人员只是简单地歪斜字体而不是将其打印在实际的斜体中,要么是因为字体不提供斜体,要么是因为它不受其他支持。 (2认同)