当前位置: 首页 > 知识库问答 >
问题:

Flex Navbar失去居中

孔经武
2023-03-14

笔在这里。

HTML

<header>
  <div id="logo-div">
    MyLogo
  </div>
  <nav>
    <ul class="nav-list">
      <li class="item">LINK #1</li>
      <li class="item">LINK #2</li>
      <li class="item">LINK #3</li>
      <li class="item">LINK #4</li>
      <li class="item">LINK #5</li>
    </ul>
  </nav>
</header>

CSS

header{
  display: inline-block;
  width: 90%;
}

#logo-div{
  margin-right: 50px;
  float: left;
  font-size: 28px;
  color: red;
  font-weight: 800;
  line-height: 60px;
}

nav{
  float: right;
}

.nav-list{
  display: flex;
  height: 150px;
  width: auto;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-evenly;
  align-items: flex-start;
  align-content: flex-start;
  margin: 0%;
  padding: 0%;
  width: auto;
  list-style-type: none;
}

.item{
  background-color: #d6315d;
  height: 50px;
  width: 150px;
  margin: 5px;
  text-align: center;
  line-height: 45px;
  font-weight: 600;
}

典型的网站标题内联块显示,标志div在左侧和navbar在右侧。我需要有柔性包装的navbar以适应各种设备宽度,至少直到屏幕宽度=600px,在那里它可以变成一个汉堡包。所以我使导航列表高度为列表项高度的3倍。问题是,如果我将nav块浮动到标题中的右侧,则nav item-list将只在logo-div下包装,而不是在logo-div旁边包装。我可以通过将浮点从导航块中完全移除来解决这个问题。但现在缩放时导航块向左漂移,所以整个页面看起来偏离中心。

有人有什么主意吗?

共有1个答案

曹驰
2023-03-14

如果我没有理解错的话,你有一个问题,当屏幕较小时,项目没有对齐。最好的方法是使用display:flex轻松实现对齐。我已经做了一个示例代码,希望它能帮助您解决问题(align-items-center在屏幕大小更改时,将所有项目(包括您的徽标)对齐到行的中心。如果不需要,可以将其删除)

HTML

<header>
  <div class="d-flex flex-row align-items-center">
    <div class="logo">
      MyLogo
    </div>
    <nav>
      <ul class="nav-list">
        <li class="item">LINK #1</li>
        <li class="item">LINK #2</li>
        <li class="item">LINK #3</li>
        <li class="item">LINK #4</li>
        <li class="item">LINK #5</li>
      </ul>
    </nav>
  </div>
</header>

CSS

.nav-list {
  display: flex;
  width: auto;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  margin: 0%;
  padding: 0%;
  list-style-type: none;
}

.item {
  background-color: #d6315d;
  height: 50px;
  width: 150px;
  margin: 5px;
  text-align: center;
  line-height: 45px;
  font-weight: 600;
}

.d-flex {
  display: flex;
}

.flex-row {
  flex-direction: row;
}

.align-items-center {
  align-items: center;
}

.logo {
  margin-right: 50px;
  font-size: 28px;
  color: red;
  font-weight: 800;
}

JS小提琴链接:https://jsfidle.net/sj_killshot/7u36m194/

 类似资料:
  • 我对骆驼阿帕奇有意见。我的csv文件中有LF和CRLF。LF存在于csv文件的值中。当camel从ftp得到我的文件并把它放在我的桌面上时,LF就不再存在了。但是我需要LF字符来正确地格式化我的csv,并假设它与bindy组件。 当camel apache在FTP服务器上获取我的文件时,我如何保留LF?谢了。

  • 问题内容: 我的Spring Boot应用程序总是在早上向我显示此whitelabel错误:无法打开JPA EntityManager进行事务;嵌套异常是javax.persistence.PersistenceException:org.hibernate.TransactionException:JDBC开始事务失败: 我在网上搜索,我认为可能是mysql关闭了8个小时的非活动连接。但是,根据

  • 我正在尝试将支持SAML的应用程序作为SP连接到Mircrosoft Azure,并以IDP为中心。SSO(单点登录)可以正常工作,但我在完成一个完整的单点登录过程时遇到了一些问题。 当用户单击SP内的注销按钮时,将向IDP发送一个(有效)注销请求。IDP会话按预期终止,但浏览器不会重定向到SP以完成注销过程。似乎LogoutResponse完全不见了。 关于Centrify的更新 正如Centr

  • 我有一个小片段,用于使用我自己的Typo3扩展名登录用户: 在流体模板中,我可以检查用户是否使用以下内容登录: 然而,此代码仅适用于在控制器中执行的下一个操作。当网页前端工程师用户重新加载页面时,身份验证丢失,并且$GLOBALS["TSFE"]- 为什么会发生这种情况?

  • 我有一个列表视图,每行都有EditText。我的问题是,当我单击EditText时,adjustPan正在工作(我的意思是EditText位于软键盘上方),但当我开始输入字母时,EditText会隐藏在键盘上。 请帮帮我...多谢

  • 我使用Iphone 11模拟器。我点击运行按钮并得到这个: 它会打开应用程序并立即关闭。我执行了,但它不起作用。这是我的扑动医生“: