【问题标题】:css: override active link style?CSS:覆盖活动链接样式?
【发布时间】:2015-11-26 10:33:32
【问题描述】:

我的 css 中有以下选择器:

a:active {
  position: relative;
  top: 1px;
}

所以每个链接在按下时都有这个小按钮效果。

如何防止特定链接出现这种行为?

例如我的网站上有一个不应该有这种行为的“返回顶部”链接。

a#back-to-top {
    position:fixed;
    right:0px;
    bottom:20px;
    width:20px;
    height:20px;
    background:green;
}

在这种情况下,“回到顶部”开始跳转。 但是,如果我尝试重置它,它就不起作用了。

a#back-to-top:active  {
    position:fixed !important;
    bottom:20px !important;
}

知道我做错了什么或如何从该活动行为中排除特定链接吗?

【问题讨论】:

    标签: css


    【解决方案1】:

    也尝试重置top 属性。

    a#back-to-top:active  {
        position: fixed !important;
        top: auto !important;
    }
    

    【讨论】:

    • 但他的非活动样式将#back-to-top 元素的位置设置为固定。
    • 你也不需要!important,因为该规则具有更高的特异性,也不需要bottom,因为它没有被通用a规则覆盖。
    • @Gaby 是的,我只是将它们留在那里,因为 OP 在他们的示例中有它们。你的回答已经解释了这一切:)
    • 谢谢。不需要像 Gaby 说的 !important 规则。完美的。谢谢你们。
    【解决方案2】:

    以下

    a#back-to-top:active {
      position:fixed;
      top: auto;
    }
    

    会修复它,因为它更具体并且会被应用,它会覆盖使您的按钮移动的部分..

    不需要!important 指令,因为该规则具有更高的特异性并且会被应用..

    演示http://jsfiddle.net/gaby/zUEER/

    【讨论】:

      【解决方案3】:

      我认为你应该“重置”顶部声明

      a#back-to-top:active  {
          position:fixed;
          bottom:20px;
          top: auto;
      }
      

      此外,仅当由于某种原因 a#back-to-top:active 样式声明位于 a:active 声明之前,才使用 !important。

      【讨论】:

      • 它在a:active 之后还是之前都没有关系,因为它由于id 而具有更高的特异性,所以它始终是应用的那个。
      猜你喜欢
      • 2013-05-06
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 2016-03-27
      • 2021-09-08
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多