こんにちは、フローです。
Webデザインの世界では、新しい技術や手法が日々生まれています。
その一つが、CSSアニメーションを用いたスタイリッシュなデザインです。
今回は初心者でも取り組みやすい、
背景色がフェードインし、その後フェードアウトする、
その間にテキストが表示されるウェブデザインについて解説します。
まず、基本となるHTMLの構造から見ていきましょう。
前回の記事はこちらです。
HTML
<div class="dynamic-bg">
<span class="dynamic-wrap"><span class="dynamic-text">テキストと背景色の</span></span><br>
<span class="dynamic-wrap"><span class="dynamic-text">フェードインアウト</span></span>
</div>
ここでは、
div
タグで全体を囲み、
クラス名としてdynamic-bg
を設定しています。
その中に、テキストを包むspan
タグを配置し、
クラス名としてdynamic-wrap
とdynamic-text
を設定しています。
この構造が、今回作成するウェブデザインのベースとなります。
次にCSSを見ていきましょう。
CSS
.dynamic-wrap {
position: relative;
display: inline-block;
margin-top: 5px;
}
.dynamic-wrap::before {
animation: dynamic-bg-animation 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards, fade-out 1s 2.6s forwards;
background: #EBE21B;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
transform-origin: left center;
}
.dynamic-wrap .dynamic-text {
color: #fff;
display: inline-block;
font-size: 36px;
font-weight: bold;
padding: 5px 15px;
position: relative;
z-index: 1;
opacity: 0;
animation: text-reveal 0.5s 3s forwards;
}
@keyframes dynamic-bg-animation {
0% {
opacity: 0;
transform: scaleX(0) translateX(-5%);
}
30% {
transform: scaleX(1) translateX(0);
}
100% {
transform: scaleX(1) translateX(0);
}
30%, 100% {
opacity: 1;
}
}
@keyframes fade-out {
0% {
opacity: 1;
}
100% {
opacity: 0;
transform: translateY(-100%);
}
}
@keyframes text-reveal {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
dynamic-bg
クラスとdynamic-wrap
クラスでは、
それぞれのエレメントの配置や見た目を定義しています。
dynamic-wrap::before
の部分では、
背景色のアニメーションと、その後のフェードアウトを制御しています。
linear-gradient
で色彩豊かな背景を作成し、
その背景が左から右へフェードインしていくような効果を
dynamic-bg-animation
で定義しています。
その後、fade-out
アニメーションによって、
背景色が消え、テキストだけが残る効果を実現しています。
このように、2つのアニメーションを同時に設定し、一定の間隔を持たせることで、
続けて異なるアニメーションを適用することが可能です。
最後に
dynamic-text
クラスでは、テキストのスタイリングを行なっています。
このテキストは、背景色がフェードインし、その後フェードアウトするときに現れます。
このウェブデザインは、
CSSアニメーションを使ったスタイリッシュで動的なエフェクトを実現する一例です。
クリエイティブな表現は無限大で、
これをベースに自分だけのオリジナルなデザインを試してみると良いでしょう。
CSSアニメーションは、ユーザー体験を向上させるための強力なツールとなります。
それは単純なホバーエフェクトから、
複雑なアニメーションシーケンスまで、あらゆる可能性を提供します。
そして、より良いユーザー体験は、サイトのエンゲージメントを高め、
ユーザーの満足度を向上させることにつながります。
最後に、
アニメーションを使用するときは、常にユーザビリティを考慮に入れることが重要です。
アニメーションが多すぎると、逆にユーザーを混乱させ、
情報へのアクセシビリティを損なう可能性があります。
ですので、適切なバランスを保つことが大切です。
まとめ
以上が、CSSアニメーションを使ったスタイリッシュなウェブデザインの一例となります。
この記事が、あなたのウェブデザインにおける新たな冒険の一歩となることを願っています。
レッツチャレンジ
最近のコメント