あなたのキモチ つなげるカタチ

【CSS】@keyframesを使用してテキストを一文字ずつバラバラにスライドしながらフェードインさせる方法

コーディングテクニックの実装内容

今回はWeb制作におけるCSSアニメーションの中でテキストアニメーションに関する内容です。テキストを一文字ずつバラバラにスライドしながらフェードインさせるテクニックを紹介します。
CSSによってテキストを1文字ずつアニメーションさせます。@keyframesを使用したCSSアニメーションになります。

コーディングテクニックの使いどころ

目立たせたい見出しなどに適用すると効果的です。特にトップページの一番最初に表示される「ヒーローエリア」のタイトルなどに使用することをオススメします。

実装難易度・必要なスキル

コーディングとjQueryの基礎的な知識があれば実務未経験のコーダー、マークアップエンジニア、Webデザイナー、エンジニア、副業の初心者など誰でも実装可能です。

実装所要時間は10分程度

CSS,JavaScriptの記述内容

.wrap {
  width: 768px;
  margin: 100px auto 0;
  text-align: center;
}

.text {
  opacity: 0;
  font-size: 50px;
}

.text-move {
  display: inline-block;
  animation: move .8s ease both;
}

.text.active {
  opacity: 1;
}

@keyframes move {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.text-move:nth-child(1) {
  animation-delay: 0;
}
.text-move:nth-child(2) {
  animation-delay: .2s;
}
.text-move:nth-child(3) {
  animation-delay: .4s;
}
.text-move:nth-child(4) {
  animation-delay: .3s;
}
.text-move:nth-child(5) {
  animation-delay: .5s;
}
.text-move:nth-child(6) {
  animation-delay: .4s;
}
.text-move:nth-child(7) {
  animation-delay: .5s;
}
.text-move:nth-child(8) {
  animation-delay: .4s;
}
.text-move:nth-child(9) {
  animation-delay: .5s;
}
.text-move:nth-child(10) {
  animation-delay: .2s;
}
.text-move:nth-child(11) {
  animation-delay: .4s;
}
.text-move:nth-child(12) {
  animation-delay: .5s;
}

@media screen and (max-width:640px){
  .wrap {
    width: 100%;
  }
}

実装のポイント

現在制作中

この記事を書いた人(著者情報)

片岡 学

カタチップ編集長。昭和生まれの30代でWeb業界歴は15年。プログラマー出身のWebデザイナー。現在はカタチップを運用しつつ事業会社でWEBメディアサイトのディレクター兼コーダーを担当。最近はSNSの運用にも業務範囲を拡大中です。

著者画像

スポンサーリンク