【问题标题】:Focus state is left on after a click on a navbar-link when using Firefox (works in Chrome)使用 Firefox 时单击导航栏链接后焦点状态保持打开(适用于 Chrome)
【发布时间】:2014-10-03 20:19:50
【问题描述】:

我正在尝试使用Bootstrap (3.2) 的经典导航栏创建页内导航。

我正在使用jQuery 来实现滚动到功能,并将active 类删除并添加到正确的选项卡中。

问题
在使用 Firefox 时单击导航栏链接时,焦点状态为开启(适用于 Chrome)。

这是它的外观,处于正常活动状态:

这就是我点击项目后的样子(它应该看起来像上一个,但看起来焦点状态是保持打开):

我在bootply 中重现了这种行为。

【问题讨论】:

  • 我认为 :focus 会覆盖您的 .active
  • @AndreasFurster 为什么会这样?在我的 SCSS 中,它们具有相同的特异性。

标签: jquery css twitter-bootstrap firefox


【解决方案1】:

两种解决方案:

1)焦点样式的改变:

.my-navbar .navbar-brand:focus {
  color: whitesmoke;
  background-color: #7d93f3;
  text-shadow: 1em;
}

bootply

2) 将 !important 添加到活动类样式中。

它将停止颜色和背景颜色在焦点上被覆盖。

.my-navbar .navbar-nav > li.active > a {
  background-color: whitesmoke !important;
  color: #4e6cef !important;
}

bootply

【讨论】:

  • 这修复了它,但它似乎是一个临时解决方案。我的行为是预期的吗?
  • 我已经在指定元素上设置了这两个规则,并在:hover:active:focus 状态下覆盖它们。 (所以之前的解决方案,稍微好一点)
猜你喜欢
  • 2015-11-05
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 2015-07-23
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
  • 2021-11-08
相关资源
最近更新 更多