【问题标题】:Unsetting a background value for a:visited vs a:link取消设置 a:visited vs a:link 的背景值
【发布时间】:2013-08-21 22:34:36
【问题描述】:

我刚刚浪费了一个下午,发现 CSS 中的 a:visited 选择器除了少数与颜色直接相关的属性外,所有属性都被禁用(参见此处:http://www.impressivewebs.com/styling-visited-links/)。

无论如何,我想知道是否可以取消为a:link 设置的属性集?我有一个 a:link 选择器,它用 CSS 渐变填充背景,但如果 a:visited 可以变成灰色就好了。

根据新的实现,您可以为a:visited 设置background-color,但不幸的是,这会被a:linkbackground 属性覆盖,因为a:visited 现在不能使用background

我想做的就是取消设置a:visited 的背景,以便使用background-color。有谁知道这是否可行?

【问题讨论】:

    标签: html css background hyperlink visited


    【解决方案1】:

    使用 a 而不是 a:link 作为背景颜色

    见小提琴here

    a{
        background: green;
    }
    a:visited{
        background: orange;
    }
    

    【讨论】:

      【解决方案2】:

      给你的超链接一个inline-block的显示样式

      a{
        display: inline-block;
        background-color: red; 
        //this becomes the default bgcolor; override it in subsequent pseudo state styles
      }
      

      这允许您为超链接指定背景颜色。

      您通常必须按以下顺序指定超链接的样式

      • a:link - 一个普通的、未访问过的链接
      • a:visited - 用户访问过的链接
      • a:hover - 用户将鼠标悬停在链接上时的链接
      • a:active - 点击时的链接

      按此顺序,访问的链接样式会覆盖正常的链接样式。因此,点击链接后,您的 CSS 将被应用。

      【讨论】:

      • 如果我将 display 设置为 inline-block 它会弄乱那些 a 标签的格式。它们是block UI 元素。
      【解决方案3】:

      确保在a 之后声明a:visited。否则a 会否决它。

      a {
         background: #ff0000;
      }
      a:visited {
         background: url( none );
      }
      

      【讨论】:

      • 但我认为您不能将background 设置为a:visited?这就是问题所在。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-19
      相关资源
      最近更新 更多