I am trying to implement box-shadow on my circle element to match it with whole navbar, but I want to make it only on bottom of circle. I was trying to change z-index and hide it under that navbar but it didnt work.
How can i do it?
Here's the css and html code:
nav.navbar {
font-family: var(--montserrat);
position: fixed;
top: 0;
width: 100vw;
height: 60px;
background-color: white;
box-shadow: 0px 10px 5px 0px rgba(0,0,0,0.36);
z-index: 10;
}
nav.navbar div.navbar-element {
display: flex;
height: 100%;
width: 100%;
}
nav.navbar > div.navbar-element div.logo-wrapper {
width: 90px;
height: 90px;
border-radius: 50%;
margin: auto;
background-color: white;
position: relative;
margin-top: -10px;
}
nav.navbar > div.navbar-element div.logo-wrapper img {
width: 80%;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
<nav class="navbar">
<div class="navbar-element">
<div class="site-part">O nas</div>
<div class="site-part">Oferta</div>
<div class="logo">
<div class="logo-wrapper">
<img src="./../images/logo.jpg" alt="logo">
</div>
</div>
<div class="site-part">Realizacje</div>
<div class="site-part">Kontakt</div>
</div>
</nav>
I would recommend just making a div outside of the navbar, adding a box-shadow to that div, setting the border-radius to make the div a circle, and then positioning it underneath the logo. As an example: (I hard-coded some stuff just to throw this together quickly.)
.box-shadow {
width: 75px;
height: 75px;
border-radius: 50%;
box-shadow: 0 15px 8px 8px rgba(0,0,0,0.36);
position: absolute;
top: 4%;
left: 9%;
z-index: -1;
transform: translateX(-50%) translateY(-60%);
}
The wonderful thing about CSS is that you can fiddle to your heart's content, until it is exactly as you'd like it.