JSFiddle - React, Tailwind, and code Playground
by ponzu
HTML
<div class="content">
<p class="inner">マウスオーバーすると下からキャプションが出てきます</p>
<p class="caption1">Caption</p>
</div>
<div class="content">
<p class="inner">マウスオーバーするとリンクがフェードインします</p>
<div class="caption2"><a class="link" href="#">Link</a></div>
</div>
CSS
.content {
position:relative;
background:#ddd;
margin:20px auto;
width:150px;
height:150px;
overflow:hidden;
}
.inner {
padding:10px;
}
.caption1 {
position:absolute;
left:0;
top:150px;
background-color: rgba(0, 0, 0, 0.6);
color:#fff;
padding:10px;
width:130px;
height:130px;
}
.caption2 {
position:absolute;
left:0;
top:0;
display:none;
color:#fff;
padding:10px;
width:130px;
height:130px;
text-align:center;
}
.link {
display:inline-block;
margin:50px 0 0;
background:#333;
color:#fff;
padding:5px;
text-decoration:none;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
}
JavaScript
//キャプション下から
$(function () {
$('.content').hover(function () {
$('.caption1', this).animate({
top: "75px"
}, 500);
}, function () {
$('.caption1', this).animate({
top: "150px"
}, 500);
});
});
//キャプションフェードイン
$(function () {
$('.content').hover(function () {
$('.caption2', this).fadeIn("slow");
}, function () {
$('.caption2', this).fadeOut("slow");
});
});