マウスが乗ると枠線がアニメーションして出てくる
html
<div id="wrap">
<div class="box"></div>
</div>
CSS
#wrap{
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background: #000;
}
.box{
position: relative;
background: red;
width: 300px;
height: 300px;
}
.box:before,.box:after{
content: '';
position: absolute;
height: 3px;
width: 3px;
background: #fff;
transition: width 0.3s,height 0.3s;
}
.box:before{
top: 0;
right: 0;
box-shadow: -297px 0 0 0 #fff; /* 配置位置:親要素の大きさ(300) - 自身の大きさ(3) */
opacity: 0;
}
.box:after{
bottom: 0;
right: 0;
box-shadow: 0 -297px 0 0 #fff; /* 配置位置:親要素の大きさ(300) - 自身の大きさ(3) */
opacity: 0;
}
.box:hover:before{
opacity: 1;
height: 100%;
}
.box:hover:after{
opacity: 1;
width: 100%;
}