Красивый эффект при наведении на кнопки с линиями CSS, который подойдет скорее для темного фона сайта, но и в светлых оттенках смотрится хорошо. В любом случае, все цвета можно менять по желанию.
Пример
Button 1
Button 2
Button 3
HTML
<div class="line-btn line-btn-one"><span>Button 1</span></div>
<div class="line-btn line-btn-two"><span>Button 2</span></div>
<div class="line-btn line-btn-three"><span>Button 3</span></div>
CSS
/* Общие стили */
.line-btn {
width: 250px;
height: 50px;
text-align: center;
line-height: 50px;
cursor: pointer;
margin: 5em 0; /* Отступ кнопок */
color: #83bec5;
transition: all 0.5s;
position: relative;
}
/* Button 1 */
.line-btn-one span {
transition: all 0.3s;
}
.line-btn-one::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
opacity: 0;
transition: all 0.3s;
border-top-width: 1px;
border-bottom-width: 1px;
border-top-style: solid;
border-bottom-style: solid;
border-top-color: rgba(131,190,197,0.5);
border-bottom-color: rgba(131,190,197,0.5);
transform: scale(0.1, 1);
}
.line-btn-one:hover span {
letter-spacing: 2px;
}
.line-btn-one:hover::before {
opacity: 1;
transform: scale(1, 1);
}
.line-btn-one::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
transition: all 0.3s;
background-color: rgba(131,190,197,0.1);
}
.line-btn-one:hover::after {
opacity: 0;
transform: scale(0.1, 1);
}
/* Button 2 */
.line-btn-two span {
z-index: 2;
display: block;
position: absolute;
width: 100%;
height: 100%;
}
.line-btn-two::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
transition: all 0.5s;
border: 1px solid rgba(131,190,197,0.2);
background-color: rgba(131,190,197,0.1);
}
.line-btn-two::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
transition: all 0.5s;
border: 1px solid rgba(131,190,197,0.2);
background-color: rgba(131,190,197,0.1);
}
.line-btn-two:hover::before {
transform: rotate(-45deg);
background-color: rgba(131,190,197,0);
}
.line-btn-two:hover::after {
transform: rotate(45deg);
background-color: rgba(131,190,197,0);
}
/* Button 3 */
.line-btn-three::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
background-color: rgba(131,190,197,0.1);
transition: all 0.3s;
}
.line-btn-three:hover::before {
opacity: 0 ;
transform: scale(0.5,0.5);
}
.line-btn-three::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
opacity: 0;
transition: all 0.3s;
border: 1px solid rgba(131,190,197,0.5);
transform: scale(1.2,1.2);
}
.line-btn-three:hover::after {
opacity: 1;
transform: scale(1,1);
}