【问题标题】:Remove unwanted hover effect [duplicate]删除不需要的悬停效果[重复]
【发布时间】:2015-06-18 05:14:07
【问题描述】:

我目前有一个用 CSS 编写的悬停效果:

h2:hover{
     background-color: #FFE4B5;
     border-bottom: 1px solid #888;
     border-top: 1px solid #888;
     cursor: pointer;
}

但我注意到,当我将每个菜单选项悬停时,文本会稍微上下移动。我没有添加任何会导致这种情况的东西?我不认为.. 我怎样才能解决这个问题并让它们在悬停时保持原位?

JSfiddle here

【问题讨论】:

标签: javascript css


【解决方案1】:

这是导致此问题的添加和删除的边框。

两个选项:将box-sizing: border-box 添加到项目或为非悬停元素添加透明边框。

盒子尺寸示例:

h2 {
  box-sizing: border-box;
}

示例边框:

h2 {
  border-top: transparent 1px solid;
  border-bottom: transparent 1px solid;
}

【讨论】:

  • border-sizing 似乎不起作用,但透明边框起作用了。谢谢!
  • @JennyC – 如果这有助于解决您的问题,请务必将其标记为答案。谢谢!
【解决方案2】:

移动来自在悬停时添加和删除的边框。一个简单的解决方法是在 h2 元素未悬停时为它提供相同宽度的透明边框:

h2{
     border-bottom: 1px solid transparent;
     border-top: 1px solid transparent;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 2021-02-14
    • 2015-03-18
    相关资源
    最近更新 更多