gpt4 book ai didi

css - 将 ngx-scrollbar 用于 ngx-bootstrap 选项卡内容

转载 作者:技术小花猫 更新时间:2023-10-29 10:57:56 27 4
gpt4 key购买 nike

在我的元素中,我使用的是 bootstrap 4 和 ngx-bootstrap。现在我需要创建一个组件,其中包含 2 个可滚动的 div,通过选项卡切换。

我想在 stackblitz 中展示一个示例应用程序,但我无法创建它。

这是我要放置这些选项卡的组件:

<div class="d-flex flex-column h-100">
<div class="border-bottom align-items-center d-flex flex-shrink-0 pr-3 pl-3" style="height: 60px !important;">
<input type="text" class="form-control" id="search" placeholder="Search...">
</div>
<tabset [justified]="true">
<tab heading="Title 1">
<ng-scrollbar [autoHide]="true">
<app-foo-list></app-foo-list>
</ng-scrollbar>
</tab>
<tab class="" heading="Title 2">
<ng-scrollbar [autoHide]="true">
<app-foo-list></app-foo-list>
</ng-scrollbar>
</tab>
</tabset>
</div>

在 AppFooList 组件中,我将放置一个元素列表。例如,它类似于以下代码:

    hiiiiiiii <br>
hiiiiiiii <br>
hiiiiiiii <br>
hiiiiiiii <br>
...

你能帮我修复我的代码使其正常工作吗? Ngx-scrollbar 不适用于选项卡的内容。我所有的尝试都以滚动整个应用程序结束,因为内容的高度比应用程序的其余部分高,或者内容可以滚动,但没有应用 ngx-scrollbar 并且滚动条很难看。我需要 div 的高度是底部的其余空间。这就是我使用 flexbox 的原因。

编辑: code in stackblitz

最佳答案

已更新

试试这个

查看演示 here

<div class="d-flex flex-column h-100">
<div class="border-bottom align-items-center d-flex flex-shrink-0 pr-3 pl-3" style="height: 60px !important;">
<input type="text" class="form-control" id="search" placeholder="Search...">
</div>
<tabset [justified]="true">
<tab heading="Title 1" [ngStyle]="{'height':'calc(100vh - ' + offsetHeightVal + 'px)'}">
<ng-scrollbar [autoHide]="true">
<app-foo-list></app-foo-list>
</ng-scrollbar>
</tab>
<tab class="" heading="Title 2" [ngStyle]="{'height':'calc(100vh - ' + offsetHeightVal + 'px)'}">
<ng-scrollbar [autoHide]="true">
<app-foo-list></app-foo-list>
</ng-scrollbar>
</tab>
</tabset>
</div>

app.component.ts

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

@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
name = 'Angular 6';
offsetHeightVal: number; //default value

offset(el) {
var rect = el.getBoundingClientRect(),
scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,
scrollTop = window.pageYOffset || document.documentElement.scrollTop;
return { top: rect.top + scrollTop, left: rect.left + scrollLeft }
}
ngAfterViewInit() {
this.offsetHeightVal = this.offset(document.querySelector('.tab-content')).top
}
}

关于css - 将 ngx-scrollbar 用于 ngx-bootstrap 选项卡内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50376018/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com