Rails + примеси bootstrap-sass

Может быть, я не понимаю, как использовать миксин с sass или как работать с миксинами с bootstrap-sass (https://github.com/thomas-mcdonald/bootstrap-sass). Но как я могу сделать что-то вроде изменения тени блока в классе полей ввода?

РЕДАКТИРОВАТЬ: следует пояснить, что в этом примере я пытаюсь изменить эффект свечения в активном поле ввода, когда оно выбрано. По умолчанию он синий.

Для настройки моего проекта у меня все так, как написано на странице github, и у меня есть драгоценный камень в Gemfile, а затем в контроллере у меня есть что-то вроде:

@import "bootstrap"
.testInput {
  /*(here I have put a variation of variables that I change to see 
  if I can do something with the mixin like $bordercolor: #000;*/
  @include formFieldState()
}

Так что, возможно, мое понимание того, как работает sass, далеко. Я предполагаю, что если бы я хотел изменить box-shadow для ввода, я мог бы просто повторить код в своем собственном миксине, но это также был просто общий вопрос о том, возможно ли подобное с другими миксинами.


person Doug    schedule 10.12.2012    source источник


Ответы (2)


Вы смотрели в источнике, чтобы увидеть, что делает миксин formFieldState? Он находится здесь: https://github.com/thomas-mcdonald/bootstrap-sass/blob/master/vendor/assets/stylesheets/bootstrap/_mixins.scss#L159. Похоже, этот миксин предназначен для использования в каком-то контейнере, скорее всего, в form.

Нет переменных, управляющих input:focus box-shadow по умолчанию (ее объявление здесь: https://github.com/thomas-mcdonald/bootstrap-sass/blob/master/vendor/assets/stylesheets/bootstrap/_forms.scss#L126) . Вам придется переопределить его по старинке.

person cimmanon    schedule 11.12.2012
comment
пытаюсь, но когда я добавляю переход, настройки начальной загрузки с тенью окна переопределяют то, что я ввел. Я не могу ничего изменить в поле ввода. - person Doug; 11.12.2012
comment
Если вы не предоставите некоторый код и четкое представление о том, чего вы пытаетесь достичь (вы никогда не упоминали переходы в ОП), я больше не могу вам помочь. - person cimmanon; 11.12.2012

Вы должны помещать то, что хотите изменить, после @include, а не перед ним. Последнее объявление выигрывает с CSS, поэтому, если вы поместите их перед примесью, версия примеси выиграет.

См. здесь: http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/ для более подробного обсуждения приоритета CSS.

person Nick Palmer    schedule 10.12.2012