html - 线条之间不希望的悬停间隙

标签 html css hover

我有一个容器,里面装满了金色的小方 block 。在 :hover 上,它们变成黑色。当鼠标在一个正方形上移动到左侧或右侧的下一个时,它工作正常。

问题是:当光标在一个正方形上并移动到另一行的另一个正方形时,:hover 上有一个空隙> 效果:它们都没有获得 :hover 属性的区域。

当鼠标在容器行上垂直移动时,如何避免在悬停时闪烁,为什么会发生

codepen

#container {
  width: 200px;
  height: 90px;
  line-height: 10px;
  position: relative;
}

#container span {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: gold;
  vertical-align: top;  
}

#container span:hover {
  background: black;  
}

#container span:hover ~ span {
  background: tomato;  
}
<div id=container>
<span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span>
</div>

最佳答案

容器行高的罪魁祸首。删除它并将字体大小设置为零:

#container {
  width: 200px;
  height: 90px;
  position: relative;
  font-size:0;
}
#container span {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: gold;
  vertical-align: top;
}
#container span:hover {
  background: black;
}
#container span:hover ~ span {
  background: tomato;
}
<div id=container>
  <span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span>
</div>

关于html - 线条之间不希望的悬停间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36164793/

相关文章:

html - 电子邮件背景图像用作 URL 但不用作目录

javascript - Text Not Ellipsis 在某些时候使用 jQuery 插件

jquery - 您希望在不对表单当前标记进行任何更改的情况下添加哪个 jquery 表单验证插件?

CSS 图像悬停在 Internet Explorer 和 Firefox 上不起作用

jquery - 如何使用 jQuery onClick 删除内联 css

javascript - 如何在屏幕顶部显示工具提示

html - 如何使用 CSS 网格布局在行表上制作悬停状态

javascript - 当用户输入文本时,如何防止重新调整 div 的大小?

html - CSS3 悬停过渡奇怪的行为

css - ionic 3 在 svg 上悬停时改变颜色并保持不变