用 Rails 3 和 Foundation 4 覆盖 a:visited 的正确方法是啥?

Posted

技术标签:

【中文标题】用 Rails 3 和 Foundation 4 覆盖 a:visited 的正确方法是啥?【英文标题】:What's the proper way to override a:visited with Rails 3 and Foundation 4?用 Rails 3 和 Foundation 4 覆盖 a:visited 的正确方法是什么? 【发布时间】:2013-04-04 00:46:37 【问题描述】:

我正在使用 Foundation 4 开发一个新的 Rails 项目。我使用 Foundation 的类将链接变成了一个按钮:

<%= link_to 'New Item', new_item_path, :class => "small button round" %>

按钮出现了,看起来像我想要的那样:

但是,一旦我访问了该链接,它看起来像这样:

不太好。

我查看了CSS,发现访问链接的颜色是在scaffolds.css.scss中设置的:

a 
  color: #000;
  &:visited 
    color: #666;
  
  &:hover 
    color: #fff;
    background-color: #000;
  

如何正确取消链接上的这种颜色变化?我知道我可以删除&amp;:visited 部分,但这似乎太暴力了。我认为必须有一种更优雅的方式,但我的 CSS/SCSS/Foundation 知识太薄了。

【问题讨论】:

【参考方案1】:

如果脚手架.css.scss 刚刚由rails g scaffold 命令生成,请删除它。使用 zurb-foundation 时它可能是多余的,并且可能会破坏其他一些东西。

【讨论】:

虽然前面的答案解决了问题,但我相信这是手头问题的正确答案。我也在使用基础,起初以为他们只是有差异。已访问的颜色,但在阅读此评论后立即想起了脚手架.. 谢谢!【参考方案2】:

无法删除访问过的伪选择器,因为它是在您提供页面后由用户的浏览器添加的。如果要覆盖所有链接的颜色更改,请删除 &:visited。如果您只想为按钮覆盖它,请添加:

a.button 
  &:visited 
    color: #fff !important;
  

这将仅更改按钮类的访问链接颜色。

【讨论】:

那么,我应该在哪里将它插入到我的 Rails 应用程序中?应用程序.css?脚手架.css.scss?

以上是关于用 Rails 3 和 Foundation 4 覆盖 a:visited 的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 Rails 4 中使用 Foundation 和 Turbolinks 时遇到问题

另一个“Heroku Rails 4 中不显示 Foundation 图标”的帖子

如何在我的 Rails 4 应用程序中配置 Compass 和 Zurb Foundation 5,以便它们都可以在同一个目录中访问?

使用 Foundation 启动一个新的 Rails 项目

Rails4 与 Foundation Icon Fonts 2 gem

Rails 应用程序中的 Heroku/Zurb Foundation Sass SyntaxError