【发布时间】:2017-09-05 16:00:42
【问题描述】:
我正在尝试什么...
我正在尝试制作具有悬停效果的菜单。如果您悬停一个链接,它的背景颜色应该会改变。如果转到下一个,应该会顺利切换到下一个链接。
问题
当您将鼠标悬停在一个链接上然后转到下一个链接时,元素之间会出现一个小间隙。如果你的鼠标正好在那个位置,什么都不会发生。
工作示例
.menu-item {
list-style: none;
float: left;
text-transform: uppercase;
font-size: 21px;
line-height: 30px;
}
a {
padding: 20px;
}
a:hover {
background-color: green;
}
<div id="menu">
<ul class="menu-list">
<li class="menu-item"><a href='#'>Menü #1</a></li>
<li class="menu-item"><a href='#'>Menü #2</a></li>
<li class="menu-item"><a href='#'>Menü #3</a></li>
</ul>
</div>
无效示例
.menu-item {
list-style: none;
float: left;
text-transform: uppercase;
font-size: 20px;
line-height: 30px;
}
a {
padding: 20px;
}
a:hover {
background-color: green;
}
<div id="menu">
<ul class="menu-list">
<li class="menu-item"><a href='#'>Menü #1</a></li>
<li class="menu-item"><a href='#'>Menü #2</a></li>
<li class="menu-item"><a href='#'>Menü #3</a></li>
</ul>
</div>
我的观察
如果您将font-size 更改一个像素,它就可以工作。如果我使用 IE,它在两个示例中都有效,但在 Chrome 中,只有 Working One 有效:D
我要的是什么……
这是一个 Chrome 错误还是有可能使“不工作的”工作。
【问题讨论】:
-
这是一个非常有趣的 sn-p - 我已经在我的回答中解释了这个问题,但简而言之,这基本上是因为
a标签的内置显示属性加上一些默认值chrome浏览器中的样式。发现得好。对于写得很好的问题 +1。 -
我赞成一个非常好的问题
-
在 Chrome 57 和 macOS 上的 Opera 44 中都可以正常工作。示例是否发生了变化,或者这是旧版 Chrome 的问题?
-
@OptimusCrime 我仍然可以在我的 Chrome 上复制该问题 - 如果您想澄清一下,在第二个示例中,两个
a标记之间有一条线(1px 宽度)不应该在那里。a标签需要直接相邻。
标签: html css google-chrome