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");
    });
});