html - 如何在带有下拉菜单的导航栏中居中列表?

标签 html css

我有一个无法水平居中的导航栏。我有一个导航标签,里面有一个 ul 标签,里面有一个 li 标签,然后一些 li 标签有 ul 和 li 来创建下拉列表。 我无法让导航在页面中居中??

/* Main Header Menu */

.header-menu-wrap {
  display: inline-block;
  width: 100%;
  text-align: center;
}

.headermenu {
  padding: 0 10% 0 10%;
  overflow: hidden;
}

.headermenu>ul>li>a {
  display: inline-block;
  text-align: center;
}

.headermenu>ul {
  padding-left: 0;
}

.headermenu>ul>li {
  float: left;
  position: relative;
  display: inline-block;
}
<!DOCTYPE html>
<html lang="en-gb">

<head>
  <link rel="stylesheet" type="text/css" href="style.css" />
  <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
  <title>Complete Suites</title>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body class="body">
  <div class="header-menu-wrap">
    <nav class="headermenu">
      <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">ON SALE</a></li>
        <li><a href="#">Suites</a></li>
        <li><a href="#">Baths</a></li>
      </ul>
    </nav>
  </div>
</body>

</html>

请指出任何可能对我的问题有帮助的事情,并且解释会很棒,因为我正在尝试了解原因以及移动/居中元素。

谢谢 詹姆斯

编辑:

更改代码以仅显示我询问的问题。

最佳答案

移除float: left;

.headermenu>ul>li {
  position: relative;
  display: inline-block;
}

因为您已经在使用 display: inline-block,所以不需要它并会导致您的问题。 display: inline-blockfloat 的详细解释和区别,引用这个答案:Advantages of using display:inline-block vs float:left in CSS

.header-menu-wrap {
  display: inline-block;
  width: 100%;
  text-align: center;
}

.headermenu {
  padding: 0 10% 0 10%;
  overflow: hidden;
}

.headermenu>ul>li>a {
  display: inline-block;
  text-align: center;
}

.headermenu>ul {
  padding-left: 0;
}

.headermenu>ul>li {
  position: relative;
  display: inline-block;
}
<div class="header-menu-wrap">
    <nav class="headermenu">
      <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">ON SALE</a></li>
        <li><a href="#">Suites</a></li>
        <li><a href="#">Baths</a></li>
      </ul>
    </nav>
  </div>

关于html - 如何在带有下拉菜单的导航栏中居中列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51282994/

相关文章:

css - div在网格布局中分布不均

javascript - 隐藏文本中的Ctrl+F : reveal the text

javascript - 动画将最后一个 child 附加到第一个

html - 如何使图标字体(fontawesome)可点击

jquery - 在 html/jquery/javascript 中选择部分堆叠图像

iphone - 单击 `rel="外部链接时,防止 iPhone 的 webkit 打开新的浏览器窗口(从而退出全屏)

javascript - 下载属性在 Firefox 中不起作用,但在 chrome 中起作用

html - 不同屏幕上的 CSS 位置

jquery - 奇怪的 <div> 位置(在 jQuery 函数期间四处移动)

css - 覆盖使用媒体查询的组件,例如 MuiTab