如何使用 Font Awesome 圖示作為游標?


通常情況下,我們在網頁上看到的預設游標設計是一個箭頭,或者我們可以使用 CSS 的 `cursor` 屬性將游標型別更改為特定型別,例如 pointer、grab、zoom in、zoom out 等。但是,您知道嗎?我們可以將游標型別更改為 CSS 提供的型別以外的其他型別。這是可能的,因為我們可以使用任何影像來為游標指定設計樣式,並可以使用任何我們選擇的 Font Awesome 圖示來更改游標型別。

將游標更改為 Font Awesome 圖示

要將游標更改為 Font Awesome 圖示,我們首先需要將 Font Awesome CDN 嵌入到我們的 HTML 文件中,然後我們需要將我們選擇的圖示更改為影像,並將其作為 CSS 中 `cursor` 屬性的影像 URL 值。我們可以使用 HTML 的 `canvas` 元素將 Font Awesome 圖示更改為影像。`canvas` 元素將幫助我們將 Font Awesome 圖示更改為影像,從而將游標從預設樣式更改為 Font Awesome 圖示。在建立過程中,我們可以為 `canvas` 元素提供我們自己的樣式,例如字型顏色、畫布的高度和寬度、字型大小以指定游標的大小以及更多樣式。

現在讓我們透過實際程式碼示例來詳細瞭解它。

演算法

  • 步驟 1 - 在第一步中,我們將使用 JavaScript 建立一個 `canvas` 元素,並將指令碼寫入 `body` 標籤內的 `script` 元素中。

  • 步驟 2 - 在此步驟中,我們將使用其 ID 獲取 `body` 元素,因為我們將使用 JavaScript 將 `cursor` 屬性分配給 `body` 元素。

  • 步驟 3 - 在下一步中,我們將透過給它一些寬度和高度來設定 `canvas` 元素的尺寸。

  • 步驟 4 - 在最後一步中,我們將透過為 `canvas` 元素分配屬性並建立影像 "url" 來完成最終工作,並將其設定為 `body` 元素 `cursor` 屬性的值。

示例

下面的示例將解釋如何透過使用 `canvas` 元素建立影像 url 來將預設游標更改為 Font Awesome 圖示 -

<!DOCTYPE html>
<html>
<head>
   <link rel = "stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" />
</head>
<body id = "body">
   <h1>Use font awesome icon as a cursor</h1>
   <p class = "result">Cursor will change once you hover the text or body element area on the web page.</p>
   <script>
      var canvas = document.createElement('canvas');
      var body = document.getElementById('body');
      canvas.width = 30;
      canvas.height = 30;
      setInterval(() => {
         var ctx = canvas.getContext("2d");
         ctx.fillStyle = "#40a944";
         ctx.font = "25px fontawesome";
         ctx.fillText("\uf2c5", 0, 20);
         var imgCreated = canvas.toDataURL("image/png");
         body.style.cursor = "url(" + imgCreated + "), auto";
      }, 1000);
   </script>
</body>
</html>

在上面的示例中,我們透過建立圖示的影像,然後建立影像連結並將其作為 `body` 元素 `cursor` 屬性的值來將預設游標更改為 Font Awesome 圖示。

讓我們再看一個程式碼示例,我們將使用相同的方法將游標從另一個 Font Awesome 圖示更改。

演算法

上面的示例和這個示例的演算法幾乎相同,您只需要在為 `canvas` 元素的 `fillText` 屬性賦值時替換 Font Awesome 的唯一程式碼。

示例

下面的示例將演示如何將游標從 Font Awesome 圖示轉換 -

<!DOCTYPE html>
<html>
<head>
   <link rel = "stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" />
</head>
<body id = "body">
   <h1>Use font awesome icon as a cursor</h1>
   <p class = "result">Cursor will change once you hover the text or body element area on the web page.</p>
   <script>
      var canvas = document.createElement('canvas');
      var body = document.getElementById('body');
      canvas.width = 40;
      canvas.height = 40;
      setInterval(() => {
         var ctx = canvas.getContext("2d");
         ctx.fillStyle = "#40a944";
         ctx.font = "25px fontawesome";
         ctx.fillText("\uf02d", 0, 20);
         var imgCreated = canvas.toDataURL("image/png");
         body.style.cursor = "url(" + imgCreated + "), auto";
      }, 1000);
   </script>
</body>
</html>

在這個示例中,我們看到了如何使用與上面示例中相同的方法,使用不同的 Font Awesome 圖示來更改網頁上的游標。

結論

在本文中,我們學習瞭如何透過使用 `canvas` 元素的 `toDataURL()` 方法建立影像連結,將預設游標更改為任何 Font Awesome 圖示。我們已經看到了並透過兩個不同的程式碼示例實現了這一點。透過本文,您都能夠將預設游標更改為任何您選擇的 Font Awesome 圖示。

更新於:2023年11月20日

421 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始學習
廣告