【问题标题】:li's height is larger than it's container in FireFoxli 的高度大于它在 FireFox 中的容器
【发布时间】:2023-03-09 02:34:01
【问题描述】:

我有一个奇怪的问题。在 Chrome 和 IE 中,一切都显示正常,但在 FireFox 中则不然。见下文:

上面看到的导航代码如下

<nav>
    <ul>
        <li><a href="/">Home</a></li>
        <li><a href="/about-us/">About Us</a></li>
        <li><a href="/products/">Products</a></li>
        <li><a href="/contact-us/">Contact Us</a></li>
    </ul>
</nav>

还有 CSS

nav {
    margin: 0 0 10px 0;

    text-align: center;
    background: #0054a6;

    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

nav li {
    display: inline-block;
    margin: 10px -4px 10px 0;
}

nav li a {
    padding: 12px 75px;

    text-decoration: none;
    background: #0054a6;
    color: #ffffff;
}

nav li a:hover {
    background: #ffffff;
    color: #000000;
}

为什么容器的高度与其内容不同?我不是在寻找解决方案,只是解释为什么它使用我的代码这样做。

【问题讨论】:

  • 试试nav li { padding: 0; }
  • 尝试在 nav li 选择器中将 padding: 12px 75px 更改为 padding: 10px 75px? padding增加了元素的高度,所以anchor的高度其实比li大
  • 我要尝试的第一件事是将display: block; 添加到您的a 元素中。我还建议将您的 lis 包装在适当的容器中(我猜是 ul),以便您的标记有效。

标签: html css firefox


【解决方案1】:

您会看到顶部和底部填充对内联元素(即您的锚点)的影响。 See this previous answer for some background。我还制作了一个little fiddle here,我希望它可以将您的问题归结为相当明显的问题。 (基本上,如果垂直填充超过内联元素的行高,则该元素可以延伸到容器的边界之外。)

因此,您的锚元素正在脱离其容器,因为它们是内联的,但设置了顶部和底部填充。为了解决这个问题(作为奖励,让他们的整个容器可点击,而不仅仅是文本),我会将它们变成块:

nav li a {
    display: block; /* Fix breakout problem */
    padding: 12px 75px;

    text-decoration: none;
    background: #0054a6;
    color: #ffffff;
}

您还应该将li 元素包装在ul 中;它们不能是 nav 元素的子元素。

(我可能也会考虑摆脱 div 的包装,而只针对您的样式设置 nav 元素。我不确定它是否添加了任何东西。This JSFiddle is my final adjustment to your code。)

【讨论】:

  • 天啊!嗯,这很尴尬。我修复了上面的代码,现在这个问题很有意义。但为什么它不会在 Chrome 或 IE 中发生呢?
  • 有趣的问题。我无法在 IE 中尝试,但如果我输入您的代码 as-is into JSFiddle,它会在 Chrome 中为我显示问题。可能还有其他样式正在进行吗? (在您的另一个样式表中,或者在酿酒商的默认样式表中?)无论如何,只要它现在可以工作......
  • 嗯,我正在使用 CSS 重置,所以也许那里发生了一些事情。我将不得不进一步研究这个问题。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 2018-01-07
  • 2014-08-15
  • 1970-01-01
  • 2011-11-26
相关资源
最近更新 更多