Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 实现CSS卡高度相等,行上最多3个_Html_Css_Angular_Materialize - Fatal编程技术网

Html 实现CSS卡高度相等,行上最多3个

Html 实现CSS卡高度相等,行上最多3个,html,css,angular,materialize,Html,Css,Angular,Materialize,我有一个带物化CSS的Angular 4应用程序。 该网页使用卡片,高度可以不同,所以我使用FlexBox,但直到3时才最大化 如果卡的长度相同,则没有问题: 当最小化时,3张牌相邻,变成2张,最后变成1张 但是当牌的高度不一样时,我有一排3张牌,然后是1张牌,然后又是3张牌,这不是我想要的 我怎样才能解决这个问题 HTML代码 <div class="row "> <ng-template ngFor let-flow [ngForOf]="data">

我有一个带物化CSS的Angular 4应用程序。 该网页使用卡片,高度可以不同,所以我使用FlexBox,但直到3时才最大化

如果卡的长度相同,则没有问题: 当最小化时,3张牌相邻,变成2张,最后变成1张

但是当牌的高度不一样时,我有一排3张牌,然后是1张牌,然后又是3张牌,这不是我想要的

我怎样才能解决这个问题

HTML代码

 <div class="row ">
    <ng-template  ngFor let-flow [ngForOf]="data">
    <div *ngIf="flow.id !== currFlow.id" class="col s12 m6 l4">
      <div class="card blue-grey darken-1">
        <div class="card-content white-text">

          <p>
            <strong><b>{{flow.name}}</b></strong>
          </p>

          <form style="overflow: auto; margin-top: 10px;">
            <div class="input-field" style="float:left; width: 50%">
              <input id="type" type="text" value="{{flow.type}}" readonly>
              <label class="active" for="type">Type</label>
            </div>
            <div class="input-field" style="float: right; width: 50%">
              <input id="update" type="text" value="{{flow.updated_at}}" readonly>
              <label class="active" for="update">Last Update</label>
            </div>
            <div class="input-field" style="float:left; width: 50%">
              <input id="obs-start" type="text" value="{{flow.observation_start}}" readonly>
              <label class="active" for="obs-start">Start Observation</label>
            </div>
            <div class="input-field" style="float: right; width: 50%">
              <input id="obs-end" type="text" value="{{flow.observation_end}}" readonly>
              <label class="active" for="obs-end">End Observation</label>
            </div>
          </form>
        </div>
      </div>
    </div>
      </ng-template>
  </div>
图画

编辑:

我现在这样做:

 <div class="row d-flex" *ngFor="let item of specialData">
    <div *ngFor="let flow of item" class="col s12 m6 l4 d-flex">


.d-flex {
  display: inline-flex;
}

d-flex{
显示:内联flex;
}
因此,对于每个第3个元素,都会显示一行并显示inline flex。 如果最后一行没有3个元素,它就不能工作

1元素/卡片->卡片浮动:右,而不是左。。。
2个元素/卡片->一张卡片浮动:右边,另一张放在上面的2张第一张卡片的中间,而不是两张卡片旁边的< < /P> > P>我想问题是你把所有的卡片元素排成一行。根据ngFor提供的索引,尝试将它们拆分为多行元素,例如每三张卡。

我认为问题在于您将所有卡元素放在一行中。根据ngFor提供的索引,尝试将它们拆分为多个行元素,比如每三张卡。

嘿,Fangio,你有CSS吗?@大多数CSS默认为Materialize CSS,但我添加了我的CSS文件,正如你所看到的,我在我的htmlah中也做了一些样式设置,所以你没有当前使用的任何flexbox内容?(抱歉,我没有使用Materialize来知道它默认添加到哪里)我有,但它直到3才最大化,所以我删除了它。你可以使用
flex
并添加4个只占宽度(没有高度)的隐藏项嘿,Fangio,你有CSS吗?@大多数CSS默认为Materialize CSS,但我添加了我的CSS文件,正如你所看到的,我在我的htmlah中也做了一些造型,所以你没有任何你目前正在使用的flexbox东西?(抱歉,我没有使用materialise来知道默认情况下它会添加到哪里)我有,但它直到3才最大化,所以我删除了它。你可以使用
flex
并添加4个只占宽度(没有高度)的隐藏项。我这样做有问题,我编辑了我的问题我这样做有问题,我编辑了我的问题
 <div class="row d-flex" *ngFor="let item of specialData">
    <div *ngFor="let flow of item" class="col s12 m6 l4 d-flex">


.d-flex {
  display: inline-flex;
}