如何设置Twitter Bootstrap的提前输入样式(例如设置背景颜色)



如何为例如,使用Bootstrap的" typeahead"自动完成时,如何为下拉列表中的活动项目设置自定义背景颜色?

一个小问题,但是一个小时让我沮丧的问题!

我正在通过bootstrap-sass gem中的Rails 3.2应用中的Twitter引导。

我以为这是由下拉菜单样式控制的,但是

$dropdownLinkBackgroundHover: $customColor;

不起作用。

我也尝试了一种更具体的方法

.typeahead .active > a, .typeahead .active > a:hover { background-color: $customColor; }

但这似乎也不起作用。

我忽略了什么?还是我的修复程序应该有效,问题在其他地方?

首先,看来:hover状态不用于打字机,而仅用于 .active一个,如Javascript插件(github上的2.2.2)所示

所示。

因此,如果更改颜色变量,则必须是 $dropdownLinkColorActive变量(无论是否有打字机,它都会覆盖所有下拉列表)。


其次,小技巧是背景不仅是由background-color设置的,这是一个后备,而且由background-image设置,从较少的调用到较少的Mixin - 底部显示的代码。

并且,如果您只想将新颜色设置为Typeahead的下拉颜色,则必须使用 .typeahead + .dropdown-menu .active > a selector覆盖颜色(至少目前为止)。

>

实时演示(jsfiddle)

这是您必须覆盖的东西:

.typeahead + .dropdown-menu .active > a,
.typeahead + .dropdown-menu .active > a:hover {
    color: #ffffff;
    background-color: #FF77FF;
    background-image: -moz-linear-gradient(top, #FF77FF, #FF44FF);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FF77FF), to(#FF44FF));
    background-image: -webkit-linear-gradient(top, #FF77FF, #FF44FF);
    background-image: -o-linear-gradient(top, #FF77FF, #FF44FF);
    background-image: linear-gradient(to bottom, #FF77FF, #FF44FF);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF77FF', endColorstr='#FF44FF', GradientType=0);
}

这是基于Twitter Bootstrap 2.2.2的原始版本,但最肯定的是Sass Ported版本。

对于后代,这是引用较少的代码(版本2.2.2):

/* called in .dropdown-menu .active > a */
#gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
/* mixin */
#gradient {
  .vertical(@startColor: #555, @endColor: #333) {
    background-color: mix(@startColor, @endColor, 60%);
    background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
    background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
    background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
    background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10
    background-repeat: repeat-x;
    filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
  }
}

最新更新