main
.ruler
.container
a.icon(href="#")
i.fas.fa-phone
a.icon(href="#")
i.fas.fa-images
a.icon(href="#")
i.fas.fa-envelope-open
a.icon(href="#")
i.fas.fa-comment
a.icon(href="#")
i.fas.fa-music
View Compiled
:root {
--foreground-color: white;
}
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
body {
overflow: hidden;
}
main {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
background:
linear-gradient(322deg,
#ba4aff, rgba(#ba4aff, 0) 70%),
linear-gradient(178deg,
#008aff, rgba(#008aff, 0) 70%),
linear-gradient(24deg,
#00ffc6, rgba(#00ffc6, 0) 35%);
}
.ruler {
border-top: 1px solid rgba(white, 0.3);
background-color: rgba(white, 0.05);
position: absolute;
top: 50%;
height: 50%;
left: 0%;
right: 0%;
}
.container {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 1.25rem;
.icon {
--size: 6rem;
--transition-duration: 500ms;
--transition-easing: ease-out;
width: var(--size);
height: var(--size);
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
color: var(--foreground-color);
font-size: 2rem;
border: 1px solid rgba(white, 0.6);
background-color: rgba(white, 0.1);
backdrop-filter: blur(2px);
border-radius: 0.5rem;
box-shadow:
0px
calc(var(--size) / 6)
calc(var(--size) / 3)
rgba(black, 0.1);
transition: transform
var(--transition-duration)
var(--transition-easing);
overflow: hidden;
&::before {
content: '';
background: rgba(white, 0.4);
width: 60%;
height: 100%;
top: 0%;
left: -125%;
transform: skew(45deg);
position: absolute;
transition: left
var(--transition-duration)
var(--transition-easing);
}
&:hover {
transform: translateY(-25%);
&::before {
left: 150%;
}
}
}
}
View Compiled
This Pen doesn't use any external JavaScript resources.