scale
scale は CSS のプロパティで、 transform とは個別に独立しての拡大縮小変換を指定することができます。これは一般のユーザーインターフェイスの利用においてはより適しており、 transform の値で座標変換関数を指定する実際の順序を思い出す手間を軽減します。
構文
css
/* キーワード値 */
scale: none;
/* 1 つの値 */
/* 1 より大きい値で要素を拡大 */
scale: 2;
/* 1 より小さい値で要素を縮小 */
scale: 0.5;
/* 2 つの値 */
scale: 2 0.5;
/* 3 つの値 */
scale: 2 0.5 2;
/* グローバル値 */
scale: inherit;
scale: initial;
scale: revert;
scale: unset;
値
- 1 つの数値
-
該当する要素の拡大率を指定する
<number>であり、 X および Y 軸で同じの拡大縮小になります。scale()(2D の拡大縮小) 関数に 1 つの値を指定した場合と等価です。 - 2 つの長さ/パーセント値
-
2 つの
<number>値で、2D の拡大縮小における X 軸と Y 軸の拡大率を (それぞれ) 指定します。scale()(2D の拡大縮小) 関数に 2 つの値を指定した場合と等価です。 - 3 つの長さ/パーセント値
-
3 つの
<number>値で、3D の拡大縮小における X 軸と Y 軸と Z 軸の拡大率を (それぞれ) 指定します。scale3d()(3D の拡大縮小) 関数と等価です。 none-
拡大率が適用されないことを示します。
公式定義
| 初期値 | none |
|---|---|
| 適用対象 | 変形可能要素 |
| 継承 | なし |
| 計算値 | 指定通り |
| アニメーションの種類 | 変形 |
| 重ね合わせコンテキストの生成 | あり |
形式文法
例
上に乗った際の要素の拡大
HTML
html
<div>
<p class="scale">Scaling</p>
</div>
CSS
css
* {
box-sizing: border-box;
}
html {
font-family: sans-serif;
}
div {
width: 150px;
margin: 0 auto;
}
p {
padding: 10px 5px;
border: 3px solid black;
border-radius: 20px;
width: 150px;
font-size: 1.2rem;
text-align: center;
}
.scale {
transition: scale 1s;
}
div:hover .scale {
scale: 2 0.7;
}
Result
仕様書
| Specification |
|---|
| CSS Transforms Module Level 2 # individual-transforms |
ブラウザーの互換性
BCD tables only load in the browser