aboutsummaryrefslogtreecommitdiff
path: root/files
diff options
context:
space:
mode:
authorMasahiro FUJIMOTO <mfujimot@gmail.com>2021-12-31 00:19:33 +0900
committerMasahiro FUJIMOTO <mfujimot@gmail.com>2022-01-09 12:36:34 +0900
commit089ec7c736b120610ca8ed6779e8b0fc5ef41bc8 (patch)
tree8c521c5c032ef5e58e3b9509930969bbd464bb69 /files
parent26b376f7dd188365e7247c305063fff6f91a5d0c (diff)
downloadtranslated-content-089ec7c736b120610ca8ed6779e8b0fc5ef41bc8.tar.gz
translated-content-089ec7c736b120610ca8ed6779e8b0fc5ef41bc8.tar.bz2
translated-content-089ec7c736b120610ca8ed6779e8b0fc5ef41bc8.zip
2021/08/13 時点の英語版に同期
Diffstat (limited to 'files')
-rw-r--r--files/ja/web/css/transition-duration/index.md367
1 files changed, 78 insertions, 289 deletions
diff --git a/files/ja/web/css/transition-duration/index.md b/files/ja/web/css/transition-duration/index.md
index 21955fe824..be4717916e 100644
--- a/files/ja/web/css/transition-duration/index.md
+++ b/files/ja/web/css/transition-duration/index.md
@@ -3,25 +3,25 @@ title: transition-duration
slug: Web/CSS/transition-duration
tags:
- CSS
- - CSS Property
- - CSS Transitions
- - Reference
- - 'recipe:css-property'
+ - CSS プロパティ
+ - CSS トランジション
+ - リファレンス
+ - recipe:css-property
+browser-compat: css.properties.transition-duration
translation_of: Web/CSS/transition-duration
---
-<div>{{CSSRef}}</div>
+{{CSSRef}}
-<p><strong><code>transition-duration</code></strong> は <a href="/ja/docs/Web/CSS">CSS</a> のプロパティで、トランジションによるアニメーションが完了するまでの所要時間を秒数またはミリ秒数で指定します。既定値は <code>0s</code> であり、これはアニメーションを実行しないことを示します。</p>
+**`transition-duration`** は [CSS](/ja/docs/Web/CSS) のプロパティで、トランジションによるアニメーションが完了するまでの所要時間を秒数またはミリ秒数で指定します。既定値は `0s` であり、これはアニメーションを実行しないことを示します。
-<div>{{EmbedInteractiveExample("pages/css/transition-duration.html")}}</div>
+{{EmbedInteractiveExample("pages/css/transition-duration.html")}}
-<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
+このプロパティには複数の所要時間を指定することができます。それぞれの時間は、マスターリストを務める {{ cssxref("transition-property") }} プロパティの指定値で対応するプロパティに適用されます。指定した所要時間の数がマスターリストで指定したプロパティの数より少ない場合は、ユーザーエージェントは所要時間のリストを反復して使用します。また所要時間の数が多い場合は、リストを適切な長さに切り詰めます。どちらの場合も、CSS の宣言として妥当です。
-<p>このプロパティには複数の所要時間を指定することができます。それぞれの時間は、マスターリストを務める {{ cssxref("transition-property") }} プロパティの指定値で対応するプロパティに適用されます。指定した所要時間の数がマスターリストで指定したプロパティの数より少ない場合は、不足している値は初期値 (<code>0s</code>) になります。また所要時間の数が多い場合は、リストを適切な長さに切り詰めます。どちらの場合も、CSS の宣言として妥当です。</p>
+## 構文
-<h2 id="Syntax" name="Syntax">構文</h2>
-
-<pre class="brush:css no-line-numbers notranslate">/* &lt;time&gt; 値 */
+```css
+/* <time> 値 */
transition-duration: 6s;
transition-duration: 120ms;
transition-duration: 1s, 15s;
@@ -30,318 +30,107 @@ transition-duration: 10s, 30s, 230ms;
/* グローバル値 */
transition-duration: inherit;
transition-duration: initial;
+transition-duration: revert;
transition-duration: unset;
-</pre>
+```
-<h3 id="Values" name="Values">値</h3>
+### 値
-<dl>
- <dt><code>&lt;time&gt;</code></dt>
- <dd>プロパティの古い値から新しい値へ遷移するのにかかる時間を表す {{cssxref("&lt;time&gt;")}} 形式の値です。<code>0s</code> の時間は、遷移が起こらないこと、すなわち、2 つの状態間の切り替えが瞬間的であることを示します。負の値を指定すると、宣言は無効になります。</dd>
-</dl>
+- `<time>`
+ - : プロパティの古い値から新しい値へ遷移するのにかかる時間を表す {{cssxref("&lt;time&gt;")}} 形式の値です。時間を `0s` にすると、遷移が起こらないこと、すなわち、2 つの状態間の切り替えが瞬間的であることを示します。負の値を指定すると、宣言は無効になります。
-<h2 id="Formal_definition" name="Formal_definition">公式定義</h2>
+## 公式定義
-<p>{{CSSInfo}}</p>
+{{CSSInfo}}
-<h2 id="Formal_syntax" name="Formal_syntax">形式文法</h2>
+## 形式文法
{{csssyntax}}
-<h2 id="Examples" name="Examples">例</h2>
+## 例
-<div>
-<div id="duration_0_5s" style="width: 251px; display: inline-block; margin-right: 1px; margin-bottom: 1px;">
-<p><code>transition-duration: 0.5s</code></p>
+### 様々な所要時間を表す例
-<div class="hidden">
-<pre class="brush:html notranslate"> &lt;div class="parent"&gt;
- &lt;div class="box"&gt;Lorem&lt;/div&gt;
-&lt;/div&gt;
- </pre>
+#### HTML
-<pre class="brush:css; notranslate">.parent { width: 250px; height:125px;}
-.box {
- width: 100px;
- height: 100px;
- background-color: red;
- font-size: 20px;
- left: 0px;
- top: 0px;
- position:absolute;
- -webkit-transition-property: width height background-color font-size left top transform -webkit-transform color;
- -webkit-transition-duration:0.5s;
- -webkit-transition-timing-function: ease-in-out;
- transition-property: width height background-color font-size left top transform -webkit-transform color;
- transition-duration:0.5s;
- transition-timing-function: ease-in-out;
-}
-.box1{
- transform: rotate(270deg);
- -webkit-transform: rotate(270deg);
- width: 50px;
- height: 50px;
- background-color: blue;
- color: yellow;
- font-size: 18px;
- left: 150px;
- top:25px;
- position:absolute;
- -webkit-transition-property: width height background-color font-size left top transform -webkit-transform color;
- -webkit-transition-duration:0.5s;
- -webkit-transition-timing-function: ease-in-out;
- transition-property: width height background-color font-size left top transform -webkit-transformv color;
- transition-duration:0.5s;
- transition-timing-function: ease-in-out;
-}
-</pre>
+```html
+ <div class="box duration-1">0.5 seconds</div>
-<pre class="brush:js notranslate">function updateTransition() {
- var el = document.querySelector("div.box");
+ <div class="box duration-2">2 seconds</div>
- if (el) {
- el.className = "box1";
- } else {
- el = document.querySelector("div.box1");
- el.className = "box";
- }
-
- return el;
-}
+ <div class="box duration-3">4 seconds</div>
-var intervalID = window.setInterval(updateTransition, 7000);
-</pre>
-</div>
+ <button id="change">Change</button>
+```
-<div>{{EmbedLiveSample("duration_0_5s",275,150)}}</div>
-</div>
+#### CSS
-<div id="duration_1s" style="width: 251px; display: inline-block; margin-right: 1px; margin-bottom: 1px;">
-<p><code>transition-duration: 1s</code></p>
-
-<div class="hidden">
-<pre class="brush:html notranslate"> &lt;div class="parent"&gt;
- &lt;div class="box"&gt;Lorem&lt;/div&gt;
-&lt;/div&gt;
- </pre>
-
-<pre class="brush:css; notranslate">.parent { width: 250px; height:125px;}
+```css
.box {
- width: 100px;
- height: 100px;
- background-color: red;
- font-size: 20px;
- left: 0px;
- top: 0px;
- position:absolute;
- -webkit-transition-property: width height background-color font-size left top -webkit-transform color;
- -webkit-transition-duration:1s;
- -webkit-transition-timing-function: ease-in-out;
- transition-property: width height background-color font-size left top transform color;
- transition-duration:1s;
- transition-timing-function: ease-in-out;
-}
-.box1{
- transform: rotate(270deg);
- -webkit-transform: rotate(270deg);
- width: 50px;
- height: 50px;
- background-color: blue;
- color: yellow;
- font-size: 18px;
- left: 150px;
- top:25px;
- position:absolute;
- -webkit-transition-property: width height background-color font-size left top -webkit-transform transform color;
- -webkit-transition-duration:1s;
- -webkit-transition-timing-function: ease-in-out;
- transition-property: width height background-color font-size left top transform -webkit-transform color;
- transition-duration:1s;
- transition-timing-function: ease-in-out;
+ margin: 20px;
+ padding: 10px;
+ display: inline-block;
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ font-size: 18px;
+ transition-property: background-color font-size transform color;
+ transition-timing-function: ease-in-out;
}
-</pre>
-
-<pre class="brush:js notranslate">function updateTransition() {
- var el = document.querySelector("div.box");
-
- if (el) {
- el.className = "box1";
- } else {
- el = document.querySelector("div.box1");
- el.className = "box";
- }
- return el;
+.transformed-state {
+ transform: rotate(270deg);
+ background-color: blue;
+ color: yellow;
+ font-size: 12px;
+ transition-property: background-color font-size transform color;
+ transition-timing-function: ease-in-out;
}
-var intervalID = window.setInterval(updateTransition, 7000);
-</pre>
-</div>
-
-<div>{{EmbedLiveSample("duration_1s",275,150)}}</div>
-</div>
-
-<div id="duration_2s" style="width: 251px; display: inline-block; margin-right: 1px; margin-bottom: 1px;">
-<p><code>transition-duration: 2s</code></p>
-
-<div class="hidden">
-<pre class="brush:html notranslate"> &lt;div class="parent"&gt;
- &lt;div class="box"&gt;Lorem&lt;/div&gt;
-&lt;/div&gt;
- </pre>
+.duration-1 {
+ transition-duration: 0.5s;
+}
-<pre class="brush:css; notranslate">.parent { width: 250px; height:125px;}
-.box {
- width: 100px;
- height: 100px;
- background-color: red;
- font-size: 20px;
- left: 0px;
- top: 0px;
- position:absolute;
- -webkit-transition-property: width height background-color font-size left top transform -webkit-transform color;
- -webkit-transition-duration:2s;
- -webkit-transition-timing-function: ease-in-out;
- transition-property: width height background-color font-size left top transform -webkit-transform color;
- transition-duration:2s;
- transition-timing-function: ease-in-out;
+.duration-2 {
+ transition-duration: 2s;
}
-.box1{
- transform: rotate(270deg);
- -webkit-transform: rotate(270deg);
- width: 50px;
- height: 50px;
- background-color: blue;
- color: yellow;
- font-size: 18px;
- left: 150px;
- top:25px;
- position:absolute;
- -webkit-transition-property: width height background-color font-size left top transform -webkit-transform color;
- -webkit-transition-duration:2s;
- -webkit-transition-timing-function: ease-in-out;
- transition-property: width height background-color font-size left top transform -webkit-transform color;
- transition-duration:2s;
- transition-timing-function: ease-in-out;
+
+.duration-3 {
+ transition-duration: 4s;
}
-</pre>
+```
-<pre class="brush:js notranslate">function updateTransition() {
- var el = document.querySelector("div.box");
+#### JavaScript
- if (el) {
- el.className = "box1";
- } else {
- el = document.querySelector("div.box1");
- el.className = "box";
+```js
+function change() {
+ const elements = document.querySelectorAll("div.box");
+ for (let element of elements) {
+ element.classList.toggle("transformed-state");
}
-
- return el;
}
-var intervalID = window.setInterval(updateTransition, 7000);
-</pre>
-</div>
+const changeButton = document.querySelector("#change");
+changeButton.addEventListener("click", change);
+```
-<div>{{EmbedLiveSample("duration_2s",275,150)}}</div>
-</div>
+#### 結果
-<div id="duration_4s" style="width: 251px; display: inline-block; margin-right: 1px; margin-bottom: 1px;">
-<p><code>transition-duration: 4s</code></p>
+{{EmbedLiveSample("Example_showing_different_durations",275,200)}}
-<div class="hidden">
-<pre class="brush:html notranslate"> &lt;div class="parent"&gt;
- &lt;div class="box"&gt;Lorem&lt;/div&gt;
-&lt;/div&gt;
- </pre>
+## 仕様書
-<pre class="brush:css; notranslate">.parent { width: 250px; height:125px;}
-.box {
- width: 100px;
- height: 100px;
- background-color: red;
- font-size: 20px;
- left: 0px;
- top: 0px;
- position:absolute;
- -webkit-transition-property: width height background-color font-size left top transform -webkit-transform color;
- -webkit-transition-duration:4s;
- -webkit-transition-timing-function: ease-in-out;
- transition-property: width height background-color font-size left top transform -webkit-transform color;
- transition-duration:4s;
- transition-timing-function: ease-in-out;
-}
-.box1{
- transform: rotate(270deg);
- -webkit-transform: rotate(270deg);
- width: 50px;
- height: 50px;
- background-color: blue;
- color: yellow;
- font-size: 18px;
- left: 150px;
- top:25px;
- position:absolute;
- -webkit-transition-property: width height background-color font-size left top transform -webkit-transform color;
- -webkit-transition-duration:4s;
- -webkit-transition-timing-function: ease-in-out;
- transition-property: width height background-color font-size left top transform -webkit-transform color;
- transition-duration:4s;
- transition-timing-function: ease-in-out;
-}
-</pre>
+{{Specifications}}
-<pre class="brush:js notranslate">function updateTransition() {
- var el = document.querySelector("div.box");
+## ブラウザーの互換性
- if (el) {
- el.className = "box1";
- } else {
- el = document.querySelector("div.box1");
- el.className = "box";
- }
+{{Compat}}
- return el;
-}
+## 関連情報
-var intervalID = window.setInterval(updateTransition, 7000);
-</pre>
-</div>
-
-<div>{{EmbedLiveSample("duration_4s",275,150)}}</div>
-</div>
-</div>
-
-<h2 id="Specifications" name="Specifications">仕様書</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">仕様書</th>
- <th scope="col">状態</th>
- <th scope="col">備考</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{ SpecName('CSS3 Transitions', '#transition-duration-property', 'transition-duration') }}</td>
- <td>{{ Spec2('CSS3 Transitions') }}</td>
- <td>初回定義</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
-
-<p>{{Compat("css.properties.transition-duration")}}</p>
-
-<h2 id="See_also" name="See_also">関連情報</h2>
-
-<ul>
- <li><a href="/ja/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions">CSS トランジションの使用</a></li>
- <li>{{cssxref('transition')}}</li>
- <li>{{cssxref('transition-property')}}</li>
- <li>{{cssxref('transition-timing-function')}}</li>
- <li>{{cssxref('transition-delay')}}</li>
- <li>{{domxref("TransitionEvent")}}</li>
-</ul>
+- [CSS トランジションの利用](/ja/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions)
+- {{cssxref('transition')}}
+- {{cssxref('transition-property')}}
+- {{cssxref('transition-timing-function')}}
+- {{cssxref('transition-delay')}}
+- {{domxref("TransitionEvent")}}