こんにちは、フローです。
今回は使うかどうかはわかりませんが、
ちょっと変わり種のアニメーションを作っていきたいと思います。
前回の記事はこちらです。
見出しで使える?アニメーション
最近のWEBデザインはとにかく動きのあるものが増えた印象があります。
見た目も面白いし、人気があるんですかね。
てなわけで、今回は使えるかどうかはわからないですが笑
見出しで使える?アニメーションを書いていきます。
こんな感じのやつです。
では、さっそくコードを見ていきましょう。
HTML
<header>
<h1 class="header-text">Welcome to my website</h1>
</header>
ヘッダーやトップ画面に設計するイメージです。
CSS
header {
height: 200px;
background-color: #333;
display: flex;
align-items: center;
}
.header-text {
font-size: 48px;
color: white;
margin: 0 auto;
position: relative;
}
.header-text:before {
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
z-index: 2;
pointer-events: none;
}
.header-text:after {
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: linear-gradient(to right, #333 0%, rgba(255,255,255,0) 50%, #333 100%);
z-index: 1;
pointer-events: none;
animation: text-slide 4s linear infinite;
}
@keyframes text-slide {
0% {
transform: translateX(0);
opacity: 1;
}
50% {
transform: translateX(50px);
opacity: 0.5;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
.header-text:hover:after {
animation-play-state: paused;
opacity: 0;
transition: opacity 0.5s ease-out;
}
ちょっと長いですね。基本的にこのCSSでアニメーションを実装しています。
jQuery
$(document).ready(function() {
$('.header-text').addClass('animated');
});
CSSのアニメーションを使用して、
テキストを左右にスライドし、透明度を変化させます。
jQueryを使用して、ドキュメントが読み込まれた後に、
テキストにanimated
クラスを追加して、アニメーションを開始します。
また、ホバーイベントを使用して、アニメーションを停止し、
テキストをフェードアウトするように設定します。
このデザインは、サイトのヘッダーに注意を引く効果的な方法となります。
まとめ
WEBデザインで大事なのは、見る人が見やすい設計です。
ガチャガチャした感じはあまり好まれない傾向にあります。
しかし、遊び心で色々と試しておくと後で何かの役にたつかも?
レッツチャレンジ!
最近のコメント