CSSだけで作る、画像hover時のエフェクトです。サンプルの花の画像にhoverすると、画像を少し拡大、回転し、タイトルとキャプション、リンク先の各テキストを中央に集まるようなエフェクトで表示します。
サンプルのhtmlソース
<div class="container">
<div class="figure">
<img src="../img3/img01.png" alt="花" width="300" height="200" class="transform">
<div class="mask">
<h3 class="figure-title">百万石受注システム</h3>
<p class="figure-caption">インターネットを利用した受注システムです(SaaS版、ASP版)。既存の販売管理、基幹システムとのデータ連携が可能です。</p>
</div>
<a href="../../p001/001.html" class="info-link">詳細ページへ</a>
</div>
</div>
サンプルのCSSソース
.container {
width: 340px;
margin: 20px auto;
cursor: default;
}
.container::after {
content: "";
clear: both;
display: block;
}
.figure {
position: relative;
color: white;
overflow: hidden;
float: left;
margin-left: 20px;
font-family: "Open Sans", sans-serif;
}
.mask {
position: absolute;
top: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
opacity: 0;
transition: 0.5s;
}
.figure-title,
.figure-caption {
position: absolute;
left: 20px;
width: 260px;
text-align: center;
opacity: 0;
transform: scale(10);
transition: 0.3s ease-in-out;
}
.figure-title {
top: 10px;
font-size: 24px;
font-weight: 600;
}
.figure-caption {
top: 60px;
font-size: 12px;
font-weight: 400;
}
.figure:hover .mask {
opacity: 1;
transition-duration: 0.3s;
}
.figure:hover .figure-title,
.figure:hover .figure-caption {
opacity: 1;
transform: scale(1);
}
.figure:hover .figure-title {
transition-delay: 0.1s;
}
.figure:hover .figure-caption {
transition-delay: 0.2s;
}
.transform,
.info-link {
transition: 0.3s ease-in-out;
}
.figure:hover .transform {
transform: rotate(-15deg) scale(1.4);
}
.info-link {
position: absolute;
top: 200px;
left: 100px;
width: 80px;
padding: 5px 10px;
background: navy;
color: white;
text-decoration: none;
}
.figure:hover .info-link {
top: 150px;
font-size:13px;
transition-delay: 0.4s;
}