幽灵按钮实例
幽灵按钮,听名字有点不解?无碍,简单的来说就是一个按钮,移上去背景动一下,然后弹出个提示框,提示框在按钮的正上方而且居中,按钮上方有个图片,移上去有旋转360deg效果。不多说了,还是附上代码吧。由于采用了css3属性,所以,只兼容高级浏览器
主要知识点:
transform
transition
box-sizing
border-radius
html:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>幽灵按钮</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<!--
主要知识点:
transform
transition
box-sizing
border-radius
-->
<div class="box">
<div class="link link-miss">
<span class="icon"></span>
<a href="#" class="button" data-title="my mission is clear">
<span class="line line-top"></span>
<span class="line line-left"></span>
<span class="line line-right"></span>
<span class="line line-bottom"></span>
MISSION
</a>
</div>
<div class="link link-play">
<span class="icon"></span>
<a href="#" class="button" data-title="this is my playground">
<span class="line line-top"></span>
<span class="line line-left"></span>
<span class="line line-right"></span>
<span class="line line-bottom"></span>
MISSION
</a>
</div>
<div class="link link-touch">
<span class="icon"></span>
<a href="#" class="button" data-title="lets to something together">
<span class="line line-top"></span>
<span class="line line-left"></span>
<span class="line line-right"></span>
<span class="line line-bottom"></span>
MISSION
</a>
</div>
<div class="tip">
<em></em>
<span></span>
</div>
</div>
<script src="js/jquery-1.7.2.js"></script>
<script>
$(function(){
$('.link .button').hover(function(){
var title=$(this).attr('data-title');
$('.tip em').text(title);
var pos=$(this).offset().left;
var dis=($('.tip').outerWidth()-$(this).outerWidth())/2;
$('.tip').css({
left:(pos-dis)+'px',
opacity:1
}).animate({
top:'200',
opacity:1
},300);
},function(){
$('.tip').animate({
top:160,
opacity:0
});
},300);
});
</script>
</body>
</html>
css:
*{
margin: 0;
padding: 0;
}
body{
background: #333;
}
.box{
width: 1000px;
height: 280px;
margin: 50px auto;
}
.box .link{
width: 205px;
height: 280px;
margin: 0 20px;
float: left;
position: relative;
}
/*span*/
.link .icon{
width: 100%;
height: 190px;
display: inline-block;
transition:0.2s linear;
-webkit-transition:0.2s linear;
-ms-transition:0.2s linear;
-o-transition:0.2s linear;
-moz-transition:0.2s linear;
}
.link-miss .icon{
background:url(img/0.jpg) no-repeat center center;
}
.link-play .icon{
background:url(img/1.jpg) no-repeat center center;
}
.link-touch .icon{
background:url(img/2.jpg) no-repeat center center;
}
.link .icon:hover{
tansform:rotate(360deg) scale(1.2);
-ms-transform:rotate(360deg) scale(1.2);
-webkit-transform:rotate(360deg) scale(1.2);
-o-transform:rotate(360deg) scale(1.2);
-moz-tansform:rotate(360deg) scale(1.2);
}
.button{
position: relative;
display: block;
width: 180px;
height: 50px;
text-decoration: none;
line-height: 50px;
color: #2bcb70;
font-family: sans-serif;
font-weight: bold;
border: 2px solid rgba(255,255,255,0.8);
padding-left: 20px;
margin: 0 auto;
box-sizing:border-box;
-webkit-box-sizing:border-box;
background: url(img/right.jpg) no-repeat 130px center;
transition:0.2s ease;
-webkit-transition:0.2s ease;
-ms-transition:0.2s ease;
-o-transition:0.2s ease;
-moz-transition:0.2s ease;
}
.button:hover{
border: 2px solid rgba(255,255,255,1);
background-position: 140px center;
}
.button .line{
display: block;
position: absolute;
background: none;
transition:0.2s ease;
-webkit-transition:0.2s ease;
-ms-transition:0.2s ease;
-o-transition:0.2s ease;
-moz-transition:0.2s ease;
}
.button:hover .line{
background: #fff;
}
/*top 高度不变,宽度在变,位置从左到右*/
.button .line-top{
width: 0px;
height: 2px;
left: -110%;
top: -2px;
}
.button:hover .line-top{
width: 180px;
left: -2px;
}
.button .line-bottom{
width: 0px;
height: 2px;
right: -110%;
bottom: -2px;
}
.button:hover .line-bottom{
width: 180px;
right: -2px;
}
.button .line-left{
width: 2px;
height: 0px;
bottom: -110%;
left: -2px;
}
.button:hover .line-left{
width: 2px;
height: 50px;
bottom: -2px;
left: -2px;
}
.button .line-right{
width: 2px;
height: 0px;
top: -110%;
right: -2px;
}
.button:hover .line-right{
width: 2px;
height: 50px;
top: -2px;
right: -2px;
}
.box .tip{
position: absolute;
padding: 0 14px;
height: 35px;
line-height: 35px;
background: #2dcb70;
top: 160px;
font-size: 16px;
font-weight: normal;
text-transform: none;
margin: 0 auto;
border-radius: 3px;
opacity: 0;
}
.tip em{
font-style: normal;
}
.tip span{
position: absolute;
width: 0;
height: 0;
overflow: hidden;
border: 7px solid transparent;
border-top-color: #2dcb70;
left: 50%;
margin-left: -3px;
bottom:-14px;
}

浙公网安备 33010602011771号