Chrome v150からzoomがアニメーション可能に
Google Chrome v150のアップデートにより、これまでアニメーションに対応していなかったCSSのzoomプロパティがtransitionによるアニメーションに対応しました。
要素をスムーズに拡大・縮小できる便利な機能ですが、transform: scale()とは明確に異なる挙動を示すため、思わぬレイアウト崩れを引き起こす可能性があります。
CSS
.box {
width: 200px;
height: 200px;
background-color: #e6f2ff;
border: 2px solid #0066cc;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 16px;
box-sizing: border-box;
zoom: 1;
transition: zoom 0.3s ease;
word-break: auto-phrase;
}
.box:hover {
zoom: 2;
}マウスオーバーで2倍の大きさ
意図せずアニメーションになる可能性がある
もし既存のCSSで、以下のようにallで「すべてのプロパティをトランジションさせる」指定をしている場合、意図しないアニメーションが発生するリスクがあります。
CSS
.box {
zoom: 1;
transition: all 0.3s ease;
}
.box.active {
zoom: 2;
}もし、ChromeまたはEdgeのバージョン150以降でWebサイトを閲覧したときに意図しないアニメーションが発生する箇所がある場合は、zoomの影響である可能性が考えられます。
主要なブラウザでzoomのアニメーションに対応しているのはChromeおよびEdgeのバージョン150以降だけです。
SafariおよびFirefoxでは利用不可なので注意が必要です。

