[CSS] マウスオーバーで画像をズームアップするボタンリンクを設置したい
マウスオーバーしたときに、画像をぐっとズームアップさせるボタンリンクがあります。
見た目もかっこいいですし、リンク要素だということがわかりやすいです。主要なページへのリンクとして、インパクトのある画像と組み合わせて設置すると効果的です。
そんなズームアップする画像リンクボタンの実装例をご紹介します。
サンプルコード
html
<a href="" class="btn_zoom">
<img src="sample.jpg" alt="リンク">
<span>リンク</span>
</a>
CSS
.btn_zoom {
display: table;
position: relative;
color: #fff;
overflow: hidden;
}
.btn_zoom:hover {
color: #fff;
}
.btn_zoom > img {
transition: transform 0.5s;
}
.btn_zoom:hover > img {
transform: scale(1.2);
}
.btn_zoom > span {
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
padding-right: 2em;
font-size: 24px;
font-weight: bold;
}
.btn_zoom > span::after {
position: absolute;
top: 50%;
right: 0px;
width: 0.5em;
height: 0.5em;
transform: translateY(-50%) rotate(45deg);
border-right: 2px solid currentColor;
border-top: 2px solid currentColor;
content: "";
}
仕組み、解説、補足など
マウスオーバー時に、画像に対して「transform: scale(1.2);」と指定することで、画像の中心画像を基点にズームアップします。
単純にズームすると、ボタンのサイズを飛び越して画像が引き伸ばされてしまうので、ボタンに対して「overflow: hidden;」を指定することではみ出した部分が非表示になります。
ご質問など受け付けています
記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。
ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。