iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
Modern Web

30天學網頁設計系列 第 15

Day15 互動式CSS按鈕動畫(下)

  • 分享至 

  • xImage
  •  

由下向上填滿

HTML

<div class="shape-ex6"><p>按鈕</p></div>

CSS

.shape-ex6{
    width: 150px;
    height: 40px;
    display: block;
    text-align: center;
    cursor: pointer;
    line-height: 40px;
    color: #000;
    background-color: transparent;
    border: 1px solid #000;
    position: relative;
    transition: all .3s linear;
}
.shape-ex6 > p{
    position: relative;
    z-index: 1;
}
.shape-ex6::before{
    content: "";
    width: 100%;
    height: 0%;
    display: block;
    background-color: #000;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all .3s ease;
}
.shape-ex6:hover{
    color: #fff;
}
.shape-ex6:hover::before{
    height: 100%;
}

由右上向左下填滿

HTML

<div class="shape-ex7"><p>按鈕</p></div>

CSS

.shape-ex7{
    width: 150px;
    height: 40px;
    display: block;
    text-align: center;
    cursor: pointer;
    line-height: 40px;
    color: #000;
    background-color: transparent;
    border: 1px solid #000;
    position: relative;
    transition: all .3s linear;
}
.shape-ex7 > p{
    position: relative;
    z-index: 1;
}
.shape-ex7::before{
    content: "";
    width: 0%;
    height: 0%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: all .3s ease;
}
.shape-ex7:hover{
    color: #fff;
}
.shape-ex7:hover::before{
    width: 100%;
    height: 100%;
    opacity: 1;
}

由左上向右下填滿

HTML

<div class="shape-ex8"><p>按鈕</p></div>

CSS

.shape-ex8{
    width: 150px;
    height: 40px;
    display: block;
    text-align: center;
    cursor: pointer;
    line-height: 40px;
    color: #000;
    background-color: transparent;
    border: 1px solid #000;
    position: relative;
    transition: all .3s linear;
}
.shape-ex8 > p{
    position: relative;
    z-index: 1;
}
.shape-ex8::before{
    content: "";
    width: 0%;
    height: 0%;
    display: block;
    background-color: #000;
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    transition: all .3s ease;
}
.shape-ex8:hover{
    color: #fff;
}
.shape-ex8:hover::before{
    width: 100%;
    height: 100%;
    opacity: 1;
}

由右下向左上填滿

HTML

<div class="shape-ex9"><p>按鈕</p></div>

CSS

.shape-ex9{
    width: 150px;
    height: 40px;
    display: block;
    text-align: center;
    cursor: pointer;
    line-height: 40px;
    color: #000;
    background-color: transparent;
    border: 1px solid #000;
    position: relative;
    transition: all .3s linear;
}
.shape-ex9 > p{
    position: relative;
    z-index: 1;
}
.shape-ex9::before{
    content: "";
    width: 0%;
    height: 0%;
    display: block;
    background-color: #000;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: all .3s ease;
}
.shape-ex9:hover{
    color: #fff;
}
.shape-ex9:hover::before{
    width: 100%;
    height: 100%;
    opacity: 1;
}

由左下向右上填滿

HTML

<div class="shape-ex10"><p>按鈕</p></div>

CSS

.shape-ex10{
    width: 150px;
    height: 40px;
    display: block;
    text-align: center;
    cursor: pointer;
    line-height: 40px;
    color: #000;
    background-color: transparent;
    border: 1px solid #000;
    position: relative;
    transition: all .3s linear;
}
.shape-ex10 > p{
    position: relative;
    z-index: 1;
}
.shape-ex10::before{
    content: "";
    width: 0%;
    height: 0%;
    display: block;
    background-color: #000;
    position: absolute;
    bottom: 0;
    right: 0;
    opacity: 0;
    transition: all .3s ease;
}
.shape-ex10:hover{
    color: #fff;
}
.shape-ex10:hover::before{
    width: 100%;
    height: 100%;
    opacity: 1;
}

線條框

HTML

<div class="shape-ex11"><p>按鈕</p></div>

CSS

.shape-ex11{
    width: 150px;
    height: 40px;
    display: block;
    text-align: center;
    cursor: pointer;
    line-height: 40px;
    color: #000;
    background-color: transparent;
    position: relative;
    transition: all .3s linear;
}
.shape-ex11 > p{
    position: relative;
    z-index: 1;
}
.shape-ex11::before{
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    box-sizing: border-box;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .3s linear;
}
.shape-ex11::after{
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    box-sizing: border-box;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    position: absolute;
    bottom: 0;
    right: 0;
    transition: all .3s linear;
}
.shape-ex11:hover::before,
.shape-ex11:hover::after{
    width: 100%;
    height: 100%;
}

上一篇
Day14 互動式CSS按鈕動畫(上)
下一篇
Day16 JavaScript基本教學(一)
系列文
30天學網頁設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言