diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-12-31 00:19:33 +0900 |
---|---|---|
committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-01-09 12:36:34 +0900 |
commit | 089ec7c736b120610ca8ed6779e8b0fc5ef41bc8 (patch) | |
tree | 8c521c5c032ef5e58e3b9509930969bbd464bb69 /files | |
parent | 26b376f7dd188365e7247c305063fff6f91a5d0c (diff) | |
download | translated-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.md | 367 |
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">/* <time> 値 */ +```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><time></code></dt> - <dd>プロパティの古い値から新しい値へ遷移するのにかかる時間を表す {{cssxref("<time>")}} 形式の値です。<code>0s</code> の時間は、遷移が起こらないこと、すなわち、2 つの状態間の切り替えが瞬間的であることを示します。負の値を指定すると、宣言は無効になります。</dd> -</dl> +- `<time>` + - : プロパティの古い値から新しい値へ遷移するのにかかる時間を表す {{cssxref("<time>")}} 形式の値です。時間を `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"> <div class="parent"> - <div class="box">Lorem</div> -</div> - </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"> <div class="parent"> - <div class="box">Lorem</div> -</div> - </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"> <div class="parent"> - <div class="box">Lorem</div> -</div> - </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"> <div class="parent"> - <div class="box">Lorem</div> -</div> - </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")}} |