Rachel Wen 2020/12/31 13:03:47
0 769
建立本次的按鈕動畫有三個步驟:「 建立按鈕 」、「 建立按鈕內的二個三角形 」、「 建立按鈕動畫 」
一、建立按鈕
1. 建立要作業的區塊 div.outside
2. 建立按鈕 div.btn
3. 使按鈕置中於畫面:.btn 設定為 inline-block 後就會有 inline 屬性,當父層 .outside 使用文字置中「 text-align: center; 」時,子層 .btn 也會跟著置中
4. 按鈕內文字置中於按鈕:使用 line-height,設定「 行高 」數值與按鈕高度相同
|
![]() |
|
二、建立按鈕內的二個三角形
0. 首先,先介紹如何建立三角形:
當對一個有寬、高的元素設定 border 時,四個邊框的銜接方式是以對角線的形式,如 sample_1;
而當我們將寬高設定為 0 後,四個邊會在元素的中心匯成一個點,如 sample_2。
因此,一個三角形將由一個填色的邊線及其相鄰的二個透明邊線所組成,如.box1、.box2、.box3、.box4
1. 建立三角形共用樣式 div.triangle、二個三角形 div.t1、div.t2
2.定位三角形:
i. 子層的三角形.triangle 的 position 設定為 absolute,父層 btn 的 position 設定為 relative。 ( 定位相關學習可參考:CSS Position基本觀念 )
ii. .水平置中:「 left:0; right: 0; margin: auto; 」
ii. t1 設定 bottom:0,使其置底;.t2 設定 top:0,使其置頂
3.父層 btn 加上 overflow: hidden,使超出父層的範圍隱藏起來
|
![]() |
|
三、建立按鈕動畫
1. 上述呈顯為 hover 後的結果,因此先將 .t1 border-bottom、.t2 border-top的寬度初始為 0
2. 設定 .btn:hover .t1 的 border-bottom為展開後的 120px、 .btn:hover .t2 的 border-top為展開後的 120px
3. 增加動畫效果:transition 設定 0.5 秒;當 hover 時,boder 寬度由 0px 到 120px 花費 0.5秒
|
![]() |
|
以上就是 CSS按鈕動畫_內三角滑動 的簡單範例,有興趣也可以試看看。= )