【问题标题】:SASS - user agent stylesheet overriding link coloursSASS - 覆盖链接颜色的用户代理样式表
【发布时间】:2014-08-02 12:15:24
【问题描述】:

这似乎是一个非常愚蠢的问题,但我在 webkit 覆盖我的 SASS 时遇到了麻烦。

在我看来,我有:

<%= link_to 'New Category', new_category_path, :class => 'button button-new' %>

在 application.css.scss 中:

.button{
    font-family: "Verdana", sans-serif;
    font-weight: bold;
    font-size: 15px;
    text-align: center;
    border-radius: 3px;

    a{
        color: #FFF;
        text-decoration: none;
    }
}

.button-new{
    background-color: #428bca;
    padding: 1% 2% 1% 2%;   
}

但是,我浏览器中的链接颜色是默认的蓝色,带有下划线。当我在开发人员工具下检查元素时,没有看到/读取链接的样式。相反,该链接使用来自用户代理样式表的样式。

我知道我一定是在做一些相当简单的错误,但我终生无法发现它!

【问题讨论】:

    标签: css ruby-on-rails sass


    【解决方案1】:

    你应该像这样定义你的 SASS:

    .button{
      font-family: "Verdana", sans-serif;
      font-weight: bold;
      font-size: 15px;
      text-align: center;
      border-radius: 3px;
    
      color: #FFF;
      text-decoration: none;
    }
    

    因为您的链接有 .button 类。

    【讨论】:

    • 我太傻了!当然可以。谢谢,这很好地解决了这个问题。我会尽快接受答案:)
    • 还有另一种方法,我会给出答案。请接受这个,因为它是正确的 - 我的答案将供参考
    【解决方案2】:

    结构

    您的链接将创建一个带有 button 类的 &lt;a href= 元素

    这意味着你的样式与你的 HTML 结构不匹配,因为你有 a 嵌套在 button 类中,CSS 基本上会寻找这个:

    <div class="button">
       <a href="..."></a>
    </div>
    

    --

    你希望它的工作方式是这样的:

    <a href="..." class="button"></a>
    

    要在 SCSS 中执行此操作,您需要设置 a 标记 in line with your class 的样式,如下所示:

    a.button{
        font-family: "Verdana", sans-serif;
        font-weight: bold;
        font-size: 15px;
        text-align: center;
        border-radius: 3px;
        color: #fff;
        text_decoration: none;
    }
    

    【讨论】:

    • 感谢您提出这个问题,它真的很有帮助:)
    • 没问题!这可能会令人困惑,所以我希望它有所帮助
    猜你喜欢
    • 2013-05-06
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 2013-02-16
    • 2016-06-10
    • 2015-03-07
    • 2021-12-11
    • 2012-08-21
    相关资源
    最近更新 更多