Webページにインタラクティブな要素を追加するために、CSSで画像をホバー時に拡大する方法を紹介します。シンプルなコードで、ユーザーに視覚的な楽しさを提供しましょう。
HTML
まず、HTMLファイルを作成し、画像をコンテナ内に配置します。以下は、その例です。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Zoom on Hover</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="image-container">
<img src="your-image.jpg" alt="Sample Image">
</div>
</body>
</html>
CSS
次に、CSSを設定します。ホバー時の画像拡大効果を実現するために、transformとtransitionプロパティを使用します。
.image-container {
display: inline-block;
overflow: hidden;
}
.image-container img {
transition: transform 0.3s ease;
}
.image-container:hover img {
transform: scale(1.2); /* 1.2倍に拡大 */
}
CSSコードの解説
ここでは、各CSSプロパティの役割を詳しく解説します。
.image-container
- display: inline-block;:画像をインラインブロック要素として扱います。
- transformプロパティの変更に0.3秒のアニメーションを適用します。これにより、ホバー時の変化がスムーズになります。
.image-container img
- transition: transform 0.3s ease;:transformプロパティの変更に0.3秒のアニメーションを適用します。これにより、ホバー時の変化がスムーズになります。
.image-container:hover img
- transform: scale(1.2);:ホバー時に画像を1.2倍に拡大します。この値は必要に応じて調整できます。
サンプル

よくある質問(FAQ)
Q. CSSでホバー時に画像を拡大するには?
A. .img-wrapper { overflow: hidden; } img { transition: transform 0.3s; } img:hover { transform: scale(1.1); }のように設定します。overflow: hiddenで拡大時のはみ出しをクリップします。
Q. ホバーで画像が明るく・暗くなる効果をCSSで付けるには?
A. img:hover { filter: brightness(1.2); }で明るく、filter: brightness(0.8)で暗くなります。transitionと組み合わせてスムーズな変化になります。
Q. ホバー時に画像の上にオーバーレイを表示するには?
A. 画像と同サイズのdivをposition: absoluteでオーバーレイして、:hoverでopacity: 0から1にします。親要素にposition: relativeを設定することを忘れずに。
まとめ
CSSのtransformとtransitionプロパティを使用することで、ホバー時に画像を拡大する効果を簡単に追加できます。これにより、ユーザー体験を向上させることができます。ぜひ、自分のプロジェクトに取り入れてみてください。
