ITメモ
CSS
「CSS」の「Topics」
「印刷用CSS」を「コンテンツ」に適用する方法「表示サイズ別」に「CSS」を適用する方法「スマートフォン」に「CSS」を適用する方法「コンテンツ」の「縦位置」を「真ん中」に配置する方法「コンテンツ」の「横位置」を「真ん中」に配置する方法「ベージ表示」を「フワッ」とした「フェードイン」で表示する方法「CSS」で「スクロールバー」を表示・設定する方法
背景・背景画像関連
背景画像のスライドショーを作成する方法背景画像を表示場所に自動フィットさせる設定背景画像を表示位置を調整する方法「背景色」に「透明度」を加える方法 「背景色」を「グラデーション」にする方法
画像関連
画像の下にできる空白を消す方法背景や画像に透明感を加える方法画像の横に文字を回り込ませる方法「CSS」で画像を変更する方法
「CSS」の基礎知識
「CSS」のファイル書式「CSS」のヘッダー書式「CSS」のコード書式「CSS」を「HTML」ファイルに記述する方法「CSS」外部ファイルをHTMLファイルとリンクさせる方法「CSS」でコメントを使う方法「CSS」で利用する単位「CSS」でテキストを編集する方法「CSS」での「セレクタ」優先順位「CSS」の命名規則「BEM」とは
CSSプロパティ【レイアウト関連】
【 width 】「横幅」を指定する方法【 height 】「高さ」を指定する方法【 margin 】「枠線外側」の「余白」を指定する方法【 padding 】「枠線内側」の「余白」を指定する方法【 border 】「枠線(ボーダー)」を付ける方法【 outline 】「枠線(ボーダー)」を付ける方法【 border-radius 】要素の四隅に丸みを付ける【 transform 】コンテンツに「2D変形」「3D変形」を適用【 display 】「ブロック要素」「インライン要素」に変換【 position 】コンテンツの配置指定【 float 】コンテンツを片側に寄せる方法
CSSプロパティ【コンテンツ関連】
【 content 】コンテンツの追加
CSSプロパティ【背景関連】
【 background 】背景を設定する方法
CSSプロパティ【文字・テキスト関連】
【 color 】文字の色を設定する【 font 】フォントを設定を一括指定する方法【 font-size 】フォントサイズを変更する方法【 font-family 】フォントの変更をする方法【 font-style 】フォントのスタイルを指定する方法【 font-weight 】文字を太字にする方法【 font-stretch 】文字を横幅(フェイス)を指定する方法【 font-size-adjust 】小文字の大きさを設定する方法【 line-height 】テキストラインの高さを設定する【 text-indent 】テキストインデントを設定する【 text-align 】テキストの配置位置を設定する【 text-decoration 】テキストに加えるで装飾を設定する【 text-underline-position 】テキストのアンダーライン位置を設定する【 text-shadow 】テキストのシャドー位置を設定する【 text-transform 】テキストの文字形態を設定する【 white-space 】要素内のホワイトスペースを設定する【 word-break 】テキストの自動改行の設定をする【 word-spacing 】単語間の隙間を指定【 letter-spacing 】文字間の隙間を指定【 text-justify 】文章右端空白にならないように、単語間・文字間のスペースを調整【 text-autospace 】表意文字(漢字)と非表意文字(半角英数字)の隙間を指定【 word-wrap 】テキストの自動改行の設定をする【 writing-mode 】縦書きを設定【 direction 】文章の方向を設定【 unicode-bidi 】単語の並びを設定【擬似要素】「:before」 - 文字の先頭にマークを表示する方法
CSSプロパティ【カラー関連】
【linear-gradient】二色以上でグラデーションを作るカラー設定
CSSプロパティ【アニメーション関連】
【 animation 】アニメーション操作をする方法【 transition 】変化をスムーズにスムーズにする方法【 opacity 】要素の透明度を設定する





【CSS】「animation」プロパティ

【CSS】
「animation」プロパティ





「CSS」の記述だけで、
アニメーション効果を加えることが可能になった「animation」プロパティ。
簡単な設定で使えるようなので、
とても便利なプロパティのようです。






「animation」プロパティとは


「animation」プロパティは、
動的なアニメーションを設定するための一括設定をするプロパティです。

「animation」プロパティには、
・animation
・animation-name
・animation-duration
・animation-timing-function
・animation-delay
・animation-iteration-count
・animation-direction
・animation-fill-mode
・animation-play-state
というプロパティが用意されていて、
「animation」プロパティは、他の「animation」系プロパティを一括で設定できるようになっている。


再生中の動画の動きは、「@keyframes」を使ってCSSに記述した動きにすることができる。


Back



「animation」プロパティの書式


「animation」プロパティの書式は、

animation{ animation-name animation-duration animation-timing-function animation-delay animation-direction animation-iteration-count animation-fill-mode animation-play-state }



サンプルコード

animation: Animation1 3s ease-in 1s 2 reverse both paused;
animation: Animation2 3s linear 1s;
animation: Animation3 3s;


@keyframes アニメーションの名前 {
0% {
transform: translateX(0%);
}

50%{
transform: translateX(100%);
}

100% {
transform: translateX(0%);
}
}


のようになっていて、「 (半角スペース)」で区切って、値を指定するようになっている。
記載順序は、自由のなようですが、
「animation-duration」と「animation-delay」が同じ秒数指定なので、
「animation-duration」「animation-delay」の順番で、間に他の値が入っても大丈夫なようです。

個人的には、「animation-name」を最初にもってくる方が記述しやすいと思っています。
上手くいかない時は、個別に指定するか、順序を入れ替えてみてください。
最初は、シンプルに少ない値で指定すると簡単に動きます。
動作した後に色々と加えていくと、エラーも見つけやすい。


「animation」を指定した後は、
「@keyframes」によって、アニメーションの動きを指定する。
「@keyframes」を使って「CSS」コードを記述することによって、
アニメーションを自由に動かすことができるようになっています。
パーセンテージの他に、「from(0%)」「to(100%)」という表記も使用可能。


「フワッとしたフェードイン」をする「CSS」の「サンプルコード」

body {
 animation: fadeIn 5s ease 0s 1 normal;
 -webkit-animation: fadeIn 5s ease 0s 1 normal;
}
@keyframes fadeIn {
 0% {opacity: 0}
 100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
 0% {opacity: 0}
 100% {opacity: 1}
}


Back

「animation」プロパティの種類






「animation」プロパティの「種類一覧」

プロパティ名初期値説明
animation-namenone アニメーションの名前。
複数のアニメーションを同時に設定する時に、それぞれのアニメーションに名前を割り当てる時に使用する。
「animation-name」を指定して、アニメーションの動きをコントロールすることができる。 アニメーションの動きは、CSSファイルに「@keyframes name{アニメーションの動き}」を使って記述する。
animation-duration0s アニメーション1回が、完了するまでの所要時間を設定することができる。
animation-timing-functionease アニメーションの動きを設定。

設定値は、
・ease
・linear
・ease-in
・ease-out
・ease-in-out
・cubic-bezier(p1, p2, p3, p4)
・steps(n, jumpterm)
・step-start
・step-end
などがある。
animation-delay0s 秒数指定で、アニメーションを開始するタイミングを指定する。
「ミリ秒(ms)」「秒(s)」単位で指定が可能。
すぐに開始する場合は、「0s」指定。
途中から始めたい場合は、「-3秒」などマイナス指定する。
animation-iteration-count1 アニメーションを何回再生するかを指定する。
「infinite」と設定すると、ずっと繰り返しになる。
animation-directionnormal アニメーションの再生を逆再生にするか、前後反転するかの設定。
デフォルトは通常再生の「normal」。

設定値は、

normal

デフォルトの値。
アニメーションを毎回順方向に再生する。

reverse

アニメーションを毎回逆方向に再生する。
タイミング関数も「ease-out」になる。

alternate

順方向再生と逆再生を繰り返す。
初回は順方向で、再生回数が偶数の場合は逆再生。

alternate-reverse

逆再生と順方向再生を繰り返す。
初回を逆再生にして、再生回数が偶数の時が順再生。

などがある。
animation-fill-modenone アニメーション再生が終わった後に、再生前の状態に戻すか、
再生後の状態をキープするかの設定。
デフォルトは、「none」だが、再生前の状態に戻る。
設定値は、 ・none
・forwards
・backwords
・both
など。
animation-play-staterunning アニメーションの停止・再生をコントロールする設定値。
ユーザーのアクションによって、動画の再生・停止をコントロールするときに使える。


Back

「animation-timing-function」プロパティの設定値の種類



「animation-timing-function」プロパティは、
アニメーションの動きを設定することができる。

設定値は、
・ease
・linear
・ease-in
・ease-out
・ease-in-out
・cubic-bezier(p1, p2, p3, p4)
・steps(n, jumpterm)
・step-start
・step-end
などがある。
詳細は下記の表に記載。


「animation-timing-function」プロパティの設定値の種類

プロパティ名初期値説明
ease デフォルトの値。
cubic-bezier(0.25, 0.1, 0.25, 1.0) と同じ。
アニメーションの中央に向けて変化量が増加し、最後に向けて減少する。
linear cubic-bezier(0.0, 0.0, 1.0, 1.0) と同じ。
等しい速度でアニメーションが再生される。
ease-in cubic-bezier(0.42, 0, 1.0, 1.0) と同じ。
アニメーションの再生は、変化速度がゆっくり始まり、終了まで加速する。
ease-out cubic-bezier(0, 0, 0.58, 1.0) と同じ。
アニメーションは、速く始まり、速度を落としながら終了する。
ease-in-out cubic-bezier(0.42, 0, 0.58, 1.0) と同じ。
アニメーションは、ゆっくり変化しながら速度を上げ、速度を落として終了する。
cubic-bezier(p1, p2, p3, p4) ユーザーが自由に定義できる値。
二次元ベジェ曲線の値を変化させることで、アニメーションを構成する。
設定値の「p1」と「p3」 の値は、「0」から「1」の間で設定する必要がある。
steps(n, <jumpterm>) 停止点の数を指定することができる値。

指定した停止点では、指定した「jumpterm」の方法でそれぞれ一定時間停止する。
jump-start アニメーションの開始時に最初のジャンプが発生する。
jump-end アニメーションの終了時に最後のジャンプが発生する。
jump-none どちらにもジャンプなないが、「0%」と「100%」の両方で、それぞれ「1/n」の間隔を保持される。
jump-both 「0%」と「100%」の両方を含んで停止点を構成し、アニメーションの反復中に効果的にステップを追加する。
start jump-start と同じ。
end jump-end と同じ。
step-start steps(1, jump-start) と同じ。
step-end steps(1, jump-end) と同じ。


Back