100-project-100-days-website/100_projects/26-magic-navigation-menu-indicator/css/style.css
2023-03-21 21:14:00 +03:00
Ask

117 lines
2.3 KiB
CSS

{13ca2df6d0e45b758bf5e39bdd08ae6d06f4ad53 true 2367 style.css 0xc0030c4620}

*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root{
--color:#2C2D2A;
}
body{
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: var(--color);
}
.navigation{
width: 350px;
height: 70px;
background: #fff;
display: flex;
justify-content: center;
align-items: center;
border-radius: 5px;
}
.navigation ul{
display: flex;
width: 350px;
}
.navigation ul li{
position: relative;
list-style: none;
width: 70px;
height: 70px;
z-index: 1;
}
.navigation ul li a{
position: relative;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
width: 100%;
text-align: center;
}
.navigation ul li a .icon{
position: relative;
display: block;
line-height: 75px;
font-size: 21px;
text-align: center;
transition: .3s;
color: var(--color);
}
.navigation ul li.active a .icon{
transform: translateY(-32px);
}
.navigation ul li a .text{
position: absolute;
color: var(--color);
font-weight: 400;
font-size: 17px;
transition: .3s;
opacity: 0;
transform: translateY(20px);
}
.navigation ul li.active a .text{
opacity: 1;
transform: translateY(10px);
}
.point{
position: absolute;
top:42%;
width: 70px;
height: 70px;
background: #595b57;
border-radius: 50%;
border: 5px solid var(--color);
transition: .5s;
}
.point::before{
content: '';
position: absolute;
top:45%;
left: -20px;
width: 20px;
height: 20px;
background:transparent;
border-top-right-radius: 20px;
box-shadow: 0px -10px 0 0 var(--color);
}
.point::after{
content: '';
position: absolute;
top:45%;
right: -20px;
width: 20px;
height: 20px;
background:transparent;
border-top-left-radius: 20px;
box-shadow: 0px -10px 0 0 var(--color);
}
.navigation ul li:nth-child(1).active ~ .point{
transform: translateX(calc(70px * 0));
}
.navigation ul li:nth-child(2).active ~ .point{
transform: translateX(calc(70px * 1));
}
.navigation ul li:nth-child(3).active ~ .point{
transform: translateX(calc(70px * 2));
}
.navigation ul li:nth-child(4).active ~ .point{
transform: translateX(calc(70px * 3));
}
.navigation ul li:nth-child(5).active ~ .point{
transform: translateX(calc(70px * 4));
}