最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

动画animation的三个应用(漂浮的白云、旋转的星球、正方体合成)-小火柴的蓝色理想

来源:动视网 责编:小采 时间:2020-11-27 16:43:46
文档

动画animation的三个应用(漂浮的白云、旋转的星球、正方体合成)-小火柴的蓝色理想

动画animation的三个应用(漂浮的白云、旋转的星球、正方体合成)-小火柴的蓝色理想:× 目录 [1]漂浮的白云 [2]旋转的星球 [3]正方体合成 前面的话 前面介绍过动画animation的详细用法,本文主要介绍动画animation的三个效果 漂浮的白云 【效果演示】 【简要介绍】 漂浮的白云主要通过远景白云和近景白云来实现立体漂浮效果。远景和
推荐度:
导读动画animation的三个应用(漂浮的白云、旋转的星球、正方体合成)-小火柴的蓝色理想:× 目录 [1]漂浮的白云 [2]旋转的星球 [3]正方体合成 前面的话 前面介绍过动画animation的详细用法,本文主要介绍动画animation的三个效果 漂浮的白云 【效果演示】 【简要介绍】 漂浮的白云主要通过远景白云和近景白云来实现立体漂浮效果。远景和


×
目录
[1]漂浮的白云 [2]旋转的星球 [3]正方体合成

前面的话

  前面介绍过动画animation的详细用法,本文主要介绍动画animation的三个效果

漂浮的白云

【效果演示】

【简要介绍】

  漂浮的白云主要通过远景白云和近景白云来实现立体漂浮效果。远景和近景分别使用两张背景图片,通过改变其背景定位来实现白云移动效果,通过设置不同的动画持续时间来实现交错漂浮的效果

【主要代码】

.box{
 position: relative;
 height: 300px;
 width: 500px;
} 
.in1,.in2{
 position: absolute;
 height: 100%;
 width: 100%;
 background-size:cover;
 animation: move 100s infinite linear alternate;
}
@keyframes move{
 100%{background-position: 500% 0;}
}
.in1{
 background-image: url('http://sandbox.runjs.cn/uploads/rs/26/ddzmgynp/cloud.png'); 
}
.in2{
 background-image: url('http://sandbox.runjs.cn/uploads/rs/26/ddzmgynp/cloud1.png');
 animation-duration: 10s;
}

源码查看

旋转的星球

【效果演示】

【简要介绍】

  旋转的星球主要通过rotate()旋转函数来实现。实际上,蓝色的地球和黑色的月球并没有发生旋转,只是其父级旋转形成的视觉上的旋转效果

【代码演示】

.box{
 transform: scale(0.5);
 position: relative;
 padding: 1px;
 height: 300px;
 width: 300px;
} 
.sunline{
 position:relative;
 height: 400px;
 width: 400px;
 border: 2px solid black;
 border-radius: 50%;
 margin: 50px 0 0 50px;
 display: flex;
 animation: rotate 10s infinite linear;
}
.sun{
 height: 100px;
 width: 100px;
 margin: auto;
 background-color: red;
 border-radius: 50%;
 box-shadow: 5px 5px 10px red,-5px -5px 10px red,5px -5px 10px red,-5px 5px 10px red;
}
.earthline{
 position: absolute;
 right: 0;
 top: 50%;
 height: 200px;
 width: 200px;
 margin: -100px -100px 0 0;
 border: 1px solid black;
 border-radius: 50%;
 display: flex;
 animation: rotate 2s infinite linear;
}
.earth{
 margin: auto;
 height: 50px;
 width: 50px;
 background-color: blue;
 border-radius: 50%;
}
.moon{
 position: absolute;
 left: 0;
 top: 50%;
 height: 20px;
 width: 20px;
 margin: -10px 0 0 -10px;
 background-color: black;
 border-radius: 50%;
}
@keyframes rotate{
 100%{transform:rotate(360deg);}
}

源码查看

正方体合成

【效果演示】

【简要介绍】

  该效果主要通过设置计算后的延迟时间来达到正方体的各个边顺序动画的效果。一次动画结束后,通过触发animationend事件重置animation-name来实现重复动画的效果

【代码演示】

ul{
 margin: 0;
 padding: 0;
 list-style: none;
}
.box{
 height: 100px;
 width: 100px;
 perspective: 500px;
 margin: 50px 0 0 50px;
} 
.list{
 position: relative;
 height: 100px;
 width: 100px;
 background-color: blue;
 transform-style: preserve-3d;
 transform-origin: 0 0 0;
 animation: rotate 1s 10s 3 both linear;
}
.in{
 position: absolute;
 height: 100px;
 width: 100px;
}
.list .in:nth-child(6){
 background-color: pink;
 transform-origin: top;
 animation: in6 2s both;
}
.list .in:nth-child(5){
 background-color: lightgreen;
 transform-origin: right;
 animation: in5 2s 2s both;
}
.list .in:nth-child(4){
 background-color: lightblue;
 transform-origin: bottom;
 animation: in4 2s 4s both;
}
.list .in:nth-child(3){
 background-color: lightcoral;
 transform-origin: left;
 animation: in3 2s 6s both;
}
.list .in:nth-child(2){
 background-color: lightcyan;
 animation: in2 2s 8s both;
}
.list .in:nth-child(1){background-color: lightsalmon;}
.box:hover .list{animation-play-state: paused;}
.box:hover .in{animation-play-state: paused;}
@keyframes in6{100%{transform: rotateX(90deg);}}
@keyframes in5{100%{transform: rotateY(90deg);}}
@keyframes in4{100%{transform: rotateX(-90deg);}}
@keyframes in3{100%{transform: rotateY(-90deg);}}
@keyframes in2{100%{transform: translateZ(100px);}}
@keyframes rotate{100%{transform: rotate3d(1,1,1,360deg);}}
  • list.addEventListener('animationend',function(e){
     e = e || event;
     var target = e.target || e.srcElement;
     if(target.nodeName == 'UL'){
     list.style.animationName = 'none';
     var children = list.getElementsByTagName('li');
     for(var i = 0; i < children.length;i++){
     children[i].style.animationName = 'none';
     }
     setTimeout(function(){
     list.style.animationName = 'rotate';
     var children = list.getElementsByTagName('li');
     for(var i = 0; i < children.length;i++){
     children[i].style.animationName = 'in' + (i+1);
     } 
     },100); 
     }
    },false);

    源码查看

    // 0){ return; } if(select[i].getBoundingClientRect().top <= 0 && select[i+1]){ if(select[i+1].getBoundingClientRect().top > 0){ change(oCon.children[i+2]) } }else{ change(oCon.children[select.length+1]) } } } document.body.onmousewheel = wheel; document.body.addEventListener('DOMMouseScroll',wheel,false); var oCon = document.getElementById("content"); var close = oCon.getElementsByTagName('span')[0]; close.onclick = function(){ if(this.innerHTML == '显示目录'){ this.innerHTML = '×'; this.style.background = ''; oCon.style.border = '2px solid #ccc'; oCon.style.width = ''; oCon.style.height = ''; oCon.style.overflow = ''; oCon.style.lineHeight = '30px'; }else{ this.innerHTML = '显示目录'; this.style.background = '#3399ff'; oCon.style.border = 'none'; oCon.style.width = '60px'; oCon.style.height = '30px'; oCon.style.overflow = 'hidden'; oCon.style.lineHeight = ''; } } for(var i = 2; i < oCon.children.length; i++){ oCon.children[i].onmouseover = function(){ this.style.color = '#3399ff'; } oCon.children[i].onmouseout = function(){ this.style.color = 'inherit'; if(this.mark){ this.style.color = '#3399ff'; } } oCon.children[i].onclick = function(){ change(this); } } function change(_this){ for(var i = 2; i < oCon.children.length; i++){ oCon.children[i].mark = false; oCon.children[i].style.color = 'inherit'; oCon.children[i].style.textDecoration = 'none'; oCon.children[i].style.borderColor = 'transparent'; } _this.mark = true; _this.style.color = '#3399ff'; _this.style.textDecoration = 'underline'; _this.style.borderColor = '#2175bc'; } // ]]>

    文档

    动画animation的三个应用(漂浮的白云、旋转的星球、正方体合成)-小火柴的蓝色理想

    动画animation的三个应用(漂浮的白云、旋转的星球、正方体合成)-小火柴的蓝色理想:× 目录 [1]漂浮的白云 [2]旋转的星球 [3]正方体合成 前面的话 前面介绍过动画animation的详细用法,本文主要介绍动画animation的三个效果 漂浮的白云 【效果演示】 【简要介绍】 漂浮的白云主要通过远景白云和近景白云来实现立体漂浮效果。远景和
    推荐度:
    标签: 旋转 应用 动画
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top