天天看點

一步一步教你做提示框--傻瓜也能學會

效果圖:

一步一步教你做提示框--傻瓜也能學會

為了便于差別,我們将那個三角形繪制成了紅色,顯示框繪制成了橙黃色。

首先介紹提示框的大緻制作方法:

  1. 做出上面三個元素:問号及其圓圈、三角形和長方形提示框
  2. 設定三角形及長方形提示框不可見
  3. 設定滑鼠經過問号時顯示提示框

下面我主要使用 <p> 選擇器來作為元素容器 -------------------------------------------------三個僞類用法--------------------------------------------------

這裡要用到 兩個 CSS僞類:hover,before(或after)

  • hover

hover相信大家都已經很清楚,就是滑鼠懸停時産生的動作,較常見到的地方就是滑鼠移過一個按鈕時,按鈕變了樣。如下所示:

一步一步教你做提示框--傻瓜也能學會

滑鼠經過後變成

一步一步教你做提示框--傻瓜也能學會
  • before

before是在某元素 前面 添加,其中比較重要的屬性就是content,表示将要添加的内容。如:

p:before{
    content:'添加的内容'
}
           

注: 同樣的,after表示在元素後面添加内容

---------------------------------------------問号及其圓圈繪制-----------------------------------------------

圓圈主要用到CSS3的一個屬性:border-radius。本來一個元素(塊狀元素)是四邊形的,但是把它的border-radius設定成它長(或寬,這裡主要是指正方形)的一半,它就看起來像是一個圓了( IE8及以下無效 )。 比如以下一個CSS樣式:

p{width:20px;    height:20px;   background-color:green;}
           

它顯示出來的是一個邊長為20px的正方形

一步一步教你做提示框--傻瓜也能學會

如果給它加上  border-radius:50%; 它就變成半徑為10px的圓了。

最後,帶問号的圓的CSS:

p{width:20px;    height:20px;   background-color:green;    border-radius:50%;    text-align:center;    }
p:before{content:'?';    color:orange;    font-weight: bold;}
           

效果

一步一步教你做提示框--傻瓜也能學會

-------------------------------------------------三角形繪制--------------------------------------------------

三角形繪制隻要三個語句就可以:

p:before{
    content:'';
    border: 10px solid transparent;
    border-bottom-color:#F3252D;
}
           

這三個屬性是繪制三角形的最簡語句,缺一不可。 效果:

一步一步教你做提示框--傻瓜也能學會

最後那個橙黃色的框框就不寫了,相信大家都會。

TIPS:  如何設定陰影:

box-shadow:10px 20px 15px rgba(4,235,4,0.2);    
           

     前面兩個參數分别代表陰影在右邊,下邊(負數的話就是左邊,上邊),第三個參數表示羽化半徑(使它看起來是模糊的),rgba中的四個參數分别表示    red、green、blue、alhpa,即紅、綠、藍以及透明度,透明度範圍在0~1之間。如下:

一步一步教你做提示框--傻瓜也能學會

-------------------------------------------------最終代碼--------------------------------------------------

HTML:

<div class="tips">
    <p>提示資訊的内容</p>
</div>
           

CSS:

.tips{
    width:20px;
    height:20px;
    border-radius:50%;
    background-color:green;
    text-align:center;
}
.tips:before{
    content:'?';
    font-weight:bold;
    color:red;
}
/*注:以上就是剛剛說的那個圓及它中間的問号*/

/*注:下面繪制長方形内容顯示框,并使它不顯示*/
.tips p{
    display : none;            /*剛開始時隐藏*/
    width : 300px;
    padding : 20px;            /*此處使用padding而不用height,想想有何差別*/
    border-radius : 5px;            /*圓角*/
    background-color : #fbcc7d;            /*背景色*/
    color : #000;            /*文字顔色*/
    box-shadow : 1px 1px 1px rgba(0,0,0,0.2);        /*陰影*/ 
    position : absolute;            /*固定位置,不然會撐開頁面*/
    left : auto;        /*邊框起始位置*/
    margin-top : 8px;            /*邊框距離頂部8px,這是因為要在它上面加上一個三角形,8px是那個三角形的邊長*/
    text-align : left;            /*文字居左*/
}
/*注:下面給内容框添加一個三角形*/
.tips p:before{
    content : '';
    border : 8px solid transparent;
    border-bottom-color : #F3252D;
    position : absolute;        /*位置固定*/
    left : 5px;                /*三角形與内容框的相對位置*/
    top : -16px;            /*使它在P元素的上面16px處(這16px就是三角形的邊長的兩倍)*/
}

/*給問号添加hover屬性*/
.tips:hover p{
    display : block;
}
           

顯示效果:

一步一步教你做提示框--傻瓜也能學會

至此,提示框就完成了。