【问题标题】:Change all link states same color css更改所有链接状态相同的颜色 css
【发布时间】:2017-04-10 18:03:00
【问题描述】:

我有一个名为“tomato”的跨类。

我的 CSS 是:

.tomato a:link {color:#FF0000;}      /* unvisited link */
.tomato a:visited {color:#FF0000;}  /* visited link */
.tomato a:hover {color:#FF0000;}  /* mouse over link */
.tomato a:active {color:#FF0000;}  /* selected link */ 

有没有办法可以将所有这些组合成一小段代码? (我希望链接在所有州都是红色的)

【问题讨论】:

标签: css


【解决方案1】:

这是shortest,我认为你不能再短于:

.tomato a:link, .tomato a:visited, .tomato a:hover, .tomato a:active { color:#FF0000; }

.tomato { a:link, a:visited, a:hover, a:active { color:#FF00000; } }

希望这会有所帮助。

【讨论】:

  • 第二个是有效的 CSS 语法吗?
  • @GraceShao,不。一些 CSS 预处理器支持该语法(LESS,SCSS),但编译后的输出与第一个示例相同。
  • 不要因为得到了 FOCUS 状态。
  • @MatějKříž Focus 仅适用于表单元素。比如<input><textarea>
  • @lino4000 不,这不是真的。当您使用键盘查找链接时,您如何调用该状态?是的,伙计-它是:专注。试试这个meyerweb.com/eric/css/tests/css2/sec05-11-03.htm上的TAB键
【解决方案2】:
.tomato a:link,
.tomato a:visited,
.tomato a:hover,
.tomato a:active {
    color:#F00;
}

注意,颜色 HEX 也可以缩写。 :)

如果你选择使用 CSS 框架来组织你的 CSS,比如 LESS,它可能比上面的简单得多:

.tomato {
   a:link,
   a:visited,
   a:hover,
   a:active {
       color:#F00;
   }
}

【讨论】:

  • 很好,但还是会重复番茄...有什么办法可以去除重复的番茄?
  • @David19801 查看我关于 LESS 的更新答案。这可能是一种选择。
  • 为什么缺少 FOCUS 状态?
【解决方案3】:

实际上最好使用the attribute selector。在这种情况下,它将是:

.tomato a[href]{color:#F00;}

或者如果你必须:

.tomato [href]{color:#F00;}

【讨论】:

  • 这个标准是否符合,所以我可以依赖这个不改变?它可以方便地设置永不改变的链接样式。
  • 截至MozDev Standards 桌面基本支持:Chrome(是)||边缘(是)|| Firefox (Gecko)1.0 (1.7 或更早) || IE 7+ ||歌剧 9+ || Safari 3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 2011-12-07
  • 1970-01-01
  • 1970-01-01
  • 2016-05-13
  • 2013-06-10
  • 2012-11-24
相关资源
最近更新 更多