首頁 > web前端 > css教學 > 主體

CSS3裡怎麼實現提示文字的彈跳窗效果

php中世界最好的语言
發布: 2018-05-24 14:38:50
原創
4322 人瀏覽過

文字的彈跳窗效果相信大家都有做過,不過在CSS3裡,這種效果可以不需要額外的JS程式碼來操縱,我們今天就給大家來實現一個不用JS的提示文字的彈跳窗效果。

Css程式碼

[data-tips] {
         position: relative;
         text-decoration: none;
}
         [data-tips]:after,
         [data-tips]:before {
             position: absolute;
             z-index: 100;
                   opacity: 0;
         }
                   [data-tips]:after {
                            content: attr(data-tips);
                            height: 25px;
                            line-height: 25px;
                            padding: 0 10px;
                            font-size: 12px;
                            text-align: center;
                            color: #fff;
                            background: #222;
                            border-radius: 5px;
                            text-shadow: 0 0 5px #000;
                            -moz-box-shadow: 0 0 5px rgba(0,0,0,0.3);
                            -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.3);
                            box-shadow: 0 0 5px rgba(0,0,0,0.3);
                            white-space: nowrap;
                            -moz-box-sizing: border-box;
                            -webkit-box-sizing: border-box;
                            box-sizing: border-box;
                   }
                   [data-tips]:before {
                            content: "";
                            width: 0;
                            height: 0;
                            border-width: 6px;
                            border-style: solid;
                   }
                            [data-tips]:hover:after,
                            [data-tips]:hover:before {
                                     opacity: 1;
                            }
/* Top tips */
[data-tips].top-tip:after,
[data-tips].top-tip:before {
    -webkit-transition: bottom 0.25s ease-in-out, opacity 0.25s ease-in-out;
    -moz-transition: bottom 0.25s ease-in-out, opacity 0.25s ease-in-out;
    transition: bottom 0.25s ease-in-out, opacity 0.25s ease-in-out;
         bottom: 90%;
         left: -9999px;
         margin-bottom: 12px;
}
         [data-tips].top-tip:before {
                   border-color: #222 transparent transparent transparent;
                   margin-bottom: 0;
         }
         [data-tips].top-tip:hover:after,
         [data-tips].top-tip:hover:before {
                   bottom: 100%;
                   left: 0;
         }
         [data-tips].top-tip:hover:before {
                   left: 15px;
         }
/* Bottom tip */
[data-tips].bottom-tip:after,
[data-tips].bottom-tip:before {
    -webkit-transition: top 0.25s ease-in-out, opacity 0.25s ease-in-out;
    -moz-transition: top 0.25s ease-in-out, opacity 0.25s ease-in-out;
    transition: top 0.25s ease-in-out, opacity 0.25s ease-in-out;
         top: 90%;
         left: -9999px;
         margin-top: 12px;
}
         [data-tips].bottom-tip:before {
                   border-color: transparent transparent #222 transparent;
                   margin-top: 0;
         }
         [data-tips].bottom-tip:hover:after,
         [data-tips].bottom-tip:hover:before {
                   top: 100%;
                   left: 0;
         }
         [data-tips].bottom-tip:hover:before {
                   left: 15px;
         }
/* Right tip */
[data-tips].right-tip:after,
[data-tips].right-tip:before {
    -webkit-transition: left 0.25s ease-in-out, opacity 0.25s ease-in-out;
    -moz-transition: left 0.25s ease-in-out, opacity 0.25s ease-in-out;
    transition: left 0.25s ease-in-out, opacity 0.25s ease-in-out;
         top: -9999px;
         left: 96%;
         margin-left: 12px;
}
         [data-tips].right-tip:before {
                   border-color: transparent #222 transparent transparent;
                   margin-left: 0;
         }
         [data-tips].right-tip:hover:after,
         [data-tips].right-tip:hover:before {
                   left: 100%;
                   top: 0;
         }
         [data-tips].right-tip:hover:before {
                   top: 7px;
         }
/* Left tip */
[data-tips].left-tip:after,
[data-tips].left-tip:before {
    -webkit-transition: right 0.25s ease-in-out, opacity 0.25s ease-in-out;
    -moz-transition: right 0.25s ease-in-out, opacity 0.25s ease-in-out;
    transition: right 0.25s ease-in-out, opacity 0.25s ease-in-out;
         top: -9999px;
         right: 96%;
         margin-right: 12px;
}
         [data-tips].left-tip:before {
                   border-color: transparent transparent transparent #222;
                   margin-right: 0;
         }
         [data-tips].left-tip:hover:after,
         [data-tips].left-tip:hover:before {
                   right: 100%;
                   top: 0;
         }
         [data-tips].left-tip:hover:before {
                   top: 7px;
         }
登入後複製

HTML程式碼

<a href="http://bavotasan.com" data-tips="Go to bavotasan.com">bavotasan.com</a>
登入後複製

這段程式碼是純CSS和HTML不含任何JS,有興趣的朋友可以自己動手操作一下,更多精彩請關注php中文網其它相關文章!

相關閱讀:

CSS的編碼怎麼轉換

#css3點選顯示漣漪特效

#怎樣用canvas實作小球和滑鼠的互動

以上是CSS3裡怎麼實現提示文字的彈跳窗效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!