很好看的css3动画按钮鼠标悬停效果【2个实例】
前一篇文章我介绍了5个悬停效果非常漂亮的css3动画按钮实例,本文将再通过2个实例介绍悬停效果很酷的css3实现的动画按钮。
demo
实例一
实例一:css3实现的动画按钮
我们做一个有星星的圆形按钮!当然,我们会让星星在悬停(hover)时旋转(伴随着微弱的震动)并显示其他文本。
标记
我们的按钮链接有三个span
。最后一个是悬停(hover)时显示的隐藏文本。
<a href=”#” class=”a-btn”>
<span></span>
<span>Sign up</span>
<span>It’s free!</span>
</a>
CSS
在这个例子中,我们将使用一些nth-child
。因为我们有3个span
,所以我们需要将它们称为.a-btn span:nth-child(1)
, .a-btn span:nth-child(2)
和 .a-btn span:nth-child(3)
。
我们将使按钮变成圆形,并添加一些非常漂亮的框阴影。为了使主文本垂直居中,我们将其显示设置为表格单元格。星星和隐藏的文字将绝对定位。
.a-btn{
width: 120px;
height: 120px;
border-radius: 50%;
display: block;
margin: 20px;
float: left;
background: #f0ad4e;
position: relative;
box-shadow:
0px 0px 5px 0px rgba(246, 212, 163, 0.5) inset,
0px -1px 5px 4px rgba(170, 77, 27, 0.2) inset,
0px 0px 0px 7px #fff,
0px 0px 1px 8px rgba(188, 188, 188, 0.4),
0px 0px 0px 9px #fff;
transition: all 0.3s linear;
}
.a-btn span{
display: table-cell;
width: 80px;
height: 80px;
padding: 20px;
text-align: center;
vertical-align: middle;
font-size: 26px;
color: #fff;
text-shadow: 0px 1px 1px #A03F16;
font-family: “Arvo”, “Myriad Pro”, “Trebuchet MS”, sans-serif;
transition: all 0.3s linear;
}
.a-btn span:nth-child(1),
.a-btn span:nth-child(3){
position: absolute;
top: 0px;
left: 0px;
font-size: 40px;
line-height: 36px;
opacity: 0;
}
.a-btn span:nth-child(1){
background: transparent url(../images/star.png) no-repeat center center;
opacity: 0.2;
}
悬停(hover)时,我们将更改按钮的框阴影,使其看起来被抬起。隐藏文本将淡入,我们将对初始文本应用弹出动画。我们将对星星应用旋转动画:
.a-btn:hover{
background: rgba(170, 77, 27, 0.6);
box-shadow:
0px 0px 5px 0px rgba(246, 212, 163, 0.5) inset,
0px -1px 5px 4px rgba(170, 77, 27, 0.2) inset,
0px 0px 0px 7px #fff,
1px 4px 5px 8px rgba(188, 188, 188, 0.6),
0px 0px 0px 9px #fff;
}
.a-btn:hover span:nth-child(3){
opacity: 1;
}
.a-btn:hover span:nth-child(2){
transform: scale(0);
opacity: 0;
}
.a-btn:hover span:nth-child(1){
animation: rotate 1s linear;
}
让我们在单击按钮时使其看起来被按下:
.a-btn:active{
box-shadow:
0px 0px 5px 0px rgba(246, 212, 163, 0.5) inset,
0px -1px 5px 4px rgba(170, 77, 27, 0.2) inset,
0px 0px 0px 7px #fff,
0px -1px 0px 8px rgba(188, 188, 188, 0.3),
0px 0px 0px 10px #fff;
}
.a-btn:active span:nth-child(2){
color: rgba(170, 77, 27, 0.8);
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.6);
}
旋转/跳动动画如下所示:
@-webkit-keyframes rotate{
0% { transform: scale(1) rotate(0);}
50% { transform: scale(0.5) rotate(180deg);}
100% { transform: scale(1) rotate(360deg);}
}
execcodegetcode
实例二
实例二:css3实现的动画按钮
在本例子中,我们将使用一些漂亮的框阴影创建一个三维外观。
标记
该结构将由按钮链接内部的3个span
元素组成。
<a href=”#” class=”a-btn”>
<span class=”a-btn-symbol”>J</span>
<span class=”a-btn-text”>Download Now</span>
<span class=”a-btn-slide-text”>Windows Vista / Windows 7</span>
</a>
CSS
.a-btn{
border-radius: 10px;
padding: 10px 30px 10px 70px;
position: relative;
float:left;
display: block;
overflow: hidden;
margin: 10px;
background: linear-gradient(top, #b7f2f4 0%,#7ce7ea 100%);
border: 1px solid #90c6c8;
border-color: #90c6c8 #78bdc0 #65b6ba;
box-shadow:
0px -5px 0px 0px #458a8c,
0 1px 1px #d5d5d5,
0 1px 0 rgba(255,255,255,0.8) inset;
transition: all 0.2s linear;
}
.a-btn-symbol{
font-family: ‘WebSymbolsRegular’, cursive;
color: #437b7d;
text-shadow: 0 1px 0 #bef3f5;
font-size: 20px;
position:absolute;
left: 20px;
width: 20px;
text-align: center;
line-height: 32px;
transition: all 0.3s ease-in-out;
}
.a-btn-text{
font-size: 20px;
color: #437b7d;
text-shadow: 0 1px 0 #bef3f5;
line-height: 16px;
font-weight: bold;
font-family: “Myriad Pro”, “Trebuchet MS”, sans-serif;
display: block;
}
.a-btn-slide-text{
font-family: Arial, sans-serif;
font-size: 10px;
letter-spacing: 1px;
text-transform: uppercase;
color: #555;
text-shadow: 0px 1px 1px rgba(255,255,255,0.9);
}
悬停时,我们将放大按钮并旋转小图标:
.a-btn:hover{
transform: scale(1.05);
}
.a-btn:hover .a-btn-symbol{
opacity: 0.5;
transform: rotate(360deg);
}
单击按钮时,我们将使按钮变小并通过调整框阴影来按下:
.a-btn:active{
transform: scale(0.95);
box-shadow:
0px 0px 0px 1px #458a8c,
0 1px 1px #d5d5d5, inset 0 1px 0 rgba(255,255,255,0.8),
0px 1px 1px 2px #fff;
}
execcodegetcode
本文介绍了2个css3动画按钮实例,前一篇文章我还介绍了5个css3动画按钮实例,同样悬停效果做得非常漂亮。