<!DOCTYPE html>
<html>
<head>
<title>Mac Buttons</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="container">
<div class="btn btn1"></div>
<div class="btn btn2"></div>
<div class="btn btn3"></div>
</div>
<a href="https://codepen.io/dev_loop" target="_blank">Check Out My Other Pens</a>
</body>
</html>
body{
padding: 0;
margin: 0;
background: #1E1E22;
}
.container{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
}
.btn{
height: 50px;
width: 50px;
margin: 20px;
border-radius: 50%;
cursor: pointer;
}
.btn1{
background: #fac536;
position: relative;
overflow: hidden;
}
.btn1::before{
content: '';
position: absolute;
top: 100%;
left: 50%;
transform: translate(-50%, -50%);
width: 50%;
height: 10%;
opacity: 0;
background: #222;
transition: 300ms;
}
.btn1:hover::before{
opacity: 1;
top: 50%;
}
.btn2{
background: #39ea49;
position: relative;
overflow: hidden;
}
.btn2::before{
content: '';
position: absolute;
top: 100%;
left: 50%;
transform: translate(-50%, -50%);
width: 45%;
height: 45%;
opacity: 0;
background: #222;
transition: 300ms;
}
.btn2::after{
content: '';
position: absolute;
top: 100%;
left: 50%;
transform: translate(-50%, -50%) rotate(-45deg);
width: 15%;
height: 80%;
opacity: 0;
background: #39ea49;
transition: 300ms;
}
.btn2:hover::before, .btn2:hover::after{
opacity: 1;
top: 50%;
}
.btn3{
background: #f25056;
position: relative;
overflow: hidden;
}
.btn3::before{
content: '';
position: absolute;
top: 100%;
left: 50%;
transform: translate(-50%, -50%) rotate(-45deg);
width: 15%;
height: 50%;
opacity: 0;
background: #222;
transition: 300ms;
}
.btn3::after{
content: '';
position: absolute;
top: 100%;
left: 50%;
transform: translate(-50%, -50%) rotate(45deg);
width: 15%;
opacity: 0;
height: 50%;
background: #222;
transition: 300ms;
}
.btn3:hover::before, .btn3:hover::after{
opacity: 1;
top: 50%;
}
a{
text-decoration: none;
position: absolute;
right: 20px;
bottom: 20px;
color: #fff;
font-family: sans-serif;
font-size: .9rem;
}
a:hover{
opacity: .8;
border-bottom: 1px solid rgba(255, 255, 255, .8);
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.