本章帶給大家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
提示文字放在內聯元素上(如 ) 並使用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(提示工具)介紹(詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

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