我有一个使用以下HTML的带有导航栏的网站:
.nav-bar {
background-color: white;
display: flex;
align-items: flex-start;
}
.nav-bar a {
cursor: pointer;
display: inline-block;
background-color: white;
color: black;
text-decoration: none;
font-size: 25px;
padding: 16px 40px;
border-radius: 3px;
margin: 0px;
transition: 0.3s;
letter-spacing: 2px;
}
@media only screen and (max-width: 737px) {
.nav-bar {
max-width: 737px;
height: 120px;
}
}
<div class="nav-bar">
<a href="#">HOME</a>
<a href="#">ABOUT</a>
<a href="#">BOOK</a>
<a href="#">CONTACT</a>
</div>
这很好,直到浏览器达到740px或更小,导航栏不再适合一行。我希望它折叠成两行,但会得到一个水平滚动条。我尝试使用媒体查询解决此问题:
但是,这只会在导航栏项下创建一个空白空间,而不会实际折叠它。
答案 0 :(得分:0)
您需要在flex-wrap
中使用.nav-bar
属性。如果您的.nav-bar a
元素会溢出,这将包装它们。另外,您不需要a
元素即可显示为inline-block
。
.nav-bar {
background-color: white;
display: flex;
flex-wrap: wrap;
align-items: flex-start;
}
.nav-bar a {
cursor: pointer;
background-color: white;
color: black;
text-decoration: none;
font-size: 25px;
padding: 16px 40px;
border-radius: 3px;
margin: 0px;
transition: 0.3s;
letter-spacing: 2px;
}
答案 1 :(得分:0)
您应该删除“ display:flex;”。
.nav-bar {
background-color: white;
align-items: flex-start;
}
@media only screen and (max-width: 737px) {
.nav-bar {
max-width: 737px;
height: 120px;
overflow: hidden;
}
}