CSSでホバー時に要素をズーム(拡大)表示する方法
CSSで要素にマウスカーソルを合わせたとき(ホバー時)に、その要素をズーム・拡大表示するには、transformプロパティとtransitionプロパティを組み合わせて使用します。以下に具体的なコード例を示します。
コード例
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
* {
box-sizing: border-box;
}
.zoomDiv {
padding: 50px;
background-color: yellow;
transition: transform 0.2s;
width: 200px;
height: 200px;
margin: 70px;
border-radius: 50%;
border: 4px solid rgb(78, 37, 155);
}
.zoomDiv:hover {
transform: scale(1.5);
}
</style>
</head>
<body>
<h1>ホバーでズームするサンプル</h1>
<h2>下の要素にマウスカーソルを合わせると拡大されます。</h2>
<div class="zoomDiv"></div>
</body>
</html>実行結果
上記のコードを実行すると、次のように黄色い円形の要素が表示されます。

この円にマウスカーソルを合わせると、要素が滑らかに1.5倍に拡大されます。

コードのポイント
- transition: transform 0.2s; … 変化にかかる時間を0.2秒に設定し、拡大がスムーズに行われるようにしています。
- .zoomDiv:hover … マウスカーソルが要素に重なったときに適用されるスタイルです。
- transform: scale(1.5); … 要素を元のサイズの1.5倍に拡大します。数値を変更することで拡大率を自由に調整できます。
この手法は、ボタンやカード型のUIなど、ユーザーの注目を引きたい要素に対して効果的に活用できます。
-
CSSでホバー時にトランジション(アニメーション)を追加する方法を解説
CSSでホバー時にトランジション(滑らかなアニメーション効果)を追加するには、transitionプロパティと:hover疑似クラスを組み合わせて使用します。あらかじめ要素にtransitionを設定しておくことで、ホバー時の変化が瞬時に切り替わるのではなく、指定した時間をかけてスムーズに変化するようになります。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1&q
-
CSSアニメーションで要素を円形の軌道上に移動させる方法
CSSアニメーションを活用すると、rotate(回転)とtranslate(平行移動)を組み合わせることで、要素をさまざまな方法で動かすことができます。 本記事では、このテクニックを応用して、要素を円形の軌道(サーキュラーパス)に沿って移動させる方法を解説します。 円形移動の仕組み ポイントは、@keyframesの中で以下の3つの変換を組み合わせることです。 rotate():要素を回転させ、移動する向きを決める translateX():回転させた方向へ要素を押し出し、中心からの距離を作る rotate()(逆回転):要素自体の傾きを打ち消し、常に直立した状態を保つ アニメーションの進