純css實(shí)現(xiàn)漂亮又健壯的tooltip的方法
前言
tooltip的實(shí)現(xiàn)有多種方式,下面是一個(gè)tooltip成長(zhǎng)史。
效果

原始版
最簡(jiǎn)單的莫過(guò)于就用原始title屬性,像這樣:
<button title="tips">button</button>
缺點(diǎn)是體驗(yàn)是差了點(diǎn),并且鼠標(biāo)移上去,過(guò)一會(huì)兒才響應(yīng)。
改進(jìn)版
于是改進(jìn)了下面這個(gè)版本
html部分
<div class="btn">
<span title="提示文本">鼠標(biāo)移動(dòng)到這</span>
<span class="tip">提示文本</span>
</div>
css部分
.btn {
width: 100px;
position: relative;
display: inline-block;
background-color: gold;
padding: 5px;
cursor: pointer;
}
.btn .tip {
display: none;
width: 100px;
background-color: black;
color: #fff;
text-align: center;
padding: 5px 0;
font-size: 12px;
/* 垂直居中 */
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 118px;
z-index: 1;
}
.btn:hover .tip {
display: block;
}
一開(kāi)始設(shè)置tip是隱藏display: none;,當(dāng)鼠標(biāo)移上去,將tip樣式設(shè)置為display: block;來(lái)顯示。
終極版
其實(shí)改進(jìn)版一般用也夠了,但同事老爺們覺(jué)得不夠漂亮,逼格不高,沒(méi)有動(dòng)畫(huà)。
無(wú)意間逛到百度云管理后臺(tái)頁(yè)面,發(fā)現(xiàn)了一排漂亮的tooltip,這不正是我需要的嗎?竊喜!于是研究一番,拿來(lái)即用。
html部分:
<button class="btn" tip="a bcdef">鼠標(biāo)移動(dòng)到這</button>
css部分:
.btn {
position: relative;
display: block;
margin: 100px auto;
padding: 10px;
font-size: 14px;
background: #fff;
color: green;
border: 1px solid green;
cursor: pointer;
}
[tip]:after {
content: attr(tip);
visibility: hidden;
/* 實(shí)現(xiàn)垂直居中 */
position: absolute;
top: 50%;
transform: translate(-5px, -50%);
transition: all .3s;
left: 100%;
opacity: 0;
/* 空白問(wèn)題 */
white-space: pre;
font-size: 16px;
padding: 5px 10px;
background-color: rgba(18,26,44,0.8);
color: #fff;
box-shadow: 1px 1px 14px rgba(0,0,0,0.1)
}
[tip]:hover {
/* ie兼容 */
overflow: visible
}
.btn:hover:after {
opacity: .8;
transition: all .3s;
transform: translate(5px, -50%);
visibility: visible;
display: block;
}
首先,在標(biāo)簽中加上屬性tip,css樣式中用content: attr(tip);獲取屬性值。
默認(rèn)設(shè)置tip隱藏visibility: hidden;。
用transform: translate(-5px, -50%);實(shí)現(xiàn)居中和偏移效果。
動(dòng)畫(huà)時(shí)間設(shè)置為0.3s:transition: all .3s;。
注意:white-space: pre;是為了考慮到tip中有可能帶有空格,那么也需要將空格顯示出來(lái)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要介紹了 div+css樣式自制帶小三角的tooltips效果,需要的朋友可以參考下2017-10-11
CSS3 函數(shù)技巧 用css 實(shí)現(xiàn)js實(shí)現(xiàn)的事情(clac Counters Tooltip)
這篇文章主要介紹了如何使用CSS3代碼更好實(shí)現(xiàn)js中效果,clac Counters Tooltip等功能使得代碼更為簡(jiǎn)潔明了,需要的朋友可以參考下2017-08-15純CSS3實(shí)現(xiàn)自定義Tooltip邊框涂鴉風(fēng)格的教程
這篇文章主要為大家介紹了利用純CSS3打造的自定義Tooltip邊框的應(yīng)用,今天的這款Tooltip卻可以用CSS3來(lái)自定義邊框,邊框呈涂鴉風(fēng)格。用CSS3實(shí)現(xiàn)自定義邊框的好處是可以自適2014-11-05用簡(jiǎn)單的jquery+CSS創(chuàng)建自定義的a標(biāo)簽title提示tooltip
這篇文章主要介紹了用簡(jiǎn)單的jquery+CSS創(chuàng)建自定義的a標(biāo)簽title提示tooltip,需要的朋友可以參考下2014-05-21關(guān)于CSS Tooltips(鼠標(biāo)經(jīng)過(guò)時(shí)顯示)的效果
本篇文章,小編為大家介紹關(guān)于CSS Tooltips(鼠標(biāo)經(jīng)過(guò)時(shí)顯示)的效果,有需要的朋友可以參考一下2013-04-10- 有很多新手朋友不知道如何使用css制作帶小三角的tooltip提示框,本人研究整理了一下,曬出來(lái)和大家分享,希望可以幫助你們2012-12-05

