离子页脚粘在离子含量和屏幕底部

新手上路,请多包涵

我想制作离子页脚,高度将取决于内容高度,就像那样

它应该如何运作

此外,页脚不能小于 2 图片(最小高度)。

内容是动态生成的 (ion-list *ngFor)。这是我目前的伪代码

<ion-header>
  <ion-navbar>
    <ion-title>
      Title
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
  <ion-list>
    <button ion-item *ngFor="let item of items">
      {{ item.name}}
    </button>
  </ion-list>
</ion-content>

<ion-footer class="footer">
</ion-footer>

CSS:

 .footer{
  background-color: blue;
  min-height: 10em;
  height: auto;
}

但它永远不会填满屏幕上的所有空白区域,我仍然有这样的想法:

怎么运行的

原文由 Rafał Gołubowicz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 325
2 个回答

ion-footer 方法在这里不起作用,因为 ion-footer CSS 样式具有绝对定位。这意味着它的高度不能与离子含量高度相关。

所需的布局可以通过使用 flex 的不同方法来实现。

 <ion-content >
 <div style=" display: flex;flex-direction: column;height: 100%;">
     <ion-list padding-horizontal padding-top style="overflow-y: scroll;max-height: 90%;">
       <button ion-item *ngFor="let item of items">
       {{ item.name}}
      </button>
     </ion-list>
     <div style="flex: 1;background-color: blue;">Footer</div>
 </div>
</ion-content>

从 HTML 中移除 ion-footer 元素。这应该给出类似的布局。

原文由 Jay 发布,翻译遵循 CC BY-SA 3.0 许可协议

我想提出另一种方法,“更离子方式”,使用它自己的组件而不是 div 和一些样式规则。

Jay 的解决方案通过 CSS 解决了这个问题,将粘性页脚固定在内容的底部。但是,我已将该组件移出 ,因此它将始终保留在页面底部:

 <ion-content>
  // Page content
</ion-content>
<ion-footer>
  // Footer content
</ion-footer>

为了查看在线示例,我在 此处 创建了一个 StackBlitz。我希望这对您(虽然有点晚)和未来的读者有用。

原文由 Sema 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题