【问题标题】:Cant use padding in navbar css [duplicate]不能在导航栏css中使用填充[重复]
【发布时间】:2021-01-23 00:03:17
【问题描述】:

我有一个简单的导航栏。有一个标题,然后是一个包含所有代码的容器。

我要做的是将padding 添加到li 项目。当我这样做时,它只是将它添加到左侧和右侧,而不是顶部。我一直在尝试修复它,我注意到如果我将填充放在 header nav 而不是 header nav ul li 中,它会起作用。另外,如果我将float :left 添加到header nav ul li

我只是想知道为什么我必须将float: left 添加到header nav ul li 才能使填充起作用?

.container {
  width: 80%;
  margin: 0 auto;
}

#brand {
  float: left;
}

header nav {
  float: right;
}

header nav ul li {
  display: inline;
}
<header>
  <div class="container">
    <div id="brand">
      <h1>test</h1>
    </div>
    <nav>
      <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">Home</a></li>
        <li><a href="#">Home</a></li>
      </ul>
    </nav>
  </div>
</header>

【问题讨论】:

  • 确实显示:inline-block;解决问题?
  • 它工作了,但我已经知道如何让它工作,但我想知道为什么在不添加内联块的情况下不应用填充。已经回答了

标签: html css


【解决方案1】:

尝试使用display: inline-block

.container {
  width: 80%;
  margin: 0 auto;
  font-family: Arial;
}

#brand {
  float: left;
}

header nav {
  float: right;
}
nav a {
color: gray;
text-decoration: none;
}
header nav ul li {
  display: inline-block;
  padding: 10px;
}
<header>
  <div class="container">
    <div id="brand">
      <h1>test</h1>
    </div>
    <nav>
      <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">Home</a></li>
        <li><a href="#">Home</a></li>
      </ul>
    </nav>
  </div>
</header>

【讨论】:

    【解决方案2】:

    .container {
          width: 80%;
          margin: 0 auto;
        }
    
        #brand {
          float: left;
        }
    
        header nav {
          float: right;
        }
    
       header nav ul li {
          display: inline-block;
          padding-top:100pt;
          background-color:red;
        }
        <header>
          <div class="container">
            <div id="brand">
              <h1>test</h1>
            </div>
            <nav>
              <ul>
                <li><a href="#">1</a></li>
                <li><a href="#">Home</a></li>
                <li><a href="#">Home</a></li>
              </ul>
            </nav>
          </div>
        </header>

    在上面的sn-p中可以看到,如果你使用inline-block,你可以设置垂直填充(使用红色background-color突出显示)

    检查this 的答案(已接受的答案)以查看inlineinline-block 之间的区别。

    【讨论】:

    • 您提供的链接是我正在寻找的答案。谢谢
    猜你喜欢
    • 2020-04-01
    • 1970-01-01
    • 2021-12-10
    • 2013-07-04
    • 1970-01-01
    • 2016-12-26
    • 2021-04-12
    • 2013-07-25
    • 1970-01-01
    相关资源
    最近更新 更多