Как использовать Bootstrap 4 (3) Mixins

Как использовать Bootstrap mixins. Я использую Bootstrap 4 в сочетании с модулями CSS, SCSS. Например, это загрузочные миксины для input-size.

@mixin input-size($parent, $input-height, $padding-y, $padding-x, $font-size, $line-height, $border-radius) {
  #{$parent} {
    height: $input-height;
    padding: $padding-y $padding-x;
    font-size: $font-size;
    line-height: $line-height;
    @include border-radius($border-radius);
  }

  select#{$parent} {
    height: $input-height;
    line-height: $input-height;
  }

  textarea#{$parent},
  select[multiple]#{$parent} {
    height: auto;
  }
}

Если я хочу использовать это, как бы я это сделал?

First.jsx

<form>
  <div className={`form-group ${styles.formula}`}>
    <label htmlFor='exampleInputEmail1'>Email address</label>
    <input type='email' className='form-control' id='exampleInputEmail1' aria-describedby='emailHelp' placeholder='Enter email' />
    <small id='emailHelp' className='form-text text-muted'>We'll never share your email with anyone else.</small>
  </div>

Я использую это так. CustomBtn работает хорошо, поэтому я знаю, что это не проблема настроек. Входного элемента нет?styles.scss

.customBtn {
  @include button-variant(white, purple, black)
}
.formula {
  @include input-size('.form-control', 70px, 12px, 12px, 32px, 5em, 0)
}

* Обновление Исправлено. Кажется, возникла проблема с комбинацией имен классов CSS-модулей и Bootstrap. Мне удалось решить это так.

First.jsx

<form>
  <div className={`form-group ${styles.formula}`}>
    <label htmlFor='exampleInputEmail1'>Email address</label>
    <input type='email' className={`form-control ${styles.formControl}`} id='exampleInputEmail1' aria-describedby='emailHelp' placeholder='Enter email' />
    <small id='emailHelp' className='form-text text-muted'>We'll never share your email with anyone else.</small>
   </div>

styles.scss

.customBtn {
  @include button-variant(white, purple, black)
}
.formula {
  @include input-size('.formControl', 70px, 12px, 12px, 32px, 5em, 0)
}

1 ответ

Убедитесь, что вы передаете правильные значения параметров в mixin. Например,

@import "bootstrap";
.my-custom-input {  
  @include input-size('.form-control', 70px, 12px, 12px, 32px, 5em, 0)
}  

http://www.codeply.com/go/zc544u3kYN

Обновите input-size Миксин был удален из Bootstrap 4 Beta.

Другие вопросы по тегам