如何使用Bootstrap 4(3)Mixins

时间:2017-04-10 12:05:58

标签: twitter-bootstrap sass mixins bootstrap-4

如何使用Bootstrap mixins。我将Bootstrap 4与CSS模块SCSS结合使用。例如,这是一个用于输入大小的bootstrap mixins。

@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 个答案:

答案 0 :(得分:2)

确保您将正确的参数值传递给mixin。例如,

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

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

更新已在Bootstrap 4 Beta中移除了input-size mixin。