亚洲国产精品成人无码区,公天天吃我奶躁我的比视频,亚洲国产欧美视频亚洲国产精品一区二区成人片不卡,天天躁日日躁狠狠躁视频2021,起视碰看97视频在线少妇久久久久久人妻无码, 芒果乱码一线二线三线新区 ,亚洲熟妇无码AⅤ不卡在线播放,人妻少妇乱子伦无码专区

400-800-9385
網(wǎng)站建設資訊詳細

網(wǎng)站前端制作之動態(tài)波浪線和3D魔方的那些事

發(fā)表日期:2023-03-29 17:43:16   作者來源:王熙程   瀏覽:1015   標簽:網(wǎng)站前端制作    
想必大家做靜態(tài)的波浪線比較多,但是如果讓靜態(tài)的波浪線動起來,就很麻煩不會,接下來我就教大家如何讓靜態(tài)的波浪線動起來,教學代碼和效果截圖如下:
 

前端制作

 
<svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto">
<defs>
<path id="gentle-wave"
d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" />
</defs>
<g class="parallax">
<use xlink:href="#gentle-wave" x="48" y="7" fill="#FFFFFF" />
</g>
</svg>
 
/* 動態(tài)波浪線 */
.waves{position: absolute;width: 100%;min-height: 100px;max-height: 180px;bottom: 0;left: 0;right: 0;z-index: 9;}
.parallax>use{animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite;}
.parallax>use:nth-child(1){animation-delay: -2s;animation-duration: 7s;}
@keyframes move-forever {
0% {
transform: translate3d(-90px, 0, 0);
}
100% {
transform: translate3d(85px, 0, 0);
}
}
 
這期還教大家如何搭建3D魔方,代碼以及效果如下:
 

前端制作

 
<div class="mofang">
<div class="cube" id="imgg">
<div class="front">
<img src="imgs/img213.jpg" />
</div>
<div class="back">
<img src="imgs/img214.jpg" />
</div>
<div class="right">
<img src="imgs/img215.jpg" />
</div>
<div class="left">
<img src="imgs/img216.jpg" />
</div>
<div class="top">
</div>
<div class="bottom">
</div>
</div>
<button class="btn-prev" type="button" onclick="SetImgRotate(0)" id="btnLeft">
<img src="imgs/img21.png" />
</button>
<button class="btn-next" type="button" onclick="SetImgRotate(1)" id="btnRight">
<img src="imgs/img22.png" />
</button>
</div>
 
<script>
var currentY = -10;
 
function SetImgRotate(leftOrRight) {
var img = document.getElementById('imgg');
var c1 = document.getElementById('c02-1');
var c2 = document.getElementById('c02-2');
var c3 = document.getElementById('c02-3');
var c4 = document.getElementById('c02-4');
if (leftOrRight == 0) {
 
currentY = (currentY - 90) % 360;
 
if (currentY == -100) {
c1.style.display = 'none';
c2.style.display = 'block';
c3.style.display = 'none';
c4.style.display = 'none';
} else if (currentY == -190) {
c1.style.display = 'none';
c2.style.display = 'none';
c3.style.display = 'block';
c4.style.display = 'none';
} else if (currentY == -280) {
c1.style.display = 'none';
c2.style.display = 'none';
c3.style.display = 'none';
c4.style.display = 'block';
} else {
c1.style.display = 'block';
c2.style.display = 'none';
c3.style.display = 'none';
c4.style.display = 'none';
}
 
} else if (leftOrRight == 1) {
 
currentY = (currentY + 90) % 360;
 
if (currentY == 80) {
c1.style.display = 'none';
c2.style.display = 'none';
c3.style.display = 'none';
c4.style.display = 'block';
} else if (currentY == 170) {
c1.style.display = 'none';
c2.style.display = 'none';
c3.style.display = 'block';
c4.style.display = 'none';
} else if (currentY == 260) {
c1.style.display = 'none';
c2.style.display = 'block';
c3.style.display = 'none';
c4.style.display = 'none';
} else {
c1.style.display = 'block';
c2.style.display = 'none';
c3.style.display = 'none';
c4.style.display = 'none';
}
 
}
img.style.transform = 'rotateX(-10deg) rotateY(' + currentY + 'deg) rotateZ(0deg)';
img.style.transition = "all 1s";
}
 
</script>
 
<style>
.mofang {
position: relative;
top: 0;
left: 0;
right: 0;
bottom: 0;
/* perspective: 1000px; */
}

.cube {
position: relative;
font-size: 80px;
width: 500px;
height: 500px;
margin: 150px auto;
transform-style: preserve-3d;
transform-origin: center center 250px;
transition:transform 1s linear;
transform: rotateX(-10deg) rotateY(-10deg) rotate(0deg);
}

.cube>div {
position: absolute;
width: 500px;
height: 500px;
}

.front {
/* background: red; */
transform: translateZ(500px);
transform-origin: top;
}

.top {
background: white;
/* background: green; */
transform: rotateX(90deg);
transform-origin: top;
}

.right {
/* background: pink; */
transform: rotateY(90deg);
transform-origin: right;
}

.left {
/* background: orange; */
transform: rotateY(-90deg);
transform-origin: left;
}

.bottom {
background: white;
/* background: purple; */
transform: rotateX(-90deg);
transform-origin: bottom;
}

.back {
background: white;
/* background: blue; */
transform: rotateY(180deg);
}
.cube img{
width: 100%;
max-width: 100%;
height: 100%;
object-fit: cover;
}
.btn-prev{
position: absolute;
left: 5%;
top: 50%;
transform: translateY(-50%);
border: none;
background: transparent;
cursor: pointer;
}
.btn-next{
position: absolute;
right: 5%;
top: 50%;
transform: translateY(-50%);
border: none;
background: transparent;
cursor: pointer;
}
 
</style>
 
以上就是動態(tài)波浪線和3D魔方搭建的全部原生js和css,大家有沒有看懂的地方可以給我留言,我會一一為大家解答,如果大家還有不會的效果可以給我留言,我會在下期的文章中為大家答疑解惑,感謝各位大佬的關注與支持,以此致謝!
如沒特殊注明,文章均為方維網(wǎng)絡原創(chuàng),轉(zhuǎn)載請注明來自http://www.oulysa.com/news/6728.html
精品国产乱码久久久久久蜜桃网站| 亚洲无无码αⅴ每日更新| 日韩 欧美 国产 另类A级| 国产精品伊人国产国产精品人在线视| 少妇愉情理伦片丰满丰满| 欧美视频二区中文字幕| 无码专区国产无套粉嫩白浆内射| 中日韩欧美黄色片| 日韩中文字幕一区二区三区视频在线| 日本亚洲精品色婷婷在线影院| 欧美日韩综合一区二区在线| 国产香蕉97碰碰久久人人蜜桃| 欧美三级在线播放| 亚洲国产AV无码综合原创国产| 91精品国产乱码在线观看| 精品岛国三级观看| 日韩精品福利片午夜免费观着国产精品综合一| 国产乱色精品成人免费视频| 日本丰满熟妇BBXBBXHD| 久久精品苍井空免费一区二| 欧美制服丝袜另类日韩| 无码中字高清亚洲无码在线| 欧美人与禽交片 mp4| 91打桩呻吟喷水高潮白浆欧美| 亚洲美女又黄又爽在线观看| 国产人成视频在线观看| 2021国自拍产精品视频| 全网免费中文无码字幕| 国产精品香蕉在线观看| 亚洲乱码专区一区二区三区| 99国产精品久久久久久久成人热| 国产一级a爱做片免费☆观看| 国产精品视频久久久久久久久久| 国产精品无码一区二区在线| 天堂无码人妻精品一区二区三区| 亚洲永久精品免费www51zcm日韩| 二级韩国片完整版日韩电影| 成人精品国产日韩欧美影院| 国产免费Aⅴ片在线| 91精品国产福利在线导航| 亚洲AV在线无码播放毛片一线天|