Day15 互动式CSS按钮动画(下)

由下向上填满

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]Vue.js 网站基本建置

>>:  【DAY 15】线上课程正夯,如何利用 Microsoft Stream 让组织学习效率化

Day15:图形搜寻-广度优先搜寻(breadth-first search)

Tree and Graph 在开始今天的主题之前,要先来浅谈Tree跟Graph。什麽是Tree?...

[CSS] Flex/Grid Layout Modules, part 12

今天继续来讲 Grid 单元,昨天提到了对齐基本用法,今天继续来讲对齐与留白。不过一开始,还是先解释...

Day16 Laravel - migrate

Docker及Laravel为以後每个专案都会用到的搭配,所以这种时候就将它做成一个类似模板的环境并...

[Day N] - 出书玩真的!出版罗~《IoT没那麽难!新手用 JavaScript 入门做自己的玩具!》

大家好,我是17King~ d(`・∀・)b 跟大家报告一个好消息! 我的书终於出版啦!!! (拍手...

让按钮来个酷动态!操纵DOM事件:JavaScript篇 (一)

一般来说前端技能来到第三课,就是要面对无所不在、生态系丰富、也象徵着永远学不完的JavaScript...