From 0a954169773fbcca0198e55129fcec460d31be44 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 20 Feb 2022 00:42:11 +0900 Subject: Web/CSS/@keyframes を移行 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/css/@keyframes/index.html | 143 --------------------------------- files/ja/web/css/@keyframes/index.md | 143 +++++++++++++++++++++++++++++++++ 2 files changed, 143 insertions(+), 143 deletions(-) delete mode 100644 files/ja/web/css/@keyframes/index.html create mode 100644 files/ja/web/css/@keyframes/index.md diff --git a/files/ja/web/css/@keyframes/index.html b/files/ja/web/css/@keyframes/index.html deleted file mode 100644 index 7d56c3104e..0000000000 --- a/files/ja/web/css/@keyframes/index.html +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: '@keyframes' -slug: Web/CSS/@keyframes -tags: - - '@-規則' - - CSS - - CSS アニメーション - - Reference - - アニメーション -translation_of: Web/CSS/@keyframes ---- -
{{CSSRef}}
- -

CSS の @keyframes @-規則は、アニメーションの流れに沿ったキーフレーム (または中間地点) のスタイルを定義することによって、一連の CSS アニメーションの中間ステップを制御します。これにより、アニメーションの中間ステップを CSS トランジションよりも詳細に制御できます。

- -
@keyframes slidein {
-  from {
-    transform: translateX(0%);
-  }
-
-  to {
-    transform: translateX(100%);
-  }
-}
- -

JavaScript は、 CSS オブジェクトモデルのインターフェイス {{domxref("CSSKeyframesRule")}} によって @keyframes @-規則にアクセスできます。

- -

キーフレームを使うには、アニメーションとそのキーフレームを一致させるために、 {{ cssxref("animation-name") }} プロパティで指定したものと同じ名前がついた @keyframes 規則を作成します。それぞれの @keyframes 規則は、キーフレームセレクターのスタイルリストを含んでいます。それは、そのキーフレームが作動する時のアニメーションのパーセント値と、そのキーフレームでのスタイルを指定するブロックとで構成されています。

- -

キーフレームは任意の順番で並べることができます。それらは、作動する時を示すパーセント値の順番に従って制御されます。

- -

有効なキーフレームのリスト

- -

キーフレーム規則にアニメーションの開始と終了の状態 (0%/from100%/to) を明示しない場合、ブラウザはその要素の既存のスタイルを開始・終了の状態として用います。これは、その要素を初期状態からアニメーションさせて元に戻すという処理に利用できます。

- -

キーフレーム規則にアニメーションができないプロパティを含めた場合、そのプロパティは無視されますが、他のアニメーションが可能なプロパティについてはアニメーションが実行されます。

- -

重複の解決

- -

複数のキーフレームに同じ名前が付けられている場合、最後に宣言されたものが使用されます。 @keyframes 規則がカスケード的に継承されることはないため、アニメーションが複数の規則セットによるキーフレームをもとにして行われることはありません。

- -

指定されたアニメーションのタイムオフセットが重複している場合は、 @keyframes 規則内のそのパーセント値を持つすべてのキーフレームがそのフレームに使用されます。 @keyframes 規則の中で、同じパーセント値を指定した複数のキーフレームがカスケード的に継承されます。

- -

一部のキーフレームでプロパティが指定されていない場合

- -

一部のキーフレームでしか指定されていないプロパティは、補完されます (ただし、補完することができないプロパティは除きます。このようなプロパティは、アニメーションされません)。例えば:

- -
@keyframes identifier {
-  0% { top: 0; left: 0; }
-  30% { top: 50px; }
-  68%, 72% { left: 50px; }
-  100% { top: 100px; left: 100%; }
-}
-
- -

この例では、 {{ cssxref("top") }} プロパティは 0%, 30%, 100% のキーフレームでアニメーション指定されています。また、 {{ cssxref("left") }} プロパティは 0%, 68%, 72%, 100% のキーフレームで指定されています。

- -

キーフレームが複数宣言された場合

- -

キーフレームが複数宣言されているものの、アニメーションで作用する全てのプロパティがそれぞれのキーフレームに存在するわけではない場合、これらのキーフレームで指定されたすべての値が適用されます。例えば、

- -
@keyframes identifier {
-  0% { top: 0; }
-  50% { top: 30px; left: 20px; }
-  50% { top: 10px; }
-  100% { top: 0; }
-}
-
- -

この例では、 50% のキーフレームで、使用される値は top: 10pxleft: 20px です。

- -

カスケード的なキーフレームは Firefox 14 から対応しています。

- -

キーフレーム内の !important

- -

キーフレーム内で !important が付けられた宣言は無視されます。

- -
@keyframes important1 {
-  from { margin-top: 50px; }
-  50%  { margin-top: 150px !important; } /* 無視される */
-  to   { margin-top: 100px; }
-}
-
-@keyframes important2 {
-  from { margin-top: 50px;
-         margin-bottom: 100px; }
-  to   { margin-top: 150px !important; /* 無視される */
-         margin-bottom: 50px; }
-}
-
- -

構文

- -

- -
-
{{cssxref("custom-ident")}}
-
キーフレームのリストを識別する名前。これは CSS 構文規則で定義されている識別子に適合する必要があります。
-
from
-
アニメーションの始まりである 0% を示します。
-
to
-
アニメーションの終わりである 100% を示します。
-
{{cssxref("<percentage>")}}
-
指定したキーフレームがアニメーションの中で作動する時間を示すパーセント値です。
-
- -

形式文法

- -{{csssyntax}} - -

- -

CSS アニメーションの利用 を参照してください。

- -

仕様書

- - - - - - - - - - - - - - - - -
仕様書状態備考
{{ SpecName('CSS3 Animations', '#keyframes', '@keyframes') }}{{ Spec2('CSS3 Animations') }}
- -

ブラウザーの互換性

- -

{{Compat("css.at-rules.keyframes")}}

- -

関連情報

- - diff --git a/files/ja/web/css/@keyframes/index.md b/files/ja/web/css/@keyframes/index.md new file mode 100644 index 0000000000..7d56c3104e --- /dev/null +++ b/files/ja/web/css/@keyframes/index.md @@ -0,0 +1,143 @@ +--- +title: '@keyframes' +slug: Web/CSS/@keyframes +tags: + - '@-規則' + - CSS + - CSS アニメーション + - Reference + - アニメーション +translation_of: Web/CSS/@keyframes +--- +
{{CSSRef}}
+ +

CSS の @keyframes @-規則は、アニメーションの流れに沿ったキーフレーム (または中間地点) のスタイルを定義することによって、一連の CSS アニメーションの中間ステップを制御します。これにより、アニメーションの中間ステップを CSS トランジションよりも詳細に制御できます。

+ +
@keyframes slidein {
+  from {
+    transform: translateX(0%);
+  }
+
+  to {
+    transform: translateX(100%);
+  }
+}
+ +

JavaScript は、 CSS オブジェクトモデルのインターフェイス {{domxref("CSSKeyframesRule")}} によって @keyframes @-規則にアクセスできます。

+ +

キーフレームを使うには、アニメーションとそのキーフレームを一致させるために、 {{ cssxref("animation-name") }} プロパティで指定したものと同じ名前がついた @keyframes 規則を作成します。それぞれの @keyframes 規則は、キーフレームセレクターのスタイルリストを含んでいます。それは、そのキーフレームが作動する時のアニメーションのパーセント値と、そのキーフレームでのスタイルを指定するブロックとで構成されています。

+ +

キーフレームは任意の順番で並べることができます。それらは、作動する時を示すパーセント値の順番に従って制御されます。

+ +

有効なキーフレームのリスト

+ +

キーフレーム規則にアニメーションの開始と終了の状態 (0%/from100%/to) を明示しない場合、ブラウザはその要素の既存のスタイルを開始・終了の状態として用います。これは、その要素を初期状態からアニメーションさせて元に戻すという処理に利用できます。

+ +

キーフレーム規則にアニメーションができないプロパティを含めた場合、そのプロパティは無視されますが、他のアニメーションが可能なプロパティについてはアニメーションが実行されます。

+ +

重複の解決

+ +

複数のキーフレームに同じ名前が付けられている場合、最後に宣言されたものが使用されます。 @keyframes 規則がカスケード的に継承されることはないため、アニメーションが複数の規則セットによるキーフレームをもとにして行われることはありません。

+ +

指定されたアニメーションのタイムオフセットが重複している場合は、 @keyframes 規則内のそのパーセント値を持つすべてのキーフレームがそのフレームに使用されます。 @keyframes 規則の中で、同じパーセント値を指定した複数のキーフレームがカスケード的に継承されます。

+ +

一部のキーフレームでプロパティが指定されていない場合

+ +

一部のキーフレームでしか指定されていないプロパティは、補完されます (ただし、補完することができないプロパティは除きます。このようなプロパティは、アニメーションされません)。例えば:

+ +
@keyframes identifier {
+  0% { top: 0; left: 0; }
+  30% { top: 50px; }
+  68%, 72% { left: 50px; }
+  100% { top: 100px; left: 100%; }
+}
+
+ +

この例では、 {{ cssxref("top") }} プロパティは 0%, 30%, 100% のキーフレームでアニメーション指定されています。また、 {{ cssxref("left") }} プロパティは 0%, 68%, 72%, 100% のキーフレームで指定されています。

+ +

キーフレームが複数宣言された場合

+ +

キーフレームが複数宣言されているものの、アニメーションで作用する全てのプロパティがそれぞれのキーフレームに存在するわけではない場合、これらのキーフレームで指定されたすべての値が適用されます。例えば、

+ +
@keyframes identifier {
+  0% { top: 0; }
+  50% { top: 30px; left: 20px; }
+  50% { top: 10px; }
+  100% { top: 0; }
+}
+
+ +

この例では、 50% のキーフレームで、使用される値は top: 10pxleft: 20px です。

+ +

カスケード的なキーフレームは Firefox 14 から対応しています。

+ +

キーフレーム内の !important

+ +

キーフレーム内で !important が付けられた宣言は無視されます。

+ +
@keyframes important1 {
+  from { margin-top: 50px; }
+  50%  { margin-top: 150px !important; } /* 無視される */
+  to   { margin-top: 100px; }
+}
+
+@keyframes important2 {
+  from { margin-top: 50px;
+         margin-bottom: 100px; }
+  to   { margin-top: 150px !important; /* 無視される */
+         margin-bottom: 50px; }
+}
+
+ +

構文

+ +

+ +
+
{{cssxref("custom-ident")}}
+
キーフレームのリストを識別する名前。これは CSS 構文規則で定義されている識別子に適合する必要があります。
+
from
+
アニメーションの始まりである 0% を示します。
+
to
+
アニメーションの終わりである 100% を示します。
+
{{cssxref("<percentage>")}}
+
指定したキーフレームがアニメーションの中で作動する時間を示すパーセント値です。
+
+ +

形式文法

+ +{{csssyntax}} + +

+ +

CSS アニメーションの利用 を参照してください。

+ +

仕様書

+ + + + + + + + + + + + + + + + +
仕様書状態備考
{{ SpecName('CSS3 Animations', '#keyframes', '@keyframes') }}{{ Spec2('CSS3 Animations') }}
+ +

ブラウザーの互換性

+ +

{{Compat("css.at-rules.keyframes")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf