好看的登录页面login.html

这篇具有很好参考价值的文章主要介绍了好看的登录页面login.html。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Login Page</title>
  <style>
    body {
      margin: 0;
      overflow: hidden;
      background-color: #000;
    }

    #canvas-container {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: -1;
    }

    #login-form {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      padding: 20px;
      background-color: rgba(255, 255, 255, 0.5);
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);

      /* 科技感样式 */
      border: none;
      outline: none;
      font-size: 16px;
      color: #fff;
      text-align: center;
      background: none;
      resize: none;
    }

    #login-form input,
    #login-form button {
      display: block;
      width: 100%;
      margin-bottom: 10px;
      padding: 10px;
      border: none;
      outline: none;
      font-size: 16px;
      color: #fff;
      background-color: rgba(255, 255, 255, 0.2);
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    }

    #login-form button {
      background-color: #4CAF50;
      cursor: pointer;
    }

    #login-form button:hover {
      background-color: #45a049;
    }


    /*后添加*/
    #login-form input:focus {
  transform: translateX(-50%) translateY(-120%) scale(0.8);
}

#canvas-container::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
  z-index: 999;
  opacity: 0;
  transition: opacity 0.5s;
}

#canvas-container::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0) 100%);
  z-index: 999;
  opacity: 0;
  transition: opacity 0.5s;
}
  </style>
</head>

<body>
<div id="canvas-container"></div>

<form id="login-form">
  <h1>Login</h1>
  <input type="text" placeholder="Username">
  <input type="password" placeholder="Password">
  <button type="submit">Login</button>
</form>

<script src="https://cdn.jsdelivr.net/npm/three@0.128.0/build/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/three/examples/js/loaders/GLTFLoader.js"></script>
<script src="https://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
<script>
  // 创建粒子
  particlesJS("canvas-container", {
    particles: {
      number: {
        value: 500,
        density: {
          enable: true,
          value_area: 1000
        }
      },
      shape: {
        type: "circle",
        stroke: {
          width: 1,
          color: "#808080"
        },
        image: {
          src: "star.png",
          width: 2,
          height: 2
        }
      },
      opacity: {
        value: 0.5,
        random: true,
        anim: {
          enable: true,
          speed: 1,
          opacity_min: 0.1,
          sync: false
        }
      },
      size: {
        value: 4,
        random: true,
        anim: {
          enable: false,
          speed: 40,
          size_min: 0.1,
          sync: false
        }
      },
      line_linked: {
        enable: false,
      },
      move: {
        enable: true,
        speed: 1,
        direction: "none",
        random: true,
        straight: false,
        out_mode: "out",
        bounce: false
      }
    },
    interactivity: {
      detect_on: "canvas",
      events: {
        onhover: {
          enable: false,
          mode: "repulse"
        },
        onclick: {
          enable: false,
          mode: "push"
        },
        resize: true
      }
    },
    retina_detect: true
  });

  // 创建3D场景
  const scene = new THREE.Scene();
  const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
  camera.position.z = 5;

  const renderer = new THREE.WebGLRenderer({ alpha: true });
  renderer.setSize(window.innerWidth, window.innerHeight);
  document.getElementById("canvas-container").appendChild(renderer.domElement);

  const loader = new THREE.GLTFLoader();
  loader.load(
          'model.gltf',
          function (gltf) {
            scene.add(gltf.scene);
          },
          undefined,
          function (error) {
            console.error(error);
          }
  );

  function animate() {
    requestAnimationFrame(animate);
    renderer.render(scene, camera);
  }
  animate();
  // 创建星空背景
  const starGeometry = new THREE.SphereGeometry(100, 64, 64);
  const starMaterial = new THREE.MeshBasicMaterial({
      map: new THREE.TextureLoader().load('star_background.jpg'),
      side: THREE.BackSide
  });
  const starBackground = new THREE.Mesh(starGeometry, starMaterial);
  scene.add(starBackground);

  // 鼠标滑动有流星拖尾效果
  const canvasContainer = document.getElementById("canvas-container");
  const particles = [];

  canvasContainer.addEventListener("mousemove", function (event) {
      const canvasBounding = canvasContainer.getBoundingClientRect();
      const mouseX = ((event.clientX - canvasBounding.left) / canvasBounding.width) * 2 - 1;
      const mouseY = -((event.clientY - canvasBounding.top) / canvasBounding.height) * 2 + 1;

      const particle = new THREE.Mesh(
          new THREE.SphereGeometry(0.1),
          new THREE.MeshBasicMaterial({ color: 0xffffff })
      );
      particle.position.set(mouseX, mouseY, -10);
      scene.add(particle);
      particles.push(particle);

      if (particles.length > 30) {
          const oldParticle = particles.shift();
          scene.remove(oldParticle);
      }
  });

  function animate() {
      requestAnimationFrame(animate);

      particles.forEach(function (particle) {
          particle.translateZ(0.1);
          particle.scale.multiplyScalar(0.95);
      });

      renderer.render(scene, camera);
  }
  animate();
</script>
</body>
</html>

文章来源地址https://www.toymoban.com/news/detail-523514.html

到了这里,关于好看的登录页面login.html的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包