四个方向鼠标滑入的css动画


<!DOCTYPE html>
<html><head>
<title>测试</title>
<meta charset="UTF-8">
<style>
*{margin:0;}

/* The wrapper */
.b-block {
position: relative;

display: inline-block;
overflow: hidden;
width: 10em;
height: 10em;

vertical-align: middle;

-webkit-transform: translateZ(0);
}

/* The blocks that would be hovered */
.b-block__hoverer {
position: absolute;
z-index: 1;

width: 71%;
height: 71%;
opacity:0;

-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}

/* Positioning for hoverers */
.b-block__hoverer:nth-child(1) {
top: 0;
right: 0;
-webkit-transform-origin: 100% 0;
-moz-transform-origin: 100% 0;
-o-transform-origin: 100% 0;
transform-origin: 100% 0;
}
.b-block__hoverer:nth-child(2) {
bottom: 0;
right: 0;
-webkit-transform-origin: 100% 100%;
-moz-transform-origin: 100% 100%;
-o-transform-origin: 100% 100%;
transform-origin: 100% 100%;
}
.b-block__hoverer:nth-child(3) {
bottom: 0;
left: 0;
-webkit-transform-origin: 0 100%;
-moz-transform-origin: 0 100%;
-o-transform-origin: 0 100%;
transform-origin: 0 100%;
}
.b-block__hoverer:nth-child(4) {
top: 0;
left: 0;
-webkit-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-o-transform-origin: 0 0;
transform-origin: 0 0;
}

/* Enlarge the hoverer to cover the whole area */
.b-block__hoverer:hover {
z-index: 9;

line-height: 10em;
text-align:center;
opacity:1;

width: 100%;
height: 100%;

-webkit-transform: none;
-moz-transform: none;
-o-transform: none;
transform: none;
}

/* Styles for content block */
.b-block__content {
position: absolute;
top: 0;
left: 0;

width: 100%;
height: 100%;

text-align: center;
line-height: 10em;

background: #333;
color: #FFF;

/* Restore the antialiasing lost from translateZ */
-webkit-font-smoothing: subpixel-antialiased;

-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;

-webkit-box-shadow: 0 -10em 0 0 red, 10em 0 0 0 pink, 0 10em 0 0 lime, -10em 0 0 0 orange;
-moz-box-shadow: 0 -10em 0 0 red, 10em 0 0 0 pink, 0 10em 0 0 lime, -10em 0 0 0 orange;
box-shadow: 0 -10em 0 0 red, 10em 0 0 0 pink, 0 10em 0 0 lime, -10em 0 0 0 orange;
}

/* Move the content block while hovering different blocks */
.b-block__hoverer:nth-child(1):hover ~ .b-block__content {
-webkit-transform: translate(0, 100%);
-moz-transform: translate(0, 100%);
-o-transform: translate(0, 100%);
transform: translate(0, 100%);
}
.b-block__hoverer:nth-child(2):hover ~ .b-block__content {
-webkit-transform: translate(-100%, 0);
-moz-transform: translate(-100%, 0);
-o-transform: translate(-100%, 0);
transform: translate(-100%, 0);
}
.b-block__hoverer:nth-child(3):hover ~ .b-block__content {
-webkit-transform: translate(0, -100%);
-moz-transform: translate(0, -100%);
-o-transform: translate(0, -100%);
transform: translate(0, -100%);
}
.b-block__hoverer:nth-child(4):hover ~ .b-block__content {
-webkit-transform: translate(100%, 0);
-moz-transform: translate(100%, 0);
-o-transform: translate(100%, 0);
transform: translate(100%, 0);
}

/* Just for aestetics */
BODY {
padding: 2em;
font: 16px/1.5 "Helvetica Neue", Arial, sans-serif;
text-align: center;
}

</style>
</head>
<body >
<p>Try to hover this block from different directions</p>
<p>↓</p>
<span>→ </span>
<div class="b-block">
<div class="b-block__hoverer">A</div>
<div class="b-block__hoverer">B</div>
<div class="b-block__hoverer">C</div>
<div class="b-block__hoverer">D</div>

<div class="b-block__content">
Hover me!
</div>
</div>
<span> ←</span>
<p>↑</p>

</body></html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值