目次
はじめに
今回は、実務経験で実装した「要素がパネルのように回転して切り替わるアニメーション」についてご紹介します。
HTML・CSSのソースコードもご用意しています。
要素がパネルのように回転して切り替わるアニメーションの表示
01
〇〇までの流れ1
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
02
〇〇までの流れ2
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
03
〇〇までの流れ3
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
04
〇〇までの流れ4
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
05
〇〇までの流れ5
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
06
〇〇までの流れ6
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
07
〇〇までの流れ7
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
要素がパネルのように回転して切り替わるアニメーションのHTML・CSSソースコード
PR
<div class="panel__list">
<div class="panel__item">
<div class="panel__num">
01
</div>
<div class="panel__txt">
<p class="panel__ttl">〇〇までの流れ1</p>
<p>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
</p>
</div>
</div>
<div class="panel__item">
<div class="panel__num">
02
</div>
<div class="panel__txt">
<p class="panel__ttl">〇〇までの流れ2</p>
<p>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
</p>
</div>
</div>
<div class="panel__item">
<div class="panel__num">
03
</div>
<div class="panel__txt">
<p class="panel__ttl">〇〇までの流れ3</p>
<p>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
</p>
</div>
</div>
<div class="panel__item">
<div class="panel__num">
04
</div>
<div class="panel__txt">
<p class="panel__ttl">〇〇までの流れ4</p>
<p>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
</p>
</div>
</div>
<div class="panel__item">
<div class="panel__num">
05
</div>
<div class="panel__txt">
<p class="panel__ttl">〇〇までの流れ5</p>
<p>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
</p>
</div>
</div>
<div class="panel__item">
<div class="panel__num">
06
</div>
<div class="panel__txt">
<p class="panel__ttl">〇〇までの流れ6</p>
<p>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
</p>
</div>
</div>
<div class="panel__item">
<div class="panel__num">
07
</div>
<div class="panel__txt">
<p class="panel__ttl">〇〇までの流れ7</p>
<p>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト
</p>
</div>
</div>
</div>
.panel__list {
position: relative;
min-height: 120px;
}
.panel__item {
position: absolute;
top: 0;
left: 0;
animation: panel 31.5s infinite forwards;
opacity: 0;
}
.panel__item:nth-of-type(2) {
animation: panel 31.5s 4.5s infinite forwards;
}
.panel__item:nth-of-type(3) {
animation: panel 31.5s 9s infinite forwards;
}
.panel__item:nth-of-type(4) {
animation: panel 31.5s 13.5s infinite forwards;
}
.panel__item:nth-of-type(5) {
animation: panel 31.5s 18s infinite forwards;
}
.panel__item:nth-of-type(6) {
animation: panel 31.5s 22.5s infinite forwards;
}
.panel__item:nth-of-type(7) {
animation: panel 31.5s 27s infinite forwards;
}
@keyframes panel {
0% {
opacity: 0;
transform: rotateX(90deg)
}
1.6%,14.3% {
opacity: 1;
transform: rotateX(0);
}
16%,100% {
opacity: 0;
transform: rotateX(-90deg);
}
}
.panel__num {
color: #be0009;
}
.panel__ttl {
font-size: 26px;
color: #be0009;
margin-bottom: 20px;
line-height: 1.5em;
}
@media screen and (min-width: 768px) {
.panel__list {
min-height: 120px;
}
.panel__item {
width: 95%;
height: 120px;
display: flex;
align-items: center;
justify-content: center;
}
.panel__num {
font-size: 48px;
width: 180px;
text-align: center;
}
.panel__txt {
padding-left: 25px;
border-left: solid 1px #be0009;
width: 780px;
}
}
@media screen and (max-width: 767px) {
.panel__list {
min-height: 150px;
}
.panel__num {
font-size: 24px;
}
}
要素がパネルのように回転して切り替わるアニメーションを作成した経緯
クライアント様から以下のようなご要望があり作成に至りました。
LPが縦長になるので、7つのSTEPを常にOPENではなく、1つずつOpenにしたい。横からスライドするというよりは縦が良い。デジタル表示になる前の昔のバスの行き先表示のようなクルクル回っているようなイメージ。
他のHTML・CSS ・JavaScriptソースコード紹介記事まとめ
ソースコードまとめ
実務経験で作成したレイアウトのHTML・CSS ・JavaScriptソースコードを紹介した記事まとめています。