离子滑块的高度相等,而离子滑块上没有明确的高度?

时间:2019-07-09 08:01:01

标签: css ionic-framework ionic4 ion-slides

如果我正常设置ion-slides,则每张幻灯片的高度都是不均匀的:

// slideheight.page.html

<ion-header>
  <ion-toolbar>
    <ion-title>slideheight</ion-title>
  </ion-toolbar>
</ion-header>

<ion-content>
  <ion-slides [options]="otherProjectsSliderConfig">
    <ion-slide class="slide1">
      <p>fdslkjds <br>
        fdslkjds <br>
        fdslkjds <br>
        fdslkjds <br>
        fdslkjds <br>
        fdslkjds <br>
        fdslkjds <br>
        fdslkjds <br></p>
    </ion-slide>

    <ion-slide class="slide2">
      <p>fdslkjds <br>
        fdslkjds <br>
        fdslkjds <br>
        fdslkjds <br></p>
    </ion-slide>

    <ion-slide class="slide3">
      <p>
        fdslkjds <br>
        fdslkjds <br></p>
    </ion-slide>
  </ion-slides>
</ion-content>

// slideheight.page.ts

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-slideheight',
  templateUrl: './slideheight.page.html',
  styleUrls: ['./slideheight.page.scss'],
})
export class SlideheightPage implements OnInit {

  otherProjectsSliderConfig = {
    slidesPerView: 1.2,
    spaceBetween: 5,
  };

  constructor() { }

  ngOnInit() {
  }

}

// slideheight.page.scss

.slide1{
    background: firebrick;
}

.slide2{
    background: yellowgreen;
}

.slide3 {
    background: plum;
}

然后我得到不均匀的幻灯片:

uneven slides

我尝试设置各种属性,但是唯一可以找到的方法是为ion-slides组件设置特定的高度:

ion-slides {
    height: 500px;
    // or
    // height: 100%;
    // height: 50%;
}

哪个给:

even but fixed height

但是,这不是设置高度的好方法,因为它无法考虑内容将需要多少空间。屏幕可能很小,并且内容会更高,或者数据可能需要较长的描述。

必须使用某种方式将flexbox设置为自动高度吗?我想念什么?

1 个答案:

答案 0 :(得分:0)

这对我有用,我改变了 ...

  ngAfterViewInit() {
    var container: HTMLElement = document.getElementById('ionic-slides');;
    container.style.height = '500px'
  }

或者你可以用 CSS 来实现:

#ionic-slides{
  height: 500px;
}

ion-slide 中的内容很大时。你可以继续滚动