純css實(shí)現(xiàn)漂亮又健壯的tooltip的方法

前言
tooltip的實(shí)現(xiàn)有多種方式,下面是一個(gè)tooltip成長(zhǎng)史。
效果
原始版
最簡(jiǎn)單的莫過于就用原始title屬性,像這樣:
<button title="tips">button</button>
缺點(diǎn)是體驗(yàn)是差了點(diǎn),并且鼠標(biāo)移上去,過一會(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; }
一開始設(shè)置tip是隱藏display: none;,當(dāng)鼠標(biāo)移上去,將tip樣式設(shè)置為display: block;來(lái)顯示。
終極版
其實(shí)改進(jìn)版一般用也夠了,但同事老爺們覺得不夠漂亮,逼格不高,沒有動(dòng)畫。
無(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; /* 空白問題 */ 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)畫時(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)過時(shí)顯示)的效果
本篇文章,小編為大家介紹關(guān)于CSS Tooltips(鼠標(biāo)經(jīng)過時(shí)顯示)的效果,有需要的朋友可以參考一下2013-04-10- 有很多新手朋友不知道如何使用css制作帶小三角的tooltip提示框,本人研究整理了一下,曬出來(lái)和大家分享,希望可以幫助你們2012-12-05