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

View in English Always switch to English

CSS skewX() 関数

Baseline 広く利用可能

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

skewX()CSS関数で、要素を二次元平面上で水平方向にゆがめる変換を定義します。結果は <transform-function> データ型になります。

試してみましょう

transform: skewX(0);
transform: skewX(35deg);
transform: skewX(-0.06turn);
transform: skewX(0.352rad);
<section id="default-example">
  <img
    class="transition-all"
    id="example-element"
    src="/shared-assets/images/examples/firefox-logo.svg"
    width="200" />
</section>

この変換はシアー変形 (せん断写像) で、要素内のそれぞれの点を水平方向に指定された角度でゆがませます。それぞれの点の横座標は、指定された角度と原点からの距離に比例した値によって変更されます。よって、原点から遠くなるにしたがって、加えられる値が大きくなります。

メモ: skewX(a)skew(a) と等価です。

構文

css
skewX(a)

a

<angle> で、横座標方向にゆがめるのに使用する角度を表します。

直交座標系 (ℝ^2) 同次座標系 (ℝℙ^2) 直交座標系 (ℝ^3) 同次座標系 (ℝℙ^3)
(1tan(a)01)\left( \begin{array}{cc} 1 & \tan(a) \\ 0 & 1 \end{array} \right)
(1tan(a)0010001)\left( \begin{array}{ccc} 1 & \tan(a) & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right)
(1tan(a)0010001)\left( \begin{array}{ccc} 1 & \tan(a) & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right)
(1tan(a)00010000100001)\left( \begin{array}{cccc} 1 & \tan(a) & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)
[1 0 tan(a) 1 0 0]

形式文法

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

HTML

html
<div>通常</div>
<div class="skewed">歪め</div>

CSS

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

.skewed {
  transform: skewX(10deg); /* skew(10deg) と同じ */
  background-color: pink;
}

結果

仕様書

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

ブラウザーの互換性

関連情報