このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

CSS scaleY() 関数

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

scaleY()CSS関数で、要素を Y 軸に沿って (垂直に) 変倍する座標変換を定義します。結果は <transform-function> データ型になります。

試してみましょう

transform: scaleY(1);
transform: scaleY(0.7);
transform: scaleY(1.3);
transform: scaleY(-0.5);
<section id="default-example">
  <img
    class="transition-all"
    id="example-element"
    src="/shared-assets/images/examples/firefox-logo.svg"
    width="200" />
</section>

これは要素のそれぞれの点の横軸(垂直、Y 成分)を一定の係数で修正しますが、係数が 1 である場合はこの関数が恒等変換になるので例外です。変倍は等方性ではなく、要素の角度は保存されません。 scaleY(-1)軸の線対称を定義し、水平軸は (transform-origin プロパティの指定通りに) 原点を通過します。

メモ: scaleY(sy)scale(1, sy) または scale3d(1, sy, 1) と等価です。

transform: rotateX(180deg); === transform: scaleY(-1);

構文

css
scaleY(s)

s

<number> で、要素のそれぞれの点の縦座標に適用する変倍係数を表します。

直交座標系 (ℝ^2) 同次座標系 (ℝℙ^2) 直交座標系 (ℝ^3) 同次座標系 (ℝℙ^3)
(100s)\left( \begin{array}{cc} 1 & 0 \\ 0 & s \end{array} \right)
(1000s0001)\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & s & 0 \\ 0 & 0 & 1 \end{array} \right)
(1000s0001)\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & s & 0 \\ 0 & 0 & 1 \end{array} \right)
(10000s0000100001)\left( \begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & s & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)
[1 0 0 s 0 0]

形式文法

<scaleY()> = 
scaleY( <number> )
この構文は CSS Transforms Module Level 1 による最新の標準を反映しています。すべてのブラウザーがすべての部分を実装しているわけではありません。サポート情報についてはブラウザーの互換性を参照してください。

HTML

html
<div>通常</div>
<div class="scaled">変倍</div>

CSS

css
div {
  width: 80px;
  height: 80px;
  background-color: skyblue;
}

.scaled {
  transform: scaleY(0.6);
  background-color: pink;
}

結果

仕様書

仕様書
CSS Transforms Module Level 1
# funcdef-transform-scaley

ブラウザーの互換性

関連情報