如何優雅地實現鼠標懸停出現隱藏文字?

一、使用CSS的:hover偽類實現鼠標懸停效果

CSS的:hover偽類可以給某個元素設置鼠標懸停時的樣式,我們可以利用這個特性來實現鼠標懸停出現隱藏文字的效果。

<style>
  .hover-effect {
    position: relative;
    /* 隱藏文字 */
    color: transparent;
    /* 設置hover狀態下文字顯示 */
    &:hover::before {
      content: attr(data-content);
      position: absolute;
      top: 100%;
      left: 0;
      padding: 5px 10px;
      background-color: #333;
      color: #fff;
      border-radius: 5px;
      white-space: nowrap;
    }
  }
</style>

<div class="hover-effect" data-content="這裡是隱藏的文字">鼠標懸停顯示文字</div>

以上代碼中,我們先使用CSS將隱藏文字的顏色設置為透明,然後在:hover狀態下通過偽元素::before顯示出相應的隱藏文字。

二、使用JavaScript實現鼠標懸停出現隱藏文字

除了使用CSS,我們也可以使用JavaScript來實現鼠標懸停出現隱藏文字的效果。

<script>
  const hoverEle = document.querySelector('.hover-effect-js');
  const content = hoverEle.dataset.content;
  let tooltip = null;
  hoverEle.addEventListener('mouseover', () => {
    tooltip = document.createElement('div');
    tooltip.innerHTML = content;
    tooltip.style = `
      position: absolute;
      top: 100%;
      left: 0;
      padding: 5px 10px;
      background-color: #333;
      color: #fff;
      border-radius: 5px;
      white-space: nowrap;
    `;
    hoverEle.appendChild(tooltip);
  });
  hoverEle.addEventListener('mouseout', () => {
    if (tooltip) {
      hoverEle.removeChild(tooltip);
      tooltip = null;
    }
  });
</script>

<div class="hover-effect-js" data-content="這裡是隱藏的文字">鼠標懸停顯示文字</div>

這段代碼中,我們首先獲取到對應元素和隱藏文字內容,然後通過添加和刪除子元素的方式,在鼠標懸停和移出時分別顯示和隱藏相應的文字內容。

三、結合CSS和JavaScript實現鼠標懸停出現隱藏文字

除了單獨使用CSS或JavaScript,我們還可以結合二者來實現更為精細的效果。

<style>
  .hover-effect-combine {
    position: relative;
    /* 隱藏文字 */
    color: transparent;
  }
  .hover-effect-combine::before {
    content: attr(data-content);
    position: absolute;
    top: 100%;
    left: 0;
    padding: 5px 10px;
    background-color: #333;
    color: #fff;
    border-radius: 5px;
    white-space: nowrap;
    /* 只在JavaScript加載成功前顯示 */
    visibility: hidden;
  }
</style>

<script>
  const hoverEle = document.querySelector('.hover-effect-combine');
  const content = hoverEle.dataset.content;
  let tooltip = hoverEle.querySelector('::before');
  hoverEle.addEventListener('mouseover', () => {
    tooltip.style.visibility = 'visible';
  });
  hoverEle.addEventListener('mouseout', () => {
    tooltip.style.visibility = 'hidden';
  });
</script>

<div class="hover-effect-combine" data-content="這裡是隱藏的文字">鼠標懸停顯示文字</div>

在以上代碼中,我們將隱藏文字的方式放在了CSS中,而JavaScript只負責添加和刪除樣式中的visibility屬性來控制文字的顯示和隱藏。這樣做可以充分利用CSS的特性,減少JavaScript代碼的複雜度,同時又能保證動畫效果的順暢。

原創文章,作者:RTLK,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/146873.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
RTLK的頭像RTLK
上一篇 2024-10-31 15:33
下一篇 2024-10-31 15:33

相關推薦

  • Python飛機大戰中文字資源分析

    Python飛機大戰是一款經典的飛行射擊遊戲,在遊戲過程中,玩家需要控制一架飛機不斷消滅敵人,生存到最後。該遊戲使用Python語言編寫,其中涉及到的文字資源對遊戲的整體體驗有重要…

    編程 2025-04-29
  • 如何優雅地吃葡萄不吐葡萄皮

    要想吃葡萄不吐葡萄皮,首先要學會剝皮,然後就可以慢慢地品嘗了。 一、正確的剝皮方法 使用下面的代碼可以達到正確的剝皮方法: function peelGrape(grape) { …

    編程 2025-04-29
  • Python如何打出精美文字

    Python作為一種高級編程語言,擁有廣泛的應用領域。其中最常見的一項應用就是文字處理。Python可以幫助我們打出各種類型的文字,從簡單的文本到複雜的圖形和音頻文件都不在話下。 …

    編程 2025-04-28
  • Python定位文字的實現方法

    本文將從多個方面對Python定位文字進行詳細的闡述,包括字符串匹配、正則表達式和第三方庫等方面。 一、字符串匹配 字符串匹配是最基礎的Python定位文字方法,適用於簡單的字符串…

    編程 2025-04-28
  • 使用Python繪圖時如何添加文字

    在Python中繪圖是一種十分重要的數據可視化方式,而其中添加文字則是讓圖像更加生動、信息更加詳細的重要手段。本篇文章可以幫助您學習如何在繪圖中添加文字。在代碼中,我們將使用mat…

    編程 2025-04-28
  • 如何優雅地排版套打證書

    本文將從多個方面,為大家介紹如何優雅地排版套打證書,並給出相應的代碼示例。 一、選擇合適的字體 套打證書的字體必須要優雅、大方、優秀、清晰,所以應該選擇像宋體、楷體、方正、微軟雅黑…

    編程 2025-04-28
  • 自動換行後不能全部顯示文字的解決方法

    在網頁設計中,自動換行是非常必要的。但是有時候會出現自動換行後不能全部顯示文字的情況。下面將從多個方面闡述這個問題的解決方法。 一、字號和行高 字號和行高是影響內容顯示的兩個重要因…

    編程 2025-04-27
  • 使用詞雲圖生成器網站,讓文字更美麗

    詞雲圖是一種非常實用的工具,通過它可以直觀地展示出文字內容的重點。而作為一個全能編程開發工程師,你一定需要掌握一些生成詞雲圖的技巧。這篇文章將從多個方面詳細闡述使用詞雲圖生成器網站…

    編程 2025-04-27
  • 騰訊會議語音轉文字導出教程

    本文將從多個方面對騰訊會議語音轉文字導出進行詳細闡述,包括使用方法、技巧、注意事項等。 一、使用方法 1、進入騰訊會議,選擇需要導出語音的會議記錄,在會議記錄處點擊“導出”。 im…

    編程 2025-04-27
  • opencv鼠標繪圖

    本文將為您詳細介紹如何使用opencv在原始圖片上進行鼠標繪圖。 一、準備工作 在開始繪製之前,您需要先準備好以下的工作: 1、安裝opencv庫,可以通過pip install …

    編程 2025-04-27

發表回復

登錄後才能評論