html3d地球代碼示例代碼

以下是一個使用 HTML、CSS 和 JavaScript 實現 3D 地球的示例代碼:


html3d地球代碼示例代碼

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 地球效果,提供更豐富的交互和用戶體驗。

分享給朋友:

“html3d地球代碼示例代碼” 的相關文章

mark元素的主要功能及在HTML5 中的使用mark元素例子

mark元素的主要功能及在HTML5 中的使用mark元素例子

`<mark>` 元素的主要功能是突出顯示文本中的重要部分或關鍵字。在 HTML5 標準中,`<mark>` 元素用於標記一個文檔或一個段落中需要突出顯示的文本。一旦在 HTML 文件中使用了 `<mark>` 元素,瀏覽器通常會使用黃色背景標記該元素的文本,在頁面渲染上具有很好的效果。`<mark>` 元素還可以用於添加額外的視覺標識,以使讀者更快地識別重要內容。通過指定不同的顏色樣式,可以將文本突出顯示,以吸引讀者的註意力。…

html a標簽target屬性

html a標簽target屬性

HTML語言中的標簽用於定義超鏈接。其中,標簽有一個屬性叫做target,它用於指定鏈接在何處打開。目前,標簽的target屬性有以下四個取值:- _self:鏈接會在當前窗口中打開(默認值),這意味著打開新的文檔或資源時,頁面會在當前瀏覽器窗口中重新加載,並將新文檔或資源顯示在當前窗口中。基於以上講解,編寫標簽鏈接的代碼並使用target屬性指定打開方式的實例:< a href="htpps://sn.qunapu.com" target="_blank">打開示例網站。這段代碼表示鏈接將在新的瀏覽器窗口或標簽頁中打開,能夠實現用戶在訪問完畢後仍能保留原有瀏覽器窗口內容的體驗。…

mark元素使用紅色代表及例子

mark元素使用紅色代表及例子

在HTML中,<mark> 元素可以用於標記或強調文本中的重要或關鍵內容。這個元素通常會用醒目的紅色來渲染,因為紅色是一個視覺上非常具有註意力的顏色。在這種情況下,你可以將這些關鍵字用 <mark> 標簽包圍起來,使其突出顯示。這樣可以幫助用戶更快速地發現這個型號是這個品牌的旗艦機型,帶來更好的用戶體驗。需要註意的是,過度使用 <mark> 標簽會導致頁面顯得雜亂無章,影響閱讀體驗,因此應謹慎使用,只將最為關鍵的信息進行標記,達到凸顯重點的效果即可。…

一個簡單的 HTML5 導航菜單的示例代碼

一個簡單的 HTML5 導航菜單的示例代碼

以下是一個簡單的 HTML5 導航菜單的示例代碼,這個導航菜單使用了 HTML5 中的 `nav` 標簽來包裝整個菜單,使用了 Flex 布局來對菜單進行布局和對齊,同時也設置了一些簡單的樣式來美化菜單。…

javascript怎麼改變字體顏色文本顏色代碼

javascript怎麼改變字體顏色文本顏色代碼

這裏是一個簡單的 JavaScript改變文體顏色代碼示例,它會在頁面上創建一個按鈕,點擊該按鈕會使文本顏色發生變化。這段代碼首先在頁面中創建了一個按鈕,然後獲取該按鈕和一個段落元素的引用,接著為按鈕添加了一個事件監聽器,當按鈕被點擊時,段落文本顏色將變成紅色。…

一個簡單的html放煙花特效的代碼

一個簡單的html放煙花特效的代碼

以下是一個簡單的html放煙花特效的代碼,代碼說明:1. 使用html和css定義了一個煙花的基本樣式;2. 使用javascript動態生成多個煙花元素,並使用animation讓其展開,模擬煙花爆炸效果;3. 使用setTimeout函數控制煙花爆炸持續時間,並使用setInterval控制煙花爆炸的觸發時間間隔。…