Amupu

html3d地球代码示例代码

以下是一个使用 HTML、CSS 和 JavaScript 实现 3D 地球的示例代码:


html3d地球代码示例代码 第1张

html
<!DOCTYPE html>
<html>
  <head>
    <title>3D Earth</title>
    <style>
      body {
        margin: 0;
        padding: 0;
        perspective: 1000px;
      }
      #earth {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 200px;
        height: 200px;
        margin: -100px 0 0 -100px;
        border-radius: 50%;
        background: url('https://mippu.qunapu.com/upload/2023/05/20230515115327168412280759751.png');
        transform-style: preserve-3d;
        animation: earth 10s linear infinite;
      }
      #earth:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url('earthbump.jpg');
        transform: translateZ(1px);
        pointer-events: none;
      }
      #earth:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 200px;
        height: 200px;
        margin: -100px 0 0 -100px;
        border-radius: 50%;
        background: url('earthspec.jpg');
        transform: translateZ(-1px);
        pointer-events: none;
      }
      @keyframes earth {
        0% {
          transform: rotateY(0);
        }
        100% {
          transform: rotateY(360deg);
        }
      }
    </style>
  </head>
  <body>
    <div id="earth"></div>
    <script>
      var earth = document.getElementById('earth');
      document.addEventListener('mousemove', function(event) {
        var x = event.clientX - window.innerWidth / 2;
        var y = event.clientY - window.innerHeight / 2;
        earth.style.transform = 'rotateY(' + x / 10 + 'deg) rotateX(' + -y / 10 + 'deg)';
      });
    </script>
  </body>
</html>


该代码使用了 HTML、CSS 和 JavaScript 语言来实现。其中的元素和语法如下:


- perspective: 设置元素的透视视图。

- transform-style: 用于指定元素的子元素是否应沿着三维空间中的本地坐标系进行变换。在本例中,用来进行 3D 变换。

- before 和 after: CSS 伪元素,用于在 HTML 元素的前面或后面添加虚拟元素。在本例中,用前置伪元素添加地球表面的凸纹和后置伪元素添加地球表面的光亮效果。

- background: 用于设置元素的背景图像。

- transform: 用于对元素进行旋转、缩放、偏移等变换操作。在本例中,用来进行 3D 变换。

- pointer-events: CSS 属性,控制 HTML 元素如何响应鼠标事件。在本例中,将透明的凸纹元素设为“不接受鼠标事件”。

- addEventListener: JavaScript 方法,用于为文档对象添加事件监听器。

- clientX/clientY: 鼠标事件中的属性,表示鼠标指针在浏览器窗口中的水平/垂直坐标。

- innerWidth/innerHeight: 用于获取浏览器窗口的内部宽度和高度。

- window: 全局对象,代表当前打开的浏览器窗口或选项卡。


总之,使用 HTML、CSS 和 JavaScript 实现 3D 地球,用到的主要技术是透视、变换、伪元素和事件监听等。通过这些技术的灵活组合,可以呈现出逼真的 3D 地球效果,提供更丰富的交互和用户体验。

搜索
分类最新
    分类最新,为您呈现各领域的最新动态和热点话题。无论您关注科技、财经、创业还是生活,这里都能满足您的需求。我们精选最新文章,提供最新鲜、全面的内容,掌握最新的知识和趋势,保持与时俱进的步伐。
分类热门
    分类热门栏目,汇聚了各类热门话题的精华文章,无论是科技、云计算、生活还是时尚,都能在这里找到最新鲜、最热门的内容。我们精选优质文章,为您呈现一个丰富多彩的信息世界,让您在轻松阅读中领略不同领域的魅力,感受时代的脉搏。
  • 作文热门
  • 情感热门
  • 生活热门
分类猜你喜欢
    分类猜你喜欢栏目,根据您的阅读偏好和兴趣,为您精准推荐热门文章。我们运用智能算法,为您呈现最符合您口味的精彩内容。无论是深度解析、趣味科普还是心灵鸡汤,这里都有您喜欢的文章,让您在阅读中享受乐趣,发现更多精彩。
  • 作文分类!
  • 情感分类!
  • 生活分类!
© Copyright Amupu.Z-Blog.Some Rights Reserved.