看了下面网站的按钮效果,想自己也试试。
http://tympanus.net/Development/CreativeLinkEffects/
按照上面网站的效果实现。
1.左右两侧出现边框的效果。相见代码如下:
html代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="../css/config.css" media="screen" title="no title" charset="utf-8">
</head>
<body>
<a href="#" class="button">
home
</a>
<a href="#" class="button"> project </a>
</body>
</html>
less代码:
@charset "UTF-8";
html,body{
margin:0px;
padding: 0px;
height: 100%;
}
//伪类before after的联系
.button{
display: inline-block;
padding:10px 20px 10px 20px;
position: relative;
cursor: pointer;
&::before,&::after{
display: inline-block;
opacity: 0;
.button-transion();
}
&::before{
content: "[";
.button-translate(10px);
}
&::after{
content: "]";
.button-translate(-10px);
}
&:hover::before{
.button-translate(0px);
opacity: 1;
}
&:hover::after{
.button-translate(0px);
opacity: 1;
}
.button-transion{
-moz-transition: all 0.3s linear;
-webkit-transition: all 0.3s linear;
-o-transition: all 0.3s linear;
transition: all 0.3s linear;
}
.button-translate(@c){
-moz-transform:translate(@c,0);
-webkit-transform:translate(@c,0);
-o-transform: translate(@c,0);
transform:translate(@c,0);
}
}
2.鼠标移动上移文字效果
html代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css3 动画按钮 demo3</title>
<link rel="stylesheet" href="../css/config.css" media="screen" title="no title" charset="utf-8">
</head>
<body>
<div style="margin:20px">
<a href="#" class="button3" >
<span text="home">home</span>
</a>
<a href="#" class="button3">
<span text="project">project</span>
</a>
</div>
</body>
</html>
less代码:
//伪类before after的联系
.button3{
color:#000;
text-decoration: none;
margin:5px 10px 5px 10px;
display: inline-block;
overflow: hidden;
height: 30px;
line-height: 30px;
span{
display: block;
.common-transion(all,0.3s,linear,0s);
}
span::after{
content: attr(text);
display: block;
font-weight: bold;
}
&:hover{
span{
.trasform-translate(0px,-50%);
}
}
}
3.鼠标移动出现下划线动画
html代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css3 动画按钮 demo2</title>
<link rel="stylesheet" href="../css/config.css" media="screen" title="no title" charset="utf-8">
</head>
<body>
<div style="margin:20px">
<a href="#" class="button2"> home </a>
<a href="#" class="button2"> project </a>
</div>
</body>
</html>
css代码:
//伪类before after的联系
.button2{
color:#000;
text-decoration: none;
margin:5px 10px 5px 10px;
padding:10px;
display: inline-block;
&::after{
height:2px;
width: 100%;
background: #000;
display: block;
content: "";
opacity: 0;
.trasform-translate(0px,10px);
.common-transion(all,0.3s,linear,0s);
}
&:hover::after{
opacity: 1;
.trasform-translate(0px,5px);
}
}