為什么實現這種效果呢,其實這效果也是根據title的提示說明衍生出來的,只是因為原生的比較丑陋,像這種衍生出的插件后很多種,如jquery-ui的tooltip,Bootstrap的tooltips等等,有很多種插件庫。
有時候我們不需要那么大的插件庫,其實就一兩個地方需要做一些提示(tooltip),所以可以使用CSS的content屬性與 :before 及 :after 偽元素配合使用來實現插入生成內容。
查看效果如下
html代碼如下
<a class="dui-tips" data-tooltip="我是一個3cbest.com提示">w3cbest.com</a>
“data-“為自定義屬性,如上自定義提示data-tooltip=”我是一個3cbest.com提示”,配合before、after使用content的attr調用自定義提示,content: attr(data-tooltip);
content: attr很好理解,只要會jq的.attr()就知道什么意思了,本例的content: attr就是獲取data-tooltip里面的值
CSS代碼
.dui-tips {position: relative;display: inline-block;cursor: pointer;} .dui-tips[data-tooltip]:after,.dui-tips[data-tooltip]:before {visibility: hidden;position: absolute;top: 50%;left: 100%;transition: all .3s;} .dui-tips[data-tooltip]:after { content: attr(data-tooltip);transform: translate(-5px, -50%);white-space: pre;padding: 5px 10px;background-color: rgba(0, 0, 0, 0);color: rgba(255, 255, 255, 0);} .dui-tips[data-tooltip]:before {content: '';height: 0;width: 0;transform: translate(-10px, -50%);border-width: 5px 5px 5px 0;border-style: solid;border-color: transparent rgba(0, 0, 0, 0) transparent transparent;}.dui-tips:hover:after,.dui-tips:hover:before {transition: all .3s;visibility: visible; }.dui-tips:hover:after {color: rgba(255, 255, 255, 1);background-color: rgba(0, 0, 0, 0.8);transform: translate(5px, -50%);} .dui-tips:hover:before {border-color: transparent rgba(0, 0, 0, 0.8) transparent transparent;transform: translate(0px, -50%);}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答