【问题标题】:How to use Bootstrap 4 (3) Mixins如何使用 Bootstrap 4 (3) Mixins
【发布时间】:2017-09-05 11:18:05
【问题描述】:

如何使用 Bootstrap 混入。我将 Bootstrap 4 与 CSS 模块、SCSS 结合使用。例如,这是输入大小的引导混合。

@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 Modules 和 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)
}

【问题讨论】:

    标签: twitter-bootstrap sass mixins bootstrap-4


    【解决方案1】:

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

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

    http://codeply.com/go/zc544u3kYN

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

    【讨论】:

    • 我一定遗漏了一些明显的东西。它仍然无法正常工作。我更新了问题,请你看一下。
    • .formula 应该应用于.form-control.. 的父级。例如form group
    • 尝试改变它(更新了有问题的 First.jsx)但仍然没有运气。
    • 没有什么可以尝试的。如您所见,Codeply 有效,因此 .formula 类不能正确应用于 HTML。
    • 谢谢。我设法修复它。请参阅有问题的解决方案。谢谢你让我走上正确的道路。我还有一个问题。我正在使用 CSS Modules、Mixins 和 Bootstrap 来为每个组件单独设置样式。我想使用引导程序附带的 _custom.scss 文件来设置全局样式。如果我在 _custom.scss 中更改样式,它可以工作,但如果我删除 node_modules,一切都消失了。有没有办法在 node_modules 之外提取/使用 _custom.scss?
    猜你喜欢
    • 2012-06-21
    • 2014-01-05
    • 1970-01-01
    • 2018-05-08
    • 2021-08-07
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 2014-01-14
    相关资源
    最近更新 更多