2
2

背景が伸びる見出し

Posted at

お疲れ様です。

投稿は2日ぶりですが、タイトルの内容の勉強をちまちまとしておりました。
そのまとめです。

#about-main {
  line-height: 70px;
  background: linear-gradient(90deg, #ffe4c4, #ffe4c4 50%, #fff 50%, #fff);
  background-size: 200% 100%;
  padding: .1rem 1rem;
  color: #ff8c00;
}
// 自己紹介のアニメ
const aboutMain = document.querySelector('#about-main');

const keys = {
  color: ['transparent', '#fff'],
  backgroundPosition: ['100% 0', '0 0'],
};

const op = {
  duration: 1000,
  // アニメが変化する速度、タイミング(開始と終了を緩やかに)
  easing: 'ease',
};

aboutMain.animate(keys, op);

上のコードで、背景の位置を動かして、まるで左からぐーんと伸びているようにするアニメーションができました。
今回参考にしたのは、いつもの「1冊ですべて身につく入門講座」の本です。
cssの linear-gradient は2色以上の色が段階的に変化する、いわゆるグラデーションと、角度の指定(90degの部分)を書きます。

そして、jsの backgroundPosition で背景画像の位置を指定します。
最初の'100% 0'の数値は水平で、後ろの'0 0'は垂直を表します。
このコードだと、左から右へぐーんと伸びていくようなアニメーションになり、-100% 0 とすれば逆に右から左にぐーんと伸びるように変化しました。

せっかく実装して、うまく動作してくれましたので、これも自己紹介ページの見出しに実装してきました:relaxed:

2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2