Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 李';s高度大于它';FireFox中的s容器_Html_Css_Firefox - Fatal编程技术网

Html 李';s高度大于它';FireFox中的s容器

Html 李';s高度大于它';FireFox中的s容器,html,css,firefox,Html,Css,Firefox,我有一个奇怪的问题。在Chrome和IE中,一切都很好,但FireFox却不行。见下文: 上述导航代码如下所示 <nav> <ul> <li><a href="/">Home</a></li> <li><a href="/about-us/">About Us</a></li> <li><a href=

我有一个奇怪的问题。在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>

为什么容器的高度和里面的东西不一样?我不是在寻找修复方法,只是解释一下为什么我的代码会这样做。

您看到的是内联元素上的顶部和底部填充效果,即您的锚。我还做了一个调查,希望能把你的问题归结为一些相当明显的问题。(基本上,如果垂直填充超过内联元素上的行高度,则该元素可以超出容器的边界。)

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

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

    text-decoration: none;
    background: #0054a6;
    color: #ffffff;
}
您还应该将
li
元素包装在
ul
中;他们不允许是
nav
元素的子元素


(我可能会考虑去掉那个包<代码> div <代码>,并且只是针对<代码> Nav<<代码>元素。对于我的样式,我不确定它是否添加了什么……

你看到上下元素的影响在一个内联元素,你的锚…我还做了一个调查,希望能把你的问题归结为一些相当明显的问题。(基本上,如果垂直填充超过内联元素上的行高度,则该元素可以超出容器的边界。)

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

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

    text-decoration: none;
    background: #0054a6;
    color: #ffffff;
}
您还应该将
li
元素包装在
ul
中;他们不允许是
nav
元素的子元素


(我可能会考虑去掉那个包<代码> div <代码>,并且只是针对<代码> Nav.<代码>元素。对于我的样式,我不确定它是否添加了什么……

尝试<代码> Navi-Li {pId:0:} /代码>尝试改变填充:12px 75 px到填充:Navi-Li选择器中的10px 75 px?填充增加了元素的高度,所以锚的高度实际上比我第一次尝试添加的
display:block要大到您的
a
元素。我还建议将您的
li
s包装在适当的容器中(我猜
ul
),以便您的标记有效。尝试
nav li{padding:0;}
尝试将nav li a选择器中的padding:12px 75px更改为padding:10px 75px?填充增加了元素的高度,所以锚的高度实际上比我第一次尝试添加的
display:block要大到您的
a
元素。我还建议将您的
li
s包装在适当的容器中(我猜
ul
),这样您的标记就有效了。噢!那太尴尬了。我修复了上面的代码,现在这个问题有意义了。但为什么它不发生在Chrome或IE中?有趣的问题。我不能在IE中尝试,但如果我把你的代码放在Chrome中,我就会发现问题所在。可能还有其他款式吗?(在你的另一个样式表中,或者在brewers的默认样式表中?)不管怎样,只要它现在工作……我正在使用CSS重置,所以可能发生了一些事情。我得进一步研究这个问题。谢谢你的帮助。噢!那太尴尬了。我修复了上面的代码,现在这个问题有意义了。但为什么它不发生在Chrome或IE中?有趣的问题。我不能在IE中尝试,但如果我把你的代码放在Chrome中,我就会发现问题所在。可能还有其他款式吗?(在你的另一个样式表中,或者在brewers的默认样式表中?)不管怎样,只要它现在工作……我正在使用CSS重置,所以可能发生了一些事情。我得进一步研究这个问题。谢谢你的帮助。