diff options
Diffstat (limited to 'files/ja/web/css/transform-function/perspective()/index.md')
-rw-r--r-- | files/ja/web/css/transform-function/perspective()/index.md | 195 |
1 files changed, 105 insertions, 90 deletions
diff --git a/files/ja/web/css/transform-function/perspective()/index.md b/files/ja/web/css/transform-function/perspective()/index.md index ba64284843..3be9e8d15f 100644 --- a/files/ja/web/css/transform-function/perspective()/index.md +++ b/files/ja/web/css/transform-function/perspective()/index.md @@ -3,84 +3,116 @@ title: perspective() slug: Web/CSS/transform-function/perspective() tags: - CSS - - CSS 変換 - CSS 関数 - - Reference + - CSS 座標変換 + - 関数 + - リファレンス +browser-compat: css.types.transform-function.perspective translation_of: Web/CSS/transform-function/perspective() --- -<div>{{CSSRef}}</div> +{{CSSRef}} -<p><a href="/ja/docs/Web/CSS">CSS</a> の <strong><code>perspective()</code></strong> 関数は、ユーザーと z=0 平面との間の距離を定義し、閲覧者からの視点は二次元のインターフェイスが三次元であったかのようになります。結果は {{cssxref("<transform-function>")}} データ型になります。</p> +**`perspective()`** は [CSS](/ja/docs/Web/CSS) の[関数](/ja/docs/Web/CSS/CSS_Functions)で、ユーザーと z=0 平面との間の距離を定義し、閲覧者からの視点は二次元のインターフェイスが三次元であったかのようになります。結果は {{cssxref("<transform-function>")}} データ型になります。 -<div>{{EmbedInteractiveExample("pages/css/function-perspective.html")}}</div> +{{EmbedInteractiveExample("pages/css/function-perspective.html")}} -<p class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</p> +`perspective()` 座標変換関数は {{cssxref('transform')}} 値の一部で、変形される要素に適用されます。これは {{cssxref('perspective')}} および {{cssxref('perspective-origin')}} の各プロパティが三次元空間に座標変換される子の親に付けられるのとは異なります。 -<p><code>perspective()</code> 変形関数は、変形される要素に適用される {{cssxref('transform')}} 値の一部です。これは {{cssxref('perspective')}} および {{cssxref('perspective-origin')}} の各プロパティが三次元空間に変形される子の親に付けられるのとは異なります。</p> +## 構文 -<h2 id="Syntax" name="Syntax">構文</h2> +`perspective()` で使用する視点距離は、{{cssxref("<length>")}} 値でユーザーと z=0 平面との間の距離を指定するか、または `none` で指定します。 +z=0 平面とは、二次元表示ですべてが見える平面、つまり画面のことです。 +負の値は構文エラーになります。 +`1px` より小さい値 (ゼロを含む) は `1px` になります。 +値が `none` 以外の場合、 z が正の位置にある要素は大きく表示されます。また、z が負の位置にある要素は小さく表示されます。 +z 位置が `perspective` の値と同じか大きい要素は、ユーザーの背後にあるかのようになり、非表示になります。 +`perspective()` が大きいと、変形が小さいことを表します。`perspective()` の値が小さいと、変形が大きいことを表します。`perspective(none)` は無限の距離からの遠近感を表し、変形はありません。 -<p><code>perspective()</code> を使用してしている視点距離は {{cssxref("<length>")}} 値で指定し、ユーザーと z=0 平面との間の距離を表します。 z=0 平面は二次元で表示されるすべてのものが表示される平面であり、または画面の平面です。正の数を指定すると、要素はインターフェイスの他のものよりもユーザーの近くに表示され、負の数を指定すると、遠くに表示されます。値がより大きくなるほど、ユーザーの視点は遠ざかります。</p> +```css +perspective(d) +``` -<pre class="syntaxbox notranslate">perspective(d) -</pre> +### 値 -<h3 id="Values" name="Values">値</h3> - -<dl> - <dt><var>d</var></dt> - <dd>{{cssxref("<length>")}} で、ユーザーと z=0 平面との間の距離を表します。 0 または負の数であった場合は、距離の変換は適用されません。</dd> -</dl> +- _d_ + - : {{cssxref("<length>")}} で、ユーザーと z=0 平面との間の距離を表します。 0 または負の数であった場合は、距離の変換は適用されません。 <table class="standard-table"> - <thead> - <tr> - <th scope="col">ℝ<sup>2</sup> のデカルト座標</th> - <th scope="col">ℝℙ<sup>2</sup> の同次座標</th> - <th scope="col">ℝ<sup>3</sup> のデカルト座標</th> - <th scope="col">ℝℙ<sup>3</sup> の同次座標</th> - </tr> - </thead> - <tbody> - <tr> - <td colspan="2" rowspan="2"> - <p>この変換は三次元空間に適用され、平面で表現することはできません。</p> - </td> - <td colspan="1" rowspan="2">この変換は ℝ<sup>3</sup> では線形変換ではないので、デカルト座標行列を使用して表現することはできません。</td> - <td colspan="1" rowspan="2"><math> <mfenced><mtable><mtr>1<mtd>0</mtd><mtd>0</mtd><mtd>0</mtd></mtr><mtr>0<mtd>1</mtd><mtd>0</mtd><mtd>0</mtd></mtr><mtr><mtd>0</mtd><mtd>0</mtd><mtd>1</mtd><mtd>0</mtd></mtr><mtr><mtd>0</mtd><mtd>0</mtd><mtd><mo>−</mo>1<mo>/</mo>d</mtd><mtd>1</mtd></mtr></mtable> </mfenced> </math></td> - </tr> - </tbody> + <thead> + <tr> + <th scope="col">ℝ^2 のデカルト座標</th> + <th scope="col">ℝℙ^2 の同次座標</th> + <th scope="col">ℝ^3 のデカルト座標</th> + <th scope="col">ℝℙ^3 の同次座標</th> + </tr> + </thead> + <tbody> + <tr> + <td colspan="2" rowspan="2"> + この変換は三次元空間に適用され、平面で表現することはできません。 + </td> + <td colspan="1" rowspan="2">この変換は ℝ^3 では線形変換ではないので、デカルト座標行列を使用して表現することはできません。</td> + <td> + <math + ><mfenced + ><mtable + ><mtr + ><mtd><mn>1</mn> </mtd><mtd><mn>0</mn> </mtd + ><mtd><mn>0</mn> </mtd><mtd><mn>0</mn> </mtd></mtr + ><mtr + ><mtd><mn>0</mn> </mtd><mtd><mn>1</mn> </mtd + ><mtd><mn>0</mn> </mtd><mtd><mn>0</mn> </mtd></mtr + ><mtr + ><mtd><mn>0</mn> </mtd><mtd><mn>0</mn> </mtd + ><mtd><mn>1</mn> </mtd><mtd><mn>0</mn> </mtd></mtr + ><mtr + ><mtd><mn>0</mn> </mtd><mtd><mn>0</mn> </mtd + ><mtd + ><mo>−</mo> + <mn>1</mn> + <mo>/</mo> + <mi>d</mi> </mtd + ><mtd><mn>1</mn></mtd></mtr + ></mtable + ></mfenced + ></math + > + </td> + </tr> + </tbody> </table> -<h2 id="Examples" name="Examples">例</h2> - -<h3 id="HTML">HTML</h3> - -<pre class="brush: html notranslate"><p>Without perspective:</p> -<div class="no-perspective-box"> - <div class="face front">A</div> - <div class="face top">B</div> - <div class="face left">C</div> -</div> - -<p>With perspective (9cm):</p> -<div class="perspective-box-far"> - <div class="face front">A</div> - <div class="face top">B</div> - <div class="face left">C</div> -</div> - -<p>With perspective (4cm):</p> -<div class="perspective-box-closer"> - <div class="face front">A</div> - <div class="face top">B</div> - <div class="face left">C</div> -</div> -</pre> - -<h3 id="CSS">CSS</h3> - -<pre class="brush: css notranslate">.face { +<h2 id="Examples">例</h2> + +### HTML + +```html +<p>Without perspective:</p> +<div class="no-perspective-box"> + <div class="face front">A</div> + <div class="face top">B</div> + <div class="face left">C</div> +</div> + +<p>With perspective (9cm):</p> +<div class="perspective-box-far"> + <div class="face front">A</div> + <div class="face top">B</div> + <div class="face left">C</div> +</div> + +<p>With perspective (4cm):</p> +<div class="perspective-box-closer"> + <div class="face front">A</div> + <div class="face top">B</div> + <div class="face left">C</div> +</div> +``` + +### CSS + +```css +.face { position: absolute; width: 100px; height: 100px; @@ -121,38 +153,21 @@ p + div { background-color: limegreen; transform: translate3d(0, 0, 50px); } -</pre> +``` -<h3 id="Result" name="Result">結果</h3> +### 結果 -<p>{{ EmbedLiveSample('Examples', '250', '350') }}</p> +{{ EmbedLiveSample('Examples', '250', '350') }} -<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("CSS Transforms 2", "#funcdef-perspective", "perspective()")}}</td> - <td>{{Spec2("CSS Transforms 2")}}</td> - <td>初回定義</td> - </tr> - </tbody> -</table> +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -<p><code><a href="/ja/docs/Web/CSS/transform-function#Browser_compatibility"><transform-function></a></code> データ型の互換性情報をご覧ください。</p> +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 -<ul> - <li>{{cssxref("transform")}}</li> - <li>{{cssxref("<transform-function>")}}</li> -</ul> +- {{cssxref("transform")}} +- {{cssxref("<transform-function>")}} |