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

View in English Always switch to English

scaleX()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

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

試してみましょう

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

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

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

構文

css
scaleX(s)

s

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

直交座標系 (ℝ^2) 同次座標系 (ℝℙ^2) 直交座標系 (ℝ^3) 同次座標系 (ℝℙ^3)
(s 0 0 1) (s 0 0 0 1 0 0 0 1) (s 0 0 0 1 0 0 0 1) (s 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1)
[s 0 0 1 0 0]

HTML

html
<div>Normal</div>
<div class="scaled">Scaled</div>

CSS

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

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

結果

仕様書

Specification
CSS Transforms Module Level 1
# funcdef-transform-scalex

ブラウザーの互換性

関連情報