국비지원 JAVA 풀스택 과정/HTML+CSS3
[HTML+CSS3] 애니메이션 버튼
ODaram
2022. 10. 7. 17:11
애니메이션 버튼
애니메이션 버튼
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>애니메이션 버튼</title>
<style>
/* 리셋 작업 */
*{margin:0; padding:0; box-sizing: border-box;}
span {display:block;}
a{display:block; text-decoration:none;}
/* 리셋 작업 */
/* 부모 요소 */
.container {width:300px; margin:50px auto;}
.btn {
position:relative;
width:100%; height:38px;
background:linear-gradient(to bottom,#80A9DA, #8F97C5);
border:1px solid #5D81AB; border-radius:20px;
box-shadow:0 1px 1px rgba(255,255,255,0.8) inset, 2px 2px 4px rgba(0,0,0,0.4), 0 0 0 3px rgba(188,188,188,0.6);
overflow:hidden;
}
/* 부모 요소 */
.btn-txt {
position:absolute;
width:200px; padding:6px 0 0 20px;
/* left, top 기본값 0 이다. */
font-size:18px; color:#446388;
text-shadow:1px 1px 1px rgba(255,255,255,0.4); text-transform:uppercase;
}
.btn-slide-txt {
position:absolute; right:50px; top:0;
/*icon 의 right를 0으로 잡았고, icon span 넓이가 50이기 때문에*/
width:0%; height:100%; padding-top:7px;
/*padding:6px 0 0 10px;*/ /*왼쪽 10px 때문에 박스가 보임*/
color:#FFF; text-transform:uppercase;
text-shadow:-1px -1px 1px #000; text-indent :10px;/*indent : 들여쓰기*/
white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
background:#63707E;
box-shadow:-1px 0 1px rgba(255,255,255,0.4), 2px 2px 3px rgba(0,0,0,0.3) inset;
transition:all 0.4s ease;
}
.btn-icon {
position:absolute; right:0; top:0;
width:50px; height:100%; /*부모요소에서는 height 100% 적용 안됨*/
box-shadow:1px 0 1px rgba(255,255,255,0.4) inset;
}
.btn-icon span {
width:50px; height:100%;
background:url(imgs/img_arrow.png) no-repeat center center;
}
.btn:hover .btn-slide-txt {width:40%;}
</style>
</head>
<body>
<div class="container">
<a href="#" class="btn">
<span class="btn-txt">register now</span>
<span class="btn-slide-txt">it's free! just do it</span>
<span class="btn-icon"><span></span></span>
</a>
</div>
</body>
</html>