【问题标题】:Bootstrap 4 containers grid error while compiling scss编译scss时Bootstrap 4容器网格错误
【发布时间】:2018-06-07 19:43:57
【问题描述】:

我试图从 bootstrap4 网格系统中仅获取容器网格,但我在编译时出错,我真的不明白为什么:|

这是我的自定义 scss 文件:

$grid-gutter-width:           30px !default;
$enable-grid-classes:       true !default;

$grid-breakpoints: (
  xs: 0,
  sm: 576px,
  md: 768px,
  lg: 992px,
  xl: 1200px
) !default;

$container-max-widths: (
  sm: 540px,
  md: 720px,
  lg: 960px,
  xl: 1140px
) !default;

@mixin make-container() {
  width: 100%;
  padding-right: ($grid-gutter-width / 2);
  padding-left: ($grid-gutter-width / 2);
  margin-right: auto;
  margin-left: auto;
}

// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
// Makes the @content apply to the given breakpoint and wider.
@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
  $min: breakpoint-min($name, $breakpoints);
  @if $min {
    @media (min-width: $min) {
      @content;
    }
  } @else {
    @content;
  }
}

// For each breakpoint, define the maximum width of the container in a media query
@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
  @each $breakpoint, $container-max-width in $max-widths {
    @include media-breakpoint-up($breakpoint, $breakpoints) {
      max-width: $container-max-width;
    }
  }
}

@if $enable-grid-classes {
  .container {
    @include make-container();
    @include make-container-max-widths();
  }
}

@if $enable-grid-classes {
  .container-fluid {
    @include make-container();
  }
}

这是错误:

(xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px) isn't a valid CSS value.

这应该在一些带有给定变量的媒体查询中编译,但是 某处电影坏了……所以请给我一个提示或什么:|

我正在使用https://www.sassmeister.com/进行在线编译。

【问题讨论】:

    标签: css twitter-bootstrap sass media-queries


    【解决方案1】:

    您的 sass 缺少在 media-breakpoint-up mixin 中使用的必需函数 breakpoint-min。它位于最新 Bootstrap 源文件的 line 26 附近的 mixins/_breakpoints.scss 文件中(2018 年 11 月)

    // Minimum breakpoint width. Null for the smallest (first) breakpoint.
    //
    //    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
    //    576px
    @function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
      $min: map-get($breakpoints, $name);
      @return if($min != 0, $min, null);
    }
    

    你可能在 11 个月前就已经发现了,但我将把它留在这里,让其他人知道仔细阅读复制的代码并检查是否有任何必需或缺失的函数、变量或 mixins。

    这里是固定的代码,我已经测试过了:

    $grid-gutter-width:           30px !default;
    $enable-grid-classes:       true !default;
    
    $grid-breakpoints: (
      xs: 0,
      sm: 576px,
      md: 768px,
      lg: 992px,
      xl: 1200px
    ) !default;
    
    $container-max-widths: (
      sm: 540px,
      md: 720px,
      lg: 960px,
      xl: 1140px
    ) !default;
    
    // Minimum breakpoint width. Null for the smallest (first) breakpoint.
    //
    //    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
    //    576px
    @function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
      $min: map-get($breakpoints, $name);
      @return if($min != 0, $min, null);
    }
    
    @mixin make-container() {
      width: 100%;
      padding-right: ($grid-gutter-width / 2);
      padding-left: ($grid-gutter-width / 2);
      margin-right: auto;
      margin-left: auto;
    }
    
    // Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
    // Makes the @content apply to the given breakpoint and wider.
    @mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
      $min: breakpoint-min($name, $breakpoints);
      @if $min {
        @media (min-width: $min) {
          @content;
        }
      } @else {
        @content;
      }
    }
    
    // For each breakpoint, define the maximum width of the container in a media query
    @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
      @each $breakpoint, $container-max-width in $max-widths {
        @include media-breakpoint-up($breakpoint, $breakpoints) {
          max-width: $container-max-width;
        }
      }
    }
    
    @if $enable-grid-classes {
      .container {
        @include make-container();
        @include make-container-max-widths();
      }
    }
    
    @if $enable-grid-classes {
      .container-fluid {
        @include make-container();
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-06-30
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 2018-07-17
      相关资源
      最近更新 更多