html - 列表项上的填充扩展了过去的列表

标签 html css

如果你输入 <p><section> 里面元素并给出 <p>填充,<section>元素展开以容纳整个段落元素及其填充。太棒了。

如果你在 <li> 上填充包含在 <ul> 中, <ul>元素不会展开以适应 <li>与填充。相反,它允许填充延伸到“盒子”之外。这到底是怎么回事?

请尝试下面的页面以了解我的意思。 <li> 的填充被夸大了 30px 以清楚地做一个例子。

body {
  font-size: small;
  font-family: Verdana;
  background-color: #D9D9D9;
  margin: 0px;
}
header {
  background-color: #878CA1;
  margin: 10px;
}
nav {
  background-color: #878CA1;
  margin: 10px;
}
nav ul {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}
nav ul li {
  padding: 30px;
  display: inline;
  background-color: #D9D9D9;
}
header h2#slogan {
  float: right;
}
section#main {
  background-color: black;
  margin: 10px;
  padding: 5px;
}
#main p {
  background-color: white;
  margin: 0px;
  padding: 30px;
}
<header>
  <img src="images/dummy-logo.png" alt="Vape Central Logo">
  <h2 id="slogan">Vapor Products and Accessories</h2>
</header>

<nav>
  <ul>
    <li><a href="index.html">Home</a>
    </li>
    <li><a href="tanks.html">Best Tanks</a>
    </li>
    <li><a href="batteries.html">Best Batteries</a>
    </li>
    <li><a href="about.html">About us</a>
    </li>
  </ul>
</nav>

<section id="main">
  <p>Test</p>
</section>

最佳答案

如果您想要父元素,请将子元素 lidisplayinline 更改为 inline-block元素的尺寸以尊重填充。

Example Here

nav ul li {
    padding: 30px;
    display: inline-block;
    background-color: #D9D9D9;
}

关于html - 列表项上的填充扩展了过去的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28246288/

相关文章:

javascript - 查找和插入元素

html - 网站更新延迟(保存时不更新)

html - 没有居中文本的居中 <pre> block

html - CSS Accordion 图片不显示在 WordPress 网站上

css - 如何在悬停时打开 Kendo 菜单,而不是在单击时打开?

html - 是否会在同一行显示 div 是否有任何类?

javascript - HTML:下拉列表的目标 ="_blank"

jquery - 滚动期间更改类跳转到顶部

javascript - 动态生成的 slider 将不起作用

html - 如何删除不必要的空格