https://hmaster.net/


HTMLタグとCSSを使いメモ帳だけで無料でホームページを作成する 方法を分かりやすく解説しているサイトです。 初心者向けに見やすい、読みやすい作りになっています。

アニメーション-移動

アニメーションのプロパティを使用してマーキータグのように文字や画像を移動させることができます。 CSSファイルには「@keyframes クラス名」もセットで指定します。

アニメーションのプロパティは以下の通りです。

アニメーションのプロパティ 説明
animation-name アニメーションの名前を付ける。
animation-duration 1回のアニメーションの時間を指定する。
animation-timing-function

アニメーションの変化の進行度を指定する。

ease・・・開始と終了を滑らかにする 初期値
linear・・・一定の速さで再生する
ease-in・・・ゆっくり始まる
ease-out・・・ゆっくり終わる
ease-in-out・・・ゆっくり始まりゆっくり終わる
cubic-bezier(X1,X2,Y1,Y2)・・・3次ベジェ曲線で4つの数値(0~1)で指定する
animation-iteration-count:値 アニメーションを繰り返す回数を指定する。値は
infinite・・・無制限に繰り返す
数値・・・1や5等の数字で指定
translate()

どの方向に移動するかを指定する。 X方向はマイナスの値にすると左方向へ移動する
Y方向はマイナスの値にすると上方向へ移動する
from{transform:translate(0px);}
to{transform:translate(100px);}
この例では fromが0から、toが100pxまでという意味になります。

translate(値)・・・左右の移動距離を指定する
translateX(値)・・・左右の移動距離を指定する
translateY(値)・・・上下の移動距離を指定する
translate(値1、値2)・・・値1が左右の、値2が上下の移動距離を指定する
animation-delay:値 アニメーションを開始する遅延時間を指定する。値は
5sなどの時間で指定する
animation-direction:値 アニメーションを再生する方向を指定する。値は
nomal・・・アニメーションを左から右に再生する
reverse・・・アニメーションを右から左に再生する
alternate・・・奇数回目の再生では左から右方向へ、偶数回目の再生では右から左方向 になる
alternate-reverse・・・奇数回目の再生では右から左方向へ、偶数回目の再生では左から右方向 になる

【ブラウザ表示】

こんにちは。今日はいい天気ですね。

以下は上記プロパティを使用した際のブラウザ表示例です

HTMLソース ブラウザ表示
<div class="idou">
スタートとラストは滑らかに
</div>
スタートとラストは滑らかに
<div class="idou2">
一定の速さで再生する
</div>
一定の速さで再生する
<div class="idou3">
スタートはゆっくり
</div>
スタートはゆっくり
<div class="idou4">
画像
</div>
ゆっくり終わる
<div class="idou5">
画像
</div>
ゆっくり始まりゆっくり終わる
<div class="idou6">
画像
</div>
3回の移動で終わる
<div class="idou7">
画像
</div>
左から右(X方向)に70%移動
<div class="idou8">
画像
</div>
上から下(Y方向)に50%移動
<div class="idou9">
画像
</div>
右へ50px、下へ50px移動
<div class="idou10">
画像
</div>
5秒経過してから右へ70%移動
<div class="idou11">
画像
</div>
右から左へ70%移動
<div class="idou12">
画像
</div>
奇数回目では左から右方向へ70%、偶数回目で右から左方向に70%移動
<div class="idou13">
画像
</div>
奇数回目では右から左方向へ70%、偶数回目で左から右方向に70%移動

CSSの外部ファイル

/* スタートとラストは滑らかに */
div.idou{
width:500px;
animation-name:idou;
animation-duration:5s;
animation-timing-function:ease;
animation-iteration-count:infinite;
}
@keyframes idou{
from{transform:translate(0%);}
to{transform:translate(70%);}
}
/* 一定の速さで再生する */
div.idou2{
width:500px;
animation-name:idou2;
animation-duration:5s;
animation-timing-function:linear;
animation-iteration-count:infinite;
}
@keyframes idou2{
from{transform:translate(0%);}
to{transform:translate(70%);}
}
/* スタートはゆっくり */
div.idou3{
width:500px;
animation-name:idou3;
animation-duration:5s;
animation-timing-function:ease-in;
animation-iteration-count:infinite;
}
@keyframes idou3{
from{transform:translate(0%);}
to{transform:translate(70%);}
}
/* ゆっくり終わる */
div.idou4{
width:500px;
animation-name:idou4;
animation-duration:5s;
animation-timing-function:ease-out;
animation-iteration-count:infinite;
}
@keyframes idou4{
from{transform:translate(0%);}
to{transform:translate(70%);}
}
/* ゆっくり始まりゆっくり終わる */
div.idou5{
width:500px;
animation-name:idou5;
animation-duration:5s;
animation-timing-function:ease-in-out;
animation-iteration-count:infinite;
}
@keyframes idou5{
from{transform:translate(0%);}
to{transform:translate(70%);}
}
/* 3回の移動で終わる */
div.idou6{
width:500px;
animation-name:idou6;
animation-duration:5s;
animation-timing-function:ease;
animation-iteration-count:3;
}
@keyframes idou6{
from{transform:translate(0%);}
to{transform:translate(70%);}
}
/* translateX */
div.idou7{
width:500px;
animation-name:idou7;
animation-duration:5s;
animation-timing-function:ease;
animation-iteration-count:infinite;
}
@keyframes idou7{
100%{transform:translateX(70%);}
}
/* translateY */ div.idou8{
width:500px;
animation-name:idou8;
animation-duration:5s;
animation-timing-function:ease;
animation-iteration-count:infinite;
}
@keyframes idou8{
100%{transform:translateY(50%);}
}
/* X方向、Y方向 */
div.idou9{
width:500px;
animation-name:idou9;
animation-duration:5s;
animation-timing-function:ease;
animation-iteration-count:infinite;
}
@keyframes idou9{
100%{transform:translate(50px,50px);}
}
/* 5秒経過してから右へ */
div.idou10{
width:500px;
animation-name:idou10;
animation-duration:5s;
animation-timing-function:ease;
animation-iteration-count:infinite;
animation-delay:5s;
}
@keyframes idou10{
100%{transform:translate(70%,0px);}
}
/* 右から左へ */
div.idou11{
width:500px;
animation-name:idou11;
animation-duration:5s;
animation-timing-function:ease;
animation-iteration-count:infinite;
animation-direction:reverse;
}
@keyframes idou11{
100%{transform:translate(70%,0px);}
}
/* 奇数回目では左から右方向へ70%、偶数回目で右から左方向に */
div.idou12{
width:500px;
animation-name:idou12;
animation-duration:5s;
animation-timing-function:ease;
animation-iteration-count:infinite;
animation-direction:alternate;
}
@keyframes idou12{
100%{transform:translate(70%,0px);}
}
/* 奇数回目では右から左方向へ70%、偶数回目で左から右方向に */
div.idou13{
width:500px;
animation-name:idou13;
animation-duration:5s;
animation-timing-function:ease;
animation-iteration-count:infinite;
animation-direction:alternate-reverse;
}
@keyframes idou13{
100%{transform:translate(70%,0px);}
}

このエントリーをはてなブックマークに追加 Instagram

■ その他の項目

アニメーション-回転

スタイルシート一覧のページに戻る