【问题标题】:My columns are working only when I giving row class我的列只有在我给出行类时才有效
【发布时间】:2019-05-08 08:10:38
【问题描述】:

我创建了一个非常基本的 12 列的 flexbox 布局。我面临的问题是我的列仅在我使用带有类行的 div 容器时才起作用。我无法找出它为什么以这种方式工作。有人可以帮助我或提供有关如何进行的见解。

我的代码。

_variables.scss

// Grid Variables
$grid-columns: 12;

//Device-Breakpoints

$device-xs: 540px;
$device-sm: 768px;
$device-md: 992px;
$device-lg: 1200px;

_helpers.scss

@mixin border-box {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; 
}

grid.scss

@import "variables";
@import "helpers";

*.container {
    @include border-box;
    margin: 0 auto;
    padding: 0 1em;

    @media (min-width: $device-xs) {
      max-width: $device-xs;
    }

    @media (min-width: $device-sm) {
      max-width: $device-sm;
    }

    @media (min-width: $device-md) {
      max-width: $device-md;
    }

    @media (min-width: $device-lg) {
      max-width: $device-lg;
    }
  }

  .row {
    @include border-box;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1em;
  }

  @for $i from 1 through $grid-columns {
    .col-xs-#{$i},
    .col-sm-#{$i},
    .col-md-#{$i},
    .col-lg-#{$i} {
        @include border-box;
        padding: 1em;
      width: 100%;
    }

    .col-xs-#{$i} {
      @media (min-width: $device-xs) {
        width: calc(100% * (#{$i} / 12));
      }
    }

    .col-sm-#{$i} {
      @media (min-width: $device-sm) {
        width: calc(100% * (#{$i} / 12));
      }
    }

    .col-md-#{$i} {
      @media (min-width: $device-md) {
        width: calc(100% * (#{$i} / 12));
      }
    }

    .col-lg-#{$i} {
      @media (min-width: $device-lg) {
        width: calc(100% * (#{$i} / 12));
      }
    }
  }

【问题讨论】:

    标签: html css sass flexboxgrid


    【解决方案1】:

    .rowdisplay: flex;

    这决定了.row 元素的直接子元素是弹性项目。如果它们没有父 flex 容器,则它们不是 flex 项,不能以 flex 方式布局

    【讨论】:

    • 但是在引导程序中,即使我们不使用行类,列类也可以正常工作。如何在我的代码中实现这一点。
    • Bootstrap (包括版本 3)使用 float 而不是 flex 用于列布局。浮动用于项目本身,而不是容器上使用的 flex
    • 如果没有 flexbox 容器,您将无法实现 flexbox 布局。它当然可以是任何可以成为容器的元素,甚至是body。只需要它是您要布局的项目的直接父项
    猜你喜欢
    • 2016-07-09
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多