1. 程式人生 > >CSS3之ToolTip------飛入動畫提示框

CSS3之ToolTip------飛入動畫提示框

1.效果預覽
這裡寫圖片描述

2.實現思路
這裡寫圖片描述
(1)首先整個效果由兩部分組成,即兩個div,底部為容器,藍色部分為其子元素
(2)通過position:absolute將tooltip定位於灰色區域的頂部
(3)使用transform: translateY()和transition屬性實現平移的過渡動畫效果
(4)初始時,將tooltip的opacity屬性設定為0,即全透明

3.程式碼
(1)wrapper樣式

.wrapper{
            cursor: help;
            position: relative;
            left: 200px
; top: 200px; background-color: #ececec; color: #000; text-align: center; width: 200px; padding: 15px 40px; font-weight: bold; }

(2)tooltip樣式

.wrapper .tooltip{
            display: block;
            /*這行必須寫,因為我們只是將tooltip設定為全透明,tooltip並不是真正的消失,所以當滑鼠移至tooltip區域時它會自己彈出*/
pointer-events: none; cursor: help; /*設定為全透明*/ opacity: 0; background-color: #1496BB; color: #fff; position: absolute; left: -20px; bottom: 100%; width: 100%; padding: 20px; margin-bottom
: 15px
; /*設定Y軸上的位移,使其產生飛入效果*/ transform: translateY(10px); -webkit-transform: translateY(10px); -moz-transform: translateY(10px); -ms-transform: translateY(10px); -o-transform: translateY(10px); /*設定過渡動畫,過渡時間為0.25秒,過渡形式為加速過渡*/ transition: all .25s ease-in; -webkit-transition: all .25s ease-in; -moz-transition: all .25s ease-in; -ms-transition: all .25s ease-in; -o-transition: all .25s ease-in; /*為tooltip新增邊框陰影*/ box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28); -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28); -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28); -ms-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28); -o-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28); }

(3)tooltip底部三角形箭頭

.wrapper .tooltip:after{
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-top:10px solid #1496BB; 
            position: absolute;
            left: 50%;
            bottom: -10px;
            width: 0;
            height: 0;
            content: "";
            margin-left: -10px;
        }

(4)為tooltip新增:before,防止滑鼠向上移動到tooltip時,tooltip消失

.wrapper .tooltip:before{
            width: 100%;
            height: 20px;
            position: absolute;
            left: 0;
            bottom: -20px;
            content: "";
        }

(5)為wrapper新增hover響應

.wrapper:hover .tooltip{
            opacity: 1;
            pointer-events: auto;
            transform: translateY(0);
            -webkit-transform: translateY(0);
            -moz-transform: translateY(0);
            -ms-transform: translateY(0);
            -o-transform: translateY(0);
        }

(6)html程式碼

<body>

    <div class="wrapper">
        show a tooltip
        <div class="tooltip">
            this a tooltip
        </div>
    </div>
</body>

最終效果
這裡寫圖片描述