
CSSのzoomプロパティが標準化
zoomプロパティは非標準的なプロパティのため、モダンなウェブ標準では推奨されていませんでしたが、2024年から標準化 (Baseline 2024 Newly available) となりました。
zoomプロパティは要素のサイズを拡大・縮小するためのプロパティです。
例えば要素に「zoom: 2;」のように指定すれば、2倍にサイズを拡大できます。
CSS
.foo {
zoom: 2;
}
Mdnのドキュメントには「このプロパティの代わりに、transform: scale() を使用することもできます。」と記載されています。
しかし、transform: scale()はレイアウトに影響を与えずに他の要素に重って拡大・縮小するので、transform: scale()はzoomの代わりにはなりません。
zoomプロパティはCSSアニメーション不可
zoomプロパティはtransform: scale()と違い、拡大・縮小するとレイアウトに影響を与えるので、レスポンシブWebデザインとの相性が良いです。
一方でzoomプロパティはCSSアニメーションは不可なので、以下のようにtransitionプロパティなどを使ってもCSSアニメーションにならないので、使用する際は注意が必要です。
CSS
.scale,
.zoom {
border: 1px solid orange;
}
.scale {
scale: 1;
}
.zoom {
zoom: 1;
}
.scale.double {
scale: 2;
transition: scale 2s;
}
.zoom.double {
zoom: 2;
transition: zoom 2s;
}
See the Pen CSS zoomプロパティはCSSアニメーション不可 by iwbjp (@xzdrtugn-the-reactor) on CodePen.
zoom - CSS: カスケーディングスタイルシート | MDN