本記事ではホバーした時に影ができるボタンをCSSのみで作成する方法について解説しています。
HTML/CSSの学習におすすめ参考書
1冊ですべて身につくHTML&CSSとWebデザイン入門講座
参考書が苦手な人はUdemyの動画がおすすめ
ちゃんと学ぶ、HTML+CSS&JavaScript入門講座
完成するボタン
本記事で作成するボタンの完成形の挙動を最初に確認しておきましょう。
このように、マウスカーソルがボタンに乗った時(ホバー)に右下にうっすら影が表示されているのが分かります。

ボタンの作成
まず基盤となるボタンを作成しましょう。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="container">
<button class="btn">ボタン</button>
</div>
</body>
</html>
CSSは外部で読み込ませているため、index.htmlと同じ階層にstyle.cssを作成し記述していきます。
style.css
/* 装飾 */
#container {
text-align: center;
}
.btn {
margin-top: 50px;
padding: 20px 80px;
font-weight: bold;
border: 2px solid #000;
background: #fff;
transition: all 0.5s;
}
ホバーした時にスタイルを適用させる
続いてホバーした時にだけスタイルを適用させるCSSを記述しましょう。
ホバーした時にだけスタイルを適用させるにはCSSの擬似クラス「:hover」を使います。
style.css
.btn:hover {
/* ホバー時の適用させるスタイルを記述 */
}
影を作る
最後に疑似ラクスの:hoverのブロック内に影を作成するスタイルを記述しましょう。
影を作るにはbox-shadowプロパティを使います。box-shadowプロパティは「左右の位置」「上下の位置」「ぼかし」「広がり」「カラー」「内側指定」の6つの値を設定することができます。
今回作成する影は右下にうっすらと表示される影なので、左右の位置・上下の位置・ぼかし・カラーの4つを指定します。
style.css
.btn:hover {
box-shadow: 5px 5px 10px #000; /* 右に5px・下に5px・ぼかし10pxの黒い影を表示 */
}

まとめ
今回はCSSを使ってホバー時に影を表示させるボタンを作成しました。今回のポイントについておさらいしましょう。