本記事では、CSSで要素に傾斜を付けることができるtransform:skew()の使い方について画像付きで分かりやすく解説しています。
transform:skew()を習得することで、斜めに背景色・画像を表示することができるようになります。
ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】
HTML/CSSの学習におすすめ参考書
1冊ですべて身につくHTML&CSSとWebデザイン入門講座
サンプルコード
以降の解説で実際にskew()を使って要素を斜めにする方法を解説していきます。自分のパソコンでコードを入力しながら確認したい方は以下のサンプルコードを使用してください。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="container">
<div id="rect"></div>
</div>
</body>
</html>
#container {
margin-top: 300px;
text-align: center;
}
#rect {
display: inline-block;
width: 300px;
height: 300px;
background: linear-gradient(
90deg,
rgba(2, 0, 36, 1) 0%,
rgba(9, 121, 25, 0.671327906162465) 0%,
rgba(0, 212, 255, 1) 100%
);
}

300pxの正方形が表示されるのが確認できます。#rectにskew()を適用させると正方形が変形します。
transform:skew()の使い方
transform:skew()の使い方は、()内に要素を傾斜させたい角度を記述します。第一引数に横(X軸)の角度を指定し、第二引数に縦(Y軸)の角度を指定します。第二引数を省略した場合、縦(Y軸)の値が0になります。
▼X軸、Y軸共に正の数を設定した場合
#rect {
transform: skew(10deg, 10deg);
}

▼X軸、Y軸共に負の数を設定した場合

▼X軸を正の数、Y軸を負の数を設定した場合
#rect {
transform: skew(10deg, -10deg);
}

▼X軸を負の数、Y軸を正の数を設定した場合
#rect {
transform: skew(-10deg, 10deg);
}

▼第二引数を省略した場合
#rect {
transform: skew(10deg);
}

skewX()の使い方
transform:skewX()は、横(X軸)だけを傾斜させたい時に使います。使い方は、()内に傾斜させたい横(X軸)の角度を指定します。
▼正の数に設定した場合
#rect {
transform: skewX(45deg);
}

▼負の数に設定した場合
#rect {
transform: skewX(-45deg);
}

skewY()の使い方
transform:skewY()は、縦(Y軸)だけを傾斜させたい時に使います。使い方は、()内に傾斜させたい縦(Y軸)の角度を指定します。
▼正の数に設定した場合
#rect {
transform: skewY(45deg);
}

▼負の数に設定した場合
#rect {
transform: skewY(-45deg);
}
