【发布时间】:2016-11-23 20:13:00
【问题描述】:
正如您在 [this][1] fiddle 中看到的,悬停时a 的悬停状态总是比 ul 高一个像素。 (您可以在小提琴中看到这一点:它甚至超过了ul 的边界)这只发生在 Chrome 中(也在 FF en IE10 中测试过,但他们没有这个问题)。有什么解决办法吗?
注意:overflow: hidden 不是解决方案,因为我希望溢出对其他内容(子菜单等)可见。
ul {
list-style: none;
text-align: center;
background: whiteSmoke;
border: 1px solid red;
}
li {
display: inline-block;
font-size: 150%;
position: relative;
margin: 0;
}
li a {
color: #555;
text-decoration: none;
text-shadow: 0 2px 0 white;
display: block;
padding: 0.2em 0.5em 0.3em;
}
li a:hover {
color: black;
background: whiteSmoke;
box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.125);
}
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Forum</a></li>
<li><a href="#">About</a></li>
<li class="has-sub-menu"><a href="#">Contact</a></li>
</ul>
</nav>
【问题讨论】:
-
那么为什么不能从演示中去掉所有多余的 HTML 和 CSS?完成此操作后,您将获得一个简洁的代码示例,您也可以将其发布到您的 OP 中,以便在小提琴死后问题仍然有用。
-
删除
box-shadow后问题会消失吗? -
@Sparky 不幸的是没有。
-
我在 Chrome 11 中没有看到您的问题。现在更新 Chrome。
-
仅 2011 年...哈哈。现在我更新到 24 版,仍然看不到这个问题。
标签: css google-chrome pixel-perfect