取消悬停时过渡不会缓和

Transition not easing out when un-hovering

我正在制作一个带有 CSS 下划线缓动过渡的简单按钮。所有其他缓动过渡工作正常(悬停、缓入、取消悬停、缓出),但边界底部不会缓出。当您停止悬停时,它只会恢复正常而不会放松。

这是我制作的带有快速按钮的代码笔来说明问题。

https://codepen.io/anon/pen/jwgpdv

这是我的 CSS:

.gbtn {
    background: #bba989;
    text-align: center;
    line-height: 150px;
    height: 150px;
    color: white;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    display: inline-block;
    transition: all .25s ease;
    box-sizing: border-box;
    font-family: "montserrat", serif;
    padding: 0px 30px;
}

.gbtn:hover {
    background-color: #aa9470;
    border-bottom: 150px solid #242424;
}

你没有在悬停前定义边框,浏览器怎么知道如何过渡出来?

添加这个:

.gbtn {
 border-bottom: 0 solid #242424;
}