网页动画效果 css3实现

CSS3小例子。这次由于时间有限,就做了几个相对比较简单的例子。我们一起来看一下。

第一种效果:

由于录制gif图片会掉帧,所以看起来不流畅,很卡,但其实实际效果还是不错的,有弹性一些。html代码:

<span class="shake">弹</span>

CSS代码:

.shake{    40px;    height:40px;    display:block;    background:lightgreen;   
border-radius:50%;
margin:5px; color:#fff; font-size:24px; text-align:center;
line-height:40px;
cursor:pointer; -webkit-transition:all 0.25s;}

.shake:hover{ -webkit-animation:shake 0.25s; background: lightblue;}

@-webkit-keyframes shake{
0%,10%,55%,90%,94%,98%,100%{
-webkit-transform:scale(1,1); }
30%{
-webkit-transform:scale(1.14,0.86); }
75%{
-webkit-transform:scale(0.92,1.08); }
92%{
-webkit-transform:scale(1.04,0.96); }
96%{
-webkit-transform:scale(1.02,0.98); }
99%{
-webkit-transform:scale(1.01,0.99); }}

昨晚,看到某人的个人博客网站的回到顶部按钮悬浮效果就是这样子的,还是比较有趣的,不过人家的效果可能比我的好一些,大家不妨试一下。

第二种效果:

这种效果其实目前线上很多网站都在用了,不管是使用CSS3,还是jQuery,都是可以实现的。那这里我只是简单地使用CSS3来实现。html代码:

<input class="search" type="text" placeholder="搜索...">

CSS代码:

.search{    80px;    height:40px;    border-radius:40px;    border:2px solid lightblue;    
position: absolute;
right:200px; outline:none; text-indent:12px; color:#666; font-size:16px; padding:0; -webkit-transition:width 0.5s;}

.search:focus{ 200px;}

一般旁边都会有一个按钮,这里我就不做了。

第三种效果:

这种效果也是很常用,比较多还是个人网站偏多。html代码:

<div class="banner">    <a href="javascript:;">博</a>    <span>这是我的个人博客</span></div>

CSS代码:

.banner{    234px;    height:34px;    border-radius:34px;    position:absolute;    top:400px;    left:200px;}

.banner a{ display:inline-block; 30px; height:30px; line-height:30px; border-radius:50%;
border:2px solid lightblue;
position:absolute; left:0px;top:0px; background:lightgreen; color:#fff;
text-align:center;
text-decoration:none; cursor:pointer; z-index:2;}

.banner a:hover + span{ -webkit-transform:rotate(360deg); opacity:1;}

.banner span{ display:inline-block; auto; padding:0 20px; height:34px;
line-height:34px;
background:lightblue; border-radius:34px; text-align: center;
position:absolute;
color:#fff; text-indent:25px; opacity:0; -webkit-transform-origin:8% center;
-webkit-transition:all 1s;

}

第四种效果:

这种提示效果就更常用了,很多网站都用。html代码:

<div class="banner1">    <a href="javascript:;">博</a>    <span>这是我的个人博客</span></div>

CSS代码:

.banner1{    234px;    height:34px;    border-radius:40px;    position:absolute;    top:400px;    left:600px;}

.banner1 a{ display:inline-block; 30px; height:30px; line-height:30px; border-radius:50%;
border:2px solid lightblue;
position:absolute; left:0px;top:0px; background:lightgreen; color:#fff;
text-align:center;
text-decoration:none; cursor:pointer; z-index:2;}

.banner1 a:hover + span{ -webkit-transform:translateX(40px);
opacity:1;
}

.banner1 span{ display:inline-block; auto;
padding:0 20px;
height:30px;line-height:30px;
background:lightblue;
border-radius:30px;
text-align: center;
color:#fff; position:absolute;
top:2px;
opacity:0; -webkit-transition:all 1s; -webkit-transform:translateX(80px);

}

第五种效果:

估计这种就是不常用了,自己做着玩,有兴趣看一下咯:

html结构:

<div class="wrapper">   
<div class="round">

<span>东邪</span>
<span>西毒</span>
<span>南乞</span>
<span>北丐</span>
</div>
</div>

CSS代码:

.wrapper{    
100px;

height:100px;

background:lightblue;

border-radius:50%;

border:2px solid lightgreen;

position: absolute;

top:200px;

left:400px;

cursor:pointer;
}
.wrapper:after{
content:'你猜';

display:inline-block;

100px;

height:100px;

line-height:100px;

border-radius:50%;

text-align:center;

color:#fff;

font-size:24px;
}

.wrapper:hover .round{
-webkit-transform:scale(1);

opacity:1;

-webkit-animation:rotating 6s 1.2s linear infinite alternate;
}

@-webkit-keyframes rotating{
0%{
-webkit-transform:rotate(0deg); }
100%{
-webkit-transform:rotate(180deg); }

}

.round{
240px;

height:240px;

border:2px solid lightgreen;

border-radius:50%;

position: absolute;

top:-70px;

left:-70px;

-webkit-transition:all 1s;

-webkit-transform:scale(0.35);

opacity:0;
}
.round span{
40px;

height:40px;

line-height:40px;

display:inline-block;

border-radius:50%;

background:lightblue;

border:2px solid lightgreen;

color:#fff;

text-align:center;

position:absolute;
}
.round span:nth-child(1)
{

right:-22px;

top:50%;

margin-top:-22px;

}

.round span:nth-child(2)
{

left:-22px;

top:50%;

margin-top:-22px;

}

.round span:nth-child(3)
{

left:50%;

bottom:-22px;

margin-left:-22px;

}

.round span:nth-child(4){
left:50%;

top:-22px;

margin-left:-22px;

}
原文地址:https://www.cnblogs.com/youran/p/14340024.html