搜尋
首頁web前端css教學CSS的 Tooltip(提示工具)介紹(詳解)

本章帶給大家CSS的 Tooltip(提示工具)介紹(詳解)。有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

提示工具在滑鼠移動到指定元素後觸發,可以在四個方位顯示:頭部顯示、右邊顯示、左邊顯示、底部顯示。

一、基礎提示方塊(Tooltip)

#提示方塊在滑鼠移到指定元素上顯示:

/* Tooltip 容器 */
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black; /* 悬停元素上显示点线 */
}
 
/* Tooltip 文本 */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
 
    /* 定位 */
    position: absolute;
    z-index: 1;
}
 
/* 鼠标移动上去后显示提示框 */
.tooltip:hover .tooltiptext {
    visibility: visible;
}

實例解析

HTML) 使用容器元素(like

) 並新增 "tooltip" 類別。在滑鼠移動到
上時顯示提示訊息。

提示文字放在內聯元素上(如 ) 並使用class="tooltiptext"。

CSS)tooltip 類別使用 position:relative, 提示文字需要設定定位值 position:absolute。 注意: 接下來的實例會顯示更多的定位效果。

tooltiptext 類別用於實際的提示文字。模式是隱藏的,在滑鼠移動到元素顯示 。設定了一些寬度、背景色、字體色等樣式。

CSS3 border-radius 屬性用於為提示框新增圓角。

:hover 選擇器用於在滑鼠移動到指定元素

上時顯示的提示。

二、定位提示工具

以下實例中,提示工具顯示在指定元素的右邊(left:105%) 。

注意 top:-5px 同於定位在容器元素的中間。使用數字 5 因為提示文字的頂部和底部的內邊距(padding)是 5px。

如果你修改 padding 的值,top 值也要對應修改,這樣才可以確保它是居中對齊的。

在提示框顯示在左邊的情況也是這個原理。

顯示在右邊:

.tooltip .tooltiptext {
    top: -5px;
    left: 105%; 
}

顯示在左邊:

.tooltip .tooltiptext {
    top: -5px;
    right: 105%; 
}

如果你想要提示工具顯示在頭部和底部。我們需要使用 margin-left 屬性,並設定為 -60px。這個數字計算來源是使用寬度的一半來居中對齊,即: width/2 (120/2 = 60)。

顯示在頭部:

.tooltip .tooltiptext {
    width: 120px;
    bottom: 100%;
    left: 50%; 
    margin-left: -60px; /* 使用一半宽度 (120/2 = 60) 来居中提示工具 */
}

顯示在底部:

.tooltip .tooltiptext {
    width: 120px;
    top: 100%;
    left: 50%; 
    margin-left: -60px; /* 使用一半宽度 (120/2 = 60) 来居中提示工具 */
}

三、添加箭頭

我們可以用CSS 偽元素::after 及content 屬性為提示工具建立一個小箭頭標誌,箭頭是由邊框組成的,但組合起來後提示工具像個語音資訊框。

以下實例示範如何為顯示在頂部的提示工具新增底部箭頭:

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 100%; /* 提示工具底部 */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: black transparent transparent transparent;
}

實例解析

在提示工具內定位箭頭: top: 100% , 箭頭將顯示在提示工具的底部。 left: 50% 用於居中對齊箭頭。

注意:border-width 屬性指定了箭頭的大小。如果你修改它,也要修改 margin-left 值。這樣箭頭在能居中顯示。

border-color 用於將內容轉換為箭頭。設定頂部邊框為黑色,其他是透明的。如果設定了其他的也是黑色則會顯示為一個黑色的四邊形。

以下實例示範如何在提示工具的頭部添加箭頭,注意設定邊框顏色:

#底部提示框/頂部箭頭:

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    bottom: 100%;  /* 提示工具头部 */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent black transparent;
}

以下兩個實例是左右兩邊的箭頭實例:

右側提示框/左箭頭:

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 100%; /* 提示工具左侧 */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent black transparent transparent;
}

左側提示框/右側箭頭:

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 100%; /* 提示工具右侧 */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent black;
}

四、淡入效果

我們可以使用CSS3 transition 屬性及opacity 屬性來實現提示工具的淡入效果:

左側提示框/右側箭頭:

.tooltip .tooltiptext {
    opacity: 0;
    transition: opacity 1s;
}
 
.tooltip:hover .tooltiptext {
    opacity: 1;
}

五、程式碼實例:

.wrapper {
  text-transform: uppercase;
  background: #ececec;
  color: #555;
  cursor: help;
  font-family: "Gill Sans", Impact, sans-serif;
  font-size: 20px;
  margin: 100px 75px 10px 75px;
  padding: 15px 20px;
  position: relative;
  text-align: center;
  width: 200px;
  -webkit-transform: translateZ(0); /* webkit flicker fix */
  -webkit-font-smoothing: antialiased; /* webkit text rendering fix */
}

.wrapper .tooltip {
  background: #1496bb;
  bottom: 100%;
  color: #fff;
  display: block;
  left: -25px;
  margin-bottom: 15px;
  opacity: 0;
  padding: 20px;
  pointer-events: none;
  position: absolute;
  width: 100%;
  -webkit-transform: translateY(10px);
     -moz-transform: translateY(10px);
      -ms-transform: translateY(10px);
       -o-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: all .25s ease-out;
     -moz-transition: all .25s ease-out;
      -ms-transition: all .25s ease-out;
       -o-transition: all .25s ease-out;
          transition: all .25s ease-out;
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
     -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
      -ms-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
       -o-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
          box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
}

/* This bridges the gap so you can mouse into the tooltip without it disappearing */
.wrapper .tooltip:before {
  bottom: -20px;
  content: " ";
  display: block;
  height: 20px;
  left: 0;
  position: absolute;
  width: 100%;
}  

/* CSS Triangles - see Trevor's post */
.wrapper .tooltip:after {
  border-left: solid transparent 10px;
  border-right: solid transparent 10px;
  border-top: solid #1496bb 10px;
  bottom: -10px;
  content: " ";
  height: 0;
  left: 50%;
  margin-left: -13px;
  position: absolute;
  width: 0;
}
  
.wrapper:hover .tooltip {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0px);
     -moz-transform: translateY(0px);
      -ms-transform: translateY(0px);
       -o-transform: translateY(0px);
          transform: translateY(0px);
}

/* IE can just show/hide with no transition */
.lte8 .wrapper .tooltip {
  display: none;
}

.lte8 .wrapper:hover .tooltip {
  display: block;
}

效果圖:

CSS的 Tooltip(提示工具)介紹(詳解)

#

以上是CSS的 Tooltip(提示工具)介紹(詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
修復了標頭和跳躍鏈接?解決方案是滾動 - 邊緣頂修復了標頭和跳躍鏈接?解決方案是滾動 - 邊緣頂Apr 11, 2025 am 09:35 AM

問題:您單擊一個跳躍鏈接,例如跳躍鏈接,該鏈接鏈接到標題之類的東西。

將一個保持在身體邊緣的div保持偏差將一個保持在身體邊緣的div保持偏差Apr 11, 2025 am 09:31 AM

前幾天,安德魯·韋爾奇(Andrew Welch)遇到了一些CSS挑戰,以製作普通的Div:

選擇具有非空屬性的元素選擇具有非空屬性的元素Apr 11, 2025 am 09:30 AM

簡短答案:

有RSS提要只是免費提供內容嗎?有RSS提要只是免費提供內容嗎?Apr 11, 2025 am 09:28 AM

我的意思是,有點。

代碼塊的Web組件代碼塊的Web組件Apr 11, 2025 am 09:25 AM

我們會做到這一點,但首先是漫長的介紹。

CSS4CSS4Apr 11, 2025 am 09:23 AM

什麼是CSS4?這是真實的嗎?我討厭把它弄碎給你,但不是真的。但是,也許我們可以做到這一點? CSS3取得了成功,所以為什麼不像JavaScript那樣保持火車滾動呢?

鏈接和按鈕指南鏈接和按鈕指南Apr 11, 2025 am 09:19 AM

我們在HTML,CSS和JavaScript中的鏈接,按鈕和類似按鈕的輸入的完整指南。

當您看上去時,CSS梯度變得更好當您看上去時,CSS梯度變得更好Apr 11, 2025 am 09:16 AM

我關注的一件事是Lea Verou' s conic-Gradient()Polyfill的功能列表是最後一項:

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),