首页 >

CSS 实现加载动画之一-菊花旋转 – CSS – 前端,css兼容性工具

淘宝css,css 图片align,什么叫css样式,jsp中如何配置css,tp5 css模板,css控制页面整体放大缩小,css兼容性工具CSS 实现加载动画之一-菊花旋转 - CSS - 前端,css兼容性工具

CSS3新增了很多强大的功能,虽然会有兼容性的问题,但是阻挡不了大家去使用它的这些新特性。像一些简单的动画以前靠画图工具来实现,现在单纯用CSS也能非常简单的实现。下面的案例就是利用CSS加html如何实现菊花旋转的动画。

1.先看gif图

淘宝css,css 图片align,什么叫css样式,jsp中如何配置css,tp5 css模板,css控制页面整体放大缩小,css兼容性工具CSS 实现加载动画之一-菊花旋转 - CSS - 前端,css兼容性工具

2.代码实现思路

将这个动画分解下,共有五个步骤,先用一张图来说明下:

淘宝css,css 图片align,什么叫css样式,jsp中如何配置css,tp5 css模板,css控制页面整体放大缩小,css兼容性工具CSS 实现加载动画之一-菊花旋转 - CSS - 前端,css兼容性工具

2.1 先定义元素容器,定义每个线条的位置。

2.2 因为考虑到旋转时每根线条的透明度不一致,故要把单根线条分为两个区块。

2.3 使用CSS的rotate方法来对线条进行旋转,旋转的度数取决于线条的数量,最终使线条形成一个正圆。

2.4 在形成圆形的线条上面覆盖一个与背景同色的正圆,正圆圆心与线条形成的圆心保持一致,这样整个形状就会有镂空的感觉。

2.5 这一步最关键,就是形成动画的核心,其实整个动画的实现过程非常简单,就是改变每根线条的透明度,这个可以通过animation的动画延迟来实现,即每根线条的动画延迟时间根据其位置决定。

3. 主要使用的技术

主要用到了CSS3的rotate旋转方法和animation方法。

3.1rotate

rotate是transform方法中的一个属性,除了rotate之外,还有translate(平移),scale(缩放),skew(拉伸)。具体的就不详细解释了。

3.2 animation

animation方法的使用步骤是先使用@关键字定义动画的关键帧,然后在对应的样式名称里来引用。

案例中先定义动画load

@-webkit-keyframes load{
0%{opacity:0;}
100%{opacity:1;}
}

然后在使用动画的节点样式里来引用

.m-load2 .line div:nth-child(1):before{-webkit-animation:load 1.2s linear 0s infinite;}

其中load 1.2s linear 0s infinite这几个值分别对应动画的名称,动画持续的时间,动画显示的方式,动画的延迟时间,动画是否循环播放

另外还有动画播放的次数,动画是否反向播放等。

4.案例源代码

<!DOCTYPEhtml>
<html>
<head>
<metahttp-equiv="Content-Type"Content="text/html;charset=utf-8;">
<title>CSS3实现加载的动画效果1</title>
<metaname="author"content="rainna"/>
<metaname="keywords"content="rainna'scsslib"/>
<metaname="description"content="CSS3"/>
<style>
*{margin:0;padding:0;}
body{background:#535353;}
.m-load,.m-load2{width:36px;height:36px;margin:100pxauto;}
.m-load{background:url('load-v1.gif')#535353centercenterno-repeat;}
.m-load2{background:#535353;}
/**加载动画的静态样式**/
.m-load2{position:relative;}
.m-load2.linediv{position:absolute;left:16px;top:0;width:3px;height:36px;}
.m-load2.linediv:before,.m-load2.linediv:after{content:'';display:block;height:50%;background:#fcfcfc;border-radius:5px;}
.m-load2.linediv:nth-child(2){-webkit-transform:rotate(30deg);}
.m-load2.linediv:nth-child(3){-webkit-transform:rotate(60deg);}
.m-load2.linediv:nth-child(4){-webkit-transform:rotate(90deg);}
.m-load2.linediv:nth-child(5){-webkit-transform:rotate(120deg);}
.m-load2.linediv:nth-child(6){-webkit-transform:rotate(150deg);}
.m-load2.circlebg{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px00-9px;background:#535353;border-radius:18px;}
/**加载动画**/
@-webkit-keyframesload{
0%{opacity:0;}
100%{opacity:1;}
}
.m-load2.linediv:nth-child(1):before{-webkit-animation:load1.2slinear0sinfinite;}
.m-load2.linediv:nth-child(2):before{-webkit-animation:load1.2slinear0.1sinfinite;}
.m-load2.linediv:nth-child(3):before{-webkit-animation:load1.2slinear0.2sinfinite;}
.m-load2.linediv:nth-child(4):before{-webkit-animation:load1.2slinear0.3sinfinite;}
.m-load2.linediv:nth-child(5):before{-webkit-animation:load1.2slinear0.4sinfinite;}
.m-load2.linediv:nth-child(6):before{-webkit-animation:load1.2slinear0.5sinfinite;}
.m-load2.linediv:nth-child(1):after{-webkit-animation:load1.2slinear0.6sinfinite;}
.m-load2.linediv:nth-child(2):after{-webkit-animation:load1.2slinear0.7sinfinite;}
.m-load2.linediv:nth-child(3):after{-webkit-animation:load1.2slinear0.8sinfinite;}
.m-load2.linediv:nth-child(4):after{-webkit-animation:load1.2slinear0.9sinfinite;}
.m-load2.linediv:nth-child(5):after{-webkit-animation:load1.2slinear1sinfinite;}
.m-load2.linediv:nth-child(6):after{-webkit-animation:load1.2slinear1.1sinfinite;}
</style>
</head>
<body>
<divclass="m-load"></div>
<divclass="m-load2">
<divclass="line">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<divclass="circlebg"></div>
</div>
</body>
</html>



CSS 实现加载动画之一-菊花旋转 - CSS - 前端,css兼容性工具
  • css单项打钩 |moodys 评级 baa1 ericsson
  • css单项打钩 |moodys 评级 baa1 ericsson | css单项打钩 |moodys 评级 baa1 ericsson ...

    CSS 实现加载动画之一-菊花旋转 - CSS - 前端,css兼容性工具
  • css的引入方式和复合选择器,import引入css的区别 - CSS - 前端,css元素居中
  • css的引入方式和复合选择器,import引入css的区别 - CSS - 前端,css元素居中 | css的引入方式和复合选择器,import引入css的区别 - CSS - 前端,css元素居中 ...

    CSS 实现加载动画之一-菊花旋转 - CSS - 前端,css兼容性工具
  • 为什么使用html实体编码 - CSS - 前端,纯css的图片轮播代码
  • 为什么使用html实体编码 - CSS - 前端,纯css的图片轮播代码 | 为什么使用html实体编码 - CSS - 前端,纯css的图片轮播代码 ...