three打造一个3d菱形背景悬浮拖动特效代码
代码语言:html
所属分类:背景
代码描述:three打造一个3d菱形背景悬浮拖动特效代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!doctype html> <html> <head> <meta charset="utf-8"> <style> @charset "utf-8"; body { position: relative; margin: 0; overflow: hidden; } .intro-container { position: absolute; top: 50%; transform: translateY(-50%); color: white; text-align: center; margin: 0 auto; right: 0; left: 0; } h1 { font-family: "brandon-grotesque", sans-serif; font-weight: bold; margin-top: 0px; margin-bottom: 0; font-size: 20px; } @media screen and (min-width: 860px) { h1 { font-size: 40px; line-height: 52px; } } .fancy-text { font-family: "adobe-garamond-pro", sans-serif; font-style: italic; letter-spacing: 1px; margin-bottom: 17px; } .button { position: relative; cursor: pointer; display: inline-block; font-family: "brandon-grotesque", sans-serif; text-transform: uppercase; min-width: 200px; margin-top: 30px; } .button:hover .border { box-shadow: 0px 0px 10px 0px white; } .button:hover .border .left-plane, .button:hover .border .right-plane { transform: translateX(0%); } .button:hover .text { color: #121212; } .button .border { border: 1px solid white; transform: skewX(-20deg); height: 32px; border-radius: 3px; overflow: hidden; position: relative; transition: 0.1s ease-out; } .button .border .left-plane, .button .border .right-plane { position: absolute; background: white; height: 32px; width: 100px; transition: 0.15s ease-out; } .button .border .left-plane { left: 0; transform: translateX(-100%); } .button .border .right-plane { right: 0; transform: translateX(100%); } .button .text { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); transition: 0.15s ease-out; } .x-mark { left: 10px; top: 10px; position: absolute; cursor: pointer; opacity: 0; } .x-mark:hover .right { transform: rotate(-45deg) scaleY(1.2); } .x-mark:hover .left { transform: rotate(45deg) scaleY(1.2); } .x-mark .container { position: relative; width: 20px; height: 20px; } .x-mark .left, .x-mark .right { width: 2px; height: 20px; background: white; position: absolute; border-radius: 3px; transition: 0.15s ease-out; margin: 0 auto; left: 0; right: 0; } .x-mark .right { transform: rotate(-45deg); } .x-mark .left { transform: rotate(45deg); } .sky-container { position: absolute; color: white; text-transform: uppercase; margin: 0 auto; right: 0; left: 0; top: 2%; text-align: center; opacity: 0; } @media screen and (min-width: 860px) { .sky-container { top: 18%; right: 12%; left: auto; } } .sky-container__left, .sky-container__right { display: inline-block; vertical-align: top; font-weight: bold; } .sky-container__left h2, .sky-container__right h2 { font-family: "brandon-grotesque", sans-serif; font-size: 26px; line-height: 26px; margin: 0; } @media screen and (min-width: 860px) { .sky-container__left h2, .sky-container__right h2 { font-size: 72px; line-height: 68px; } } .sky-container__left { margin-right: 5px; } .sky-container .thirty-one { letter-spacing: 4px; } .text-right { text-align: right; } .text-left { text-align: left; } </style> </head> <body> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/jquery-3.2.1.min.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/TweenMax.min.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.115.js"></script> <div class="x-mark"> <div class="container"> <div class="left"></div> <div class="right"></div> </div> </div> <div class="intro-container"> <h2 class="fancy-text">Christopher Lis</h2> <h1>ONE WITH AN EVERLASTING DESIRE <br> FOR THE UNKNOWN & UNTOLD</h1> <div class="button shift-camera-button"> <div class="border"> <div class="left-plane"></div> <div class="right-plane"></div> </div> <div class="text">To The Stars</div> </div> </div> <div class="sky-container"> <div class="text-right sky-container__left"> <h2 class="portfolio"> PORTFOLIO </h2> <h2 class="resurrection"> resurrection </h2> </div> <div class="text-left sky-container__right"> <h2 class="08"> 08 </h2> <h2 class="thirty-one"> 31 </h2> <h2 class="2021"> 2021 </h2> </div> </div> <script type="text/javascript"> "use strict"; /* globals THREE, $, TweenLite, Power3, TimelineMax */ let camera, scene, renderer; let plane; let raycaster = new THREE.Raycaster(); let normalizedMouse = { x: 0, y: -180 }; // let lightBlue = { // r: 34, // g: 183, // b: 236 // }; let darkBlue = { r: 0, g: 52, b: 74 }; let baseColorRGB = darkBlue; let baseColor = "rgb(" + baseColorRGB.r + "," + baseColorRGB.g + "," + baseColorRGB.b + ")"; let nearStars, farStars, farthestStars; function init() { scene = new THREE.Scene(); camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 ); renderer = new THREE.WebGLRenderer(); // Scene initialization camera.position.z = 50; renderer.setClearColor( "#121212", 1.0); renderer.setSize( window.innerWidth, window.innerHeight ); renderer.setPixelRatio( window.devicePixelRatio ); document.body.appendChild( renderer.domElement ); // Lights let topLight = new THREE.DirectionalLight(0xffffff, 1); topLight.position.set(0,1,1).normaliz.........完整代码请登录后点击上方下载按钮下载查看
网友评论0