如何使用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)
}
答案 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。