【发布时间】: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),以便您的标记有效。