1

如果我将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>

// 幻灯片高度.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;
}

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

不均匀的幻灯片

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

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

这使:

均匀但固定的高度

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

必须有某种方法可以将 flexbox 设置为自动高度?我错过了什么?

4

1 回答 1

0

这对我有用,我改变了 trh <ion-slides id="ionic-slides" pager="true" [options]="slideOpts"> ...

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

或者你可以用 CSS 来做:

#ionic-slides{
  height: 500px;
}

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

于 2021-03-24T14:01:42.707 回答