婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 純css實現(xiàn)(無腳本)Html指令式tooltip文字提示效果

純css實現(xiàn)(無腳本)Html指令式tooltip文字提示效果

熱門標(biāo)簽:地圖標(biāo)注沿海城市房價 智能語音電銷機(jī)器人客戶端 西安金倫外呼系統(tǒng) 威海語音外呼系統(tǒng)平臺 地圖標(biāo)注員工作內(nèi)容 中國地圖標(biāo)注城市的 通遼地圖標(biāo)注app 江西ai電銷機(jī)器人如何 高德地圖標(biāo)注廁所

 

分析執(zhí)行流程 鼠標(biāo)移入節(jié)點 檢測是該節(jié)點是否存在開啟實現(xiàn) tooltip 實現(xiàn)的標(biāo)識(類名,屬性等) 檢測主題、位置(類名,屬性等) 生成 / 顯示氣泡 借鑒他人

讓我們先來看看 element-ui的tooltip 樣式

很明顯, 氣泡的位置 是通過 javascript腳本 加上去的

 

不多逼逼,讓我們來定幾個期望 不用javascript腳本, 純css 實現(xiàn) 不用添加新元素**(用after、before偽元素)** 不用類名匹配,直接用屬性選擇器**([attr])** 支持默認(rèn)樣式**(標(biāo)簽沒定義主題、位置的時候)** 指令式**(直接在標(biāo)簽定義即可,接下來交給css匹配)** 實現(xiàn)氣泡的 主題、位置sass 預(yù)處理器開發(fā)(看不懂的同學(xué)可以轉(zhuǎn)換成 css ) html定義指令規(guī)范

指令式聲明

<button tooltip='我是內(nèi)容鴨' effect='light' placement='top-left'>上左</button>
  • tooltip — 氣泡顯示的 內(nèi)容 ;
  • effect — 氣泡的 主題 (dark / light),默認(rèn)dark;
  • placement — 氣泡相對于父元素的 位置 (top / top-left/ top-right / right / right-top/ right-bottom...),默認(rèn)top;
     

先寫幾個按鈕

樣式借鑒element-ui

<div class="container">
  <div class="top">
    <button tooltip="上邊" placement="top-left" effect="light">上左</button>
    <button tooltip="上左上左" placement="top">上邊</button>
    <button tooltip="上右" placement="top-right">上右</button>
  </div>
  <div class="left">
    <button tooltip="左上左上左上左上左上左上左上左上左上左上" placement="left-top">左上</button>
    <button tooltip="左邊" placement="left" effect="light">左邊</button>
    <button tooltip="左右" placement="left-bottom">左下</button>
  </div>
  <div class="right">
    <button tooltip="右上右上右上右上右上右上右上右上" placement="right-top">右上</button>
    <button tooltip="右邊" placement="right" effect="light">右邊</button>
    <button tooltip="右下" placement="right-bottom">右下</button>
  </div>
  <div class="bottom">
    <button tooltip="下左下左" placement="bottom-left">下左</button>
    <button tooltip="下邊" placement="bottom" effect="light">下邊</button>
    <button tooltip="下右" placement="bottom-right">下右</button>
  </div>
</div>

css核心代碼邏輯實現(xiàn)

hover監(jiān)聽鼠標(biāo)移入、移出,**[tooltip]**匹配有該屬性的標(biāo)簽, after 為氣泡, before 為三角形

/* 匹配有tooltip屬性的元素 */
[tooltip] {
  position: relative;
  /* 氣泡默認(rèn)樣式 */
  &::after {
    display: none;
    content: attr(tooltip);
  }
  /* 三角形默認(rèn)樣式 */
  &::before {
    display: none;
    content: '';
  }
  /* 鼠標(biāo)移入該元素,顯示氣泡、三角形 */
  &:hover {
    &::after {
      display: block;
    }
    &::before {
      display: block;
    }
  }
}

現(xiàn)在鼠標(biāo)移入之后便有效果

為了方便看到效果,測試可以把氣泡、三角形默認(rèn)為block

/* 氣泡默認(rèn)樣式 */
&::after {
  display: block;
  content: attr(tooltip);
}

/* 三角形默認(rèn)樣式 */
&::before {
  display: block;
  content: '';
}

目前效果如下

 

設(shè)置氣泡、三角形的默認(rèn)樣式

核心顯示當(dāng)然是設(shè)置絕對定位了

/* 氣泡默認(rèn)樣式 */
&::after {
  display: block;
  content: attr(tooltip);
  position: absolute;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 8px 15px;
  max-width: 200px;
  border-radius: 4px;
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.4);
  z-index: 100;
  @extend .tooltip-theme-dark; /* 繼承默認(rèn)主題(黑底白字) */
 }

/* 三角形默認(rèn)樣式 */
&::before {
  display: block;
  content: '';
  position: absolute;
  border: 5px solid transparent;
  z-index: 100;
  @extend .triangle-theme-dark; /* 繼承默認(rèn)主題(黑底) */
}

目前效果如下

 

定制氣泡、三角形主題色

定義好各兩種主題

$white: #fff;
$black: #313131;

/* 氣泡主題 */
.tooltip-theme-dark {
  color: $white;
  background-color: $black;
}

.tooltip-theme-light {
  color: $black;
  background-color: $white;
  border: 1px solid $black;
}

/* 三角形主題 */
.triangle-theme-dark {
  border-top-color: $black;
}

.triangle-theme-light {
  border-top-color: $black; /* 暫時跟dark一樣 */
}

定制氣泡、三角形位置(只示例一個方向)

/* 氣泡位置 */

/*----上----*/
.tooltip-placement-top {
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translate(-50%, 0);
}

.tooltip-placement-top-right {
  bottom: calc(100% + 10px);
  left: 100%;
  transform: translate(-100%, 0)
}

.tooltip-placement-top-left {
  bottom: calc(100% + 10px);
  left: 0;
  transform: translate(0, 0)
}

/* 三角形位置 */

/*----上----*/
.triangle-placement-top {
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
}

.triangle-placement-top-left {
  bottom: calc(100% + 5px);
  left: 10px;
}

.triangle-placement-top-right {
  bottom: calc(100% + 5px);
  right: 10px;
}

捕捉位置、主題

這里也算最核心的代碼了,用屬性選擇器來匹配標(biāo)簽上的值,然后設(shè)置不同的樣式

匹配氣泡、三角形主題

&[effect="light"] {
  &::after {
    @extend .tooltip-theme-light;
  }

  &::before {
    @extend .triangle-theme-light;
  }
}

匹配氣泡、三角形位置,12種位置

@each $placement in top,top-right,top-left,
right,right-top,right-bottom,
bottom,bottom-right,bottom-left,
left,left-top,left-bottom {
  &[placement="#{$placement}"] {
    &::after {
      @extend .tooltip-placement-#{$placement};
    }

    &::before {
      @extend .triangle-placement-#{$placement};
    }
  }
}

標(biāo)簽不存在placement 屬性 / 為空的時候,默認(rèn)繼承top位置

&:not([placement]),
&[placement=""] {
  &::after {
    @extend .tooltip-placement-top;
  }

  &::before {
    @extend .triangle-placement-top;
  }
}

目前效果如下

讓我們把文字放長,把氣泡、三角形的默認(rèn)樣式加上display:none看看

 加個動畫

分四個方向,上下左右,四個動畫

@keyframes anime-top {
  from {
    opacity: .5;
    bottom: 150%;
  }
}

@keyframes anime-bottom {
  from {
    opacity: .5;
    top: 150%;
  }
}

@keyframes anime-left {
  from {
    opacity: .5;
    right: 150%;
  }
}

@keyframes anime-right {
  from {
    opacity: .5;
    left: 150%;
  }
}

匹配氣泡位置從而來確定執(zhí)行哪個動畫,用**[attr^=]**選擇,如 上左、上右也能匹配到

/* 設(shè)置動畫 */
@each $placement in top,
 right,
bottom,
left {
  &[placement^="#{$placement}"] {

    &::after,
    &::before {
      animation: anime-#{$placement} 300ms ease-out forwards;
    }
  }
}

最終效果如下

附上codepen地址  codepen.io/anon/pen/yR …

總結(jié)

以上所述是小編給大家介紹的純css實現(xiàn)(無腳本)Html指令式tooltip文字提示效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

標(biāo)簽:河池 北海 青海 阜陽 營口 晉中 眉山 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《純css實現(xiàn)(無腳本)Html指令式tooltip文字提示效果》,本文關(guān)鍵詞  純,css,實現(xiàn),無,腳本,Html,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《純css實現(xiàn)(無腳本)Html指令式tooltip文字提示效果》相關(guān)的同類信息!
  • 本頁收集關(guān)于純css實現(xiàn)(無腳本)Html指令式tooltip文字提示效果的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品国产三级国产普通话三级 | 在线一区二区三区做爰视频网站| 91精品国产91久久久久久一区二区| 亚洲美女少妇撒尿| 色综合中文综合网| 亚洲综合在线免费观看| 99re这里只有精品6| 综合分类小说区另类春色亚洲小说欧美| 国产激情视频一区二区在线观看 | 亚洲美女免费在线| 欧美人动与zoxxxx乱| 黑人精品欧美一区二区蜜桃| 国产欧美1区2区3区| 色综合久久88色综合天天| 亚洲6080在线| 国产清纯在线一区二区www| 91免费观看视频在线| 日韩成人精品在线| 久久女同精品一区二区| 91免费国产在线观看| 美国av一区二区| 亚洲久草在线视频| 精品国产伦理网| 在线精品视频免费播放| 久99久精品视频免费观看| 日韩一区在线免费观看| 日韩一二三四区| eeuss鲁片一区二区三区| 日韩二区在线观看| 亚洲精品在线电影| 欧美午夜视频网站| 成人免费观看av| 男人操女人的视频在线观看欧美| 中文字幕在线观看不卡视频| 欧美一区二区精品在线| 色天使色偷偷av一区二区| 极品少妇一区二区三区精品视频 | 久久精品72免费观看| 久久久久久免费毛片精品| 91成人看片片| 不卡一区二区中文字幕| 男人的天堂久久精品| 亚洲综合色噜噜狠狠| 亚洲欧洲色图综合| 久久久精品天堂| 精品国产自在久精品国产| 精品视频色一区| 色综合一区二区| 国产黑丝在线一区二区三区| 狠狠色丁香久久婷婷综合丁香| 中文字幕精品在线不卡| 在线成人午夜影院| 欧美三级一区二区| 99久久精品免费看| 国产一区二区三区日韩| 天堂午夜影视日韩欧美一区二区| 国产精品毛片无遮挡高清| 69精品人人人人| 在线精品视频小说1| 色偷偷久久人人79超碰人人澡| 国内精品伊人久久久久影院对白| 国产精品成人一区二区艾草 | 91精品国产欧美日韩| 欧美在线你懂的| eeuss国产一区二区三区| 91免费视频观看| 欧美三级日韩在线| 91麻豆精品国产91久久久更新时间| 欧美在线一区二区三区| 欧美麻豆精品久久久久久| 91精品国产综合久久精品| 欧美日韩国产另类不卡| 91精品国产美女浴室洗澡无遮挡| 欧美va在线播放| 日本一区二区三区在线观看| 亚洲激情av在线| 香蕉乱码成人久久天堂爱免费| 亚洲国产精品久久人人爱蜜臀| 亚洲欧美激情视频在线观看一区二区三区 | 欧美三片在线视频观看| 3d成人h动漫网站入口| 日韩精品在线网站| 中文字幕一区二区三区不卡在线 | 中文字幕一区二区三区av| 一区二区三区久久| 裸体一区二区三区| 成人理论电影网| 欧美午夜电影在线播放| 欧美一区二区国产| 亚洲国产成人午夜在线一区| 亚洲国产综合91精品麻豆| 国产一区在线视频| 在线观看不卡一区| 国产日韩av一区二区| 亚洲一区二区三区四区在线观看 | 91蜜桃免费观看视频| 日韩三级中文字幕| 一区二区三区.www| 美女网站一区二区| 成人av在线网| 色综合久久六月婷婷中文字幕| 欧美性生活影院| 精品91自产拍在线观看一区| 亚洲欧美日韩国产手机在线| 一本大道综合伊人精品热热| 欧美精品少妇一区二区三区| 91尤物视频在线观看| 欧美一区二区视频免费观看| 国产区在线观看成人精品| 亚洲第四色夜色| 99国内精品久久| 欧美精品一区二区三区在线播放| 综合激情成人伊人| 国产自产2019最新不卡| 欧美日韩一区高清| 最新国产精品久久精品| 国产专区欧美精品| 欧美第一区第二区| 日韩二区三区四区| 欧美三级日韩三级国产三级| 国产精品免费观看视频| 国产精品亚洲成人| 日韩欧美123| 亚洲大片免费看| 欧美天天综合网| ...中文天堂在线一区| 成人一区二区视频| 国产日韩欧美精品在线| 美腿丝袜在线亚洲一区| 精品视频999| 亚洲第一久久影院| 欧美性受极品xxxx喷水| 一区二区三区中文字幕电影| 一本色道a无线码一区v| 亚洲免费观看高清在线观看| 91久久精品日日躁夜夜躁欧美| 亚洲你懂的在线视频| 欧洲色大大久久| 婷婷中文字幕一区三区| 欧美精品丝袜中出| 日韩av网站在线观看| 91精品免费在线观看| 久久福利视频一区二区| 精品电影一区二区三区 | 国产精品77777竹菊影视小说| 精品免费国产一区二区三区四区| 蜜臀av性久久久久av蜜臀妖精 | 99re8在线精品视频免费播放| 中文字幕av一区二区三区| 91在线观看美女| 午夜精品久久久久久久久久久| 9191成人精品久久| 九九久久精品视频| 国产日韩精品一区二区三区在线| 国产精品综合在线视频| 日本一区二区不卡视频| 国产91精品免费| 亚洲综合视频在线观看| 欧美不卡在线视频| 免费观看在线综合| 亚洲精品在线观| 99久久精品费精品国产一区二区| 亚洲综合在线五月| 7777女厕盗摄久久久| 国产成人综合视频| 亚洲综合一区二区| 欧美一二区视频| 日本v片在线高清不卡在线观看| 中文字幕欧美国产| 欧美色区777第一页| 麻豆精品视频在线观看免费| 精品国精品国产| 欧美视频在线观看一区二区| 日韩精品福利网| 精品国产免费一区二区三区香蕉| 粉嫩嫩av羞羞动漫久久久| 一区二区三区免费看视频| 色www精品视频在线观看| 琪琪久久久久日韩精品| 国产精品成人免费| 欧美在线不卡视频| 国产精品中文字幕一区二区三区| 国产精品你懂的| 日韩女同互慰一区二区| 97精品国产露脸对白| 日韩在线一区二区三区| 国产精品国模大尺度视频| 日韩一级片网址| 欧美午夜不卡视频| 成人自拍视频在线| 日本免费新一区视频| 亚洲精品久久7777| 国产欧美日韩三级| 欧美一区二区三区系列电影| av激情亚洲男人天堂| 老司机精品视频线观看86| 亚洲欧洲中文日韩久久av乱码| av在线不卡免费看| 精品一二线国产| 日韩国产在线观看|