引导按钮和链接的样式冲突

时间:2018-11-21 19:29:25

标签: css ruby-on-rails twitter-bootstrap sass

我在ERB模板中使用了标签<%= link_to "Sign up!", signup_path, class: "btn btn-lg btn-primary" %>。它是链接,但具有按钮设计。

我使用引导程序,但是更改了按钮的默认颜色。

问题是我在scss文件中设置了链接的颜色。链接的颜色=按钮背景的颜色。

在其他地方则很好,因为文本和链接通常位于白色背景上。当我在表单中使用按钮作为常规提交按钮时,我也没有问题。

但是问题 仅此按钮

当我使用按钮和链接样式时,此按钮:

https://image.ibb.co/b4qqAV/2018-11-21-21-28-08-2.png

(当鼠标悬停并单击时-出现文本)

当我删除链接样式时,此按钮:

https://image.ibb.co/nCNOxA/2018-11-21-21-28-08.png

我想将此按钮设置为紫色并带有白色文本,并将其他链接保留为紫色。

我应该怎么解决这个问题?

我的文件的一部分在这里:

/app/assets/stylesheets/custom.css.scss

/* constants */
$bgDefault:   #9b59b6;
$bgHighlight: #8e44ad;
$bgHover:     #7f4496;
$bgActive:    #633575;
$bgDisabled:  #b07ec4;
$colHover:    #333;

/* buttons */
.btn-primary {
  background-color: $bgDefault;
  border-color: $bgHighlight;
    &:hover {
      background-color: $bgHover;
      border-color: $bgHighlight;
    }
    &:active, &:focus, &:active:hover, &:active:focus {
      background-color: $bgActive;
      border-color: $bgHighlight;
    }
}

.btn-primary.disabled {
  background-color: $bgDisabled;
  border-color: $bgHighlight;
}

.btn-primary.disabled:hover, .btn-primary.disabled:focus,
.btn-primary.disabled.focus, .btn-primary[disabled]:hover,
.btn-primary[disabled]:focus, .btn-primary[disabled].focus,
fieldset[disabled] .btn-primary:hover, fieldset[disabled]
.btn-primary:focus, fieldset[disabled] .btn-primary.focus {
  background-color: $bgDisabled;
  border-color: $bgHighlight;
}

/* links */
a {
  color: $bgDefault;
  &:visited {
    color: $bgDefault;
     }
  &:active {
    color: $bgActive;
  }
  &:hover {
    color: $colHover;
  }
}

2 个答案:

答案 0 :(得分:0)

您将需要在按钮中显式设置文本的颜色。试试这个:

 .btn-primary {
   color: white;
 }

答案 1 :(得分:0)

我找到了决定。此错误是因为访问了该链接

我添加了以下代码:

.btn:visited { 
  color: #fff
}

现在可以了。

也许对某人会有帮助。