所以,我一直在尝试让.logo超出主导航的边界,但我不能让它这样做。我知道我的编码方式有问题,但我不能对此指手画脚。请帮帮我好吗?
HTML
<div id="landing">
<nav id="main-nav">
<div class="logo">
<a href="#"><img src="./img/logo_final-final.png" alt=""></a>
</div>
<div class="container">
<div class="nav-btns btns-container">
<div><a href="#">Home</a></div>
<div><a href="#">Store</a></div>
<div><a href="#">Offers</a></div>
<div><a href="#">FAQs</a></div>
<div><a href="#">Contact Us</a></div>
</div>
<div class="container-2">
<div class="search-bar">SearchBar</div>
<div class="profile-info">
<div class="profile-pic">profile pic</div>
<div class="profile-name">Name</div>
<div class="profile-orders">My orders</div>
</div>
<div class="cart">cart</div>
</div>
</div>
<div class="clear"></div>
</nav>
</div>CSS
*{
margin: 0;
padding: 0;
box-sizing: border-box;
overflow-x: hidden;
}
a{
text-decoration: none;
}
#main-nav{
position: relative;
clear: both;
top: 5%;
margin: auto;
max-width: 90%;
background: #007FFF 0% 0% no-repeat padding-box;
box-shadow: 0px 10px 40px #00000029;
border-radius: 40px;
opacity: 0.9;
display: flex;
flex-wrap: wrap;
}
#main-nav{
overflow: hidden;
padding: -5px;
}
#main-nav .container{
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
clear: both;
}
#main-nav .logo{
overflow: hidden;
background-color: #FFFFFF;
border-radius: 3rem;
transform: scale(1.04);
z-index: 2;
box-shadow: 5px 0 2px -2px rgb(0, 97, 194);
}
#main-nav .container .logo a{
transform: scale(1.5);
}
#main-nav .container .logo img{
max-width: 100%;
height: auto;
}
#main-nav .container .btns-container{
display: flex;
flex-wrap: wrap;
align-items: center;
margin-left: 0;
}
#main-nav .container .btns-container div{
padding: 1rem 2rem;
height: 100%;
}
#main-nav .container-2{
display: flex;
flex-wrap: wrap;
right:0;
}
#main-nav .container-2 .search-bar{
padding: 1rem 2rem;
margin: 0 3rem;
}
#main-nav .container-2 .profile-info{
display: grid;
grid-template-areas:
'pic pic name name name'
'pic pic order order order';
padding: 0rem 3rem;
}
#main-nav .container-2 .profile-info .profile-pic{grid-area:pic;}
#main-nav .container-2 .profile-info .profile-name{grid-area:name;}
#main-nav .container-2 .profile-info .profile-order{grid-area:order;}
#main-nav .container-2 .cart{
padding: 1rem 3rem;
}如果这很让人困惑,我很抱歉。我刚回到HTML/CSS,忘记了如何高效地编写代码。大多数时候,我只是添加标签来修复任何错误,而不去研究是什么导致了问题。谢谢!
发布于 2020-02-09 05:37:02
尝试从#main-nav和全局样式*中删除overflow元素,并使徽标如下所示:
#main-nav .logo{
overflow: hidden;
background-color: #FFFFFF;
border-radius: 3rem;
transform: scale(1.04);
z-index: 2;
box-shadow: 5px 0 2px -2px rgb(0, 97, 194);
position: absolute;
}
#main-nav{
/*overflow: hidden;*/ /*remove this*/
padding: -5px;
}
*{
margin: 0;
padding: 0;
box-sizing: border-box;
/*overflow-x: hidden;*/ /*remove this*/
}最后,结果如下:

所以,如果你想要其他的东西,请解释更多来帮助你,希望我的回答对你有帮助
https://stackoverflow.com/questions/60122410
复制相似问题