Angular 2:以编程方式定位在 div 叠加层内

Angular 2: Programmatically to position inside div overlay

我定制了一个 PrimeNg TabView 并将其包装在自定义组件中以实现此目的:

如您所见,tabview 内容有 overflow-x: hidden,因此它看起来更好,为了允许用户在隐藏的选项卡之间导航,我添加了两个按钮,一个在 tabview 的每一侧。

现在我正在尝试开发这些按钮点击功能,但我不知道如何实现。

这是我的组件的样子:

<div class="wrapper">
 <a id="back" class="ripple" [style.backgroundColor]="ui.currentThemeBackground"><i class="material-icons">chevron_left</i></a>
 <p-tabView styleClass="tab-container" [style]="{'background-color':ui.currentThemeBackground}">
   <p-tabPanel *ngFor="let tab of store.linhaTempo | async; let i = index; "
  [id]="index" [header]="tab.titulo" [selected]="tab.selecionada"></p-tabPanel>
 </p-tabView>
 <a id="forward" class="ripple" [style.backgroundColor]="ui.currentThemeBackground"><i class="material-icons">chevron_right</i></a>
</div>


linha-tempo .wrapper {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  -o-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  position: fixed;
  top: 55px;
  width: 100%;
}

linha-tempo .tab-container {
  border: none !important;
  margin: 0 auto;
  width: calc(100% - 80px);
  border-radius: 0px;
 }

linha-tempo #back, linha-tempo #forward {
  width: 40px;
  position: fixed;
  top: 55px;
  line-height: 33px;
  text-align: center;
  cursor: pointer;
}

linha-tempo #back {
  left: 0px;
}

linha-tempo #forward {
  right:0px;
}

linha-tempo #back i, linha-tempo #forward i {
  line-height: 2;
  color: white;
}

linha-tempo .ui-tabview-panel {
  display: none !important;
}

linha-tempo .ui-tabview-nav, linha-tempo .ui-tabview-nav > li.ui-state-active {
  border-bottom: none !important;
  background-color: transparent !important;
  line-height: 1.8;
}

linha-tempo .ui-tabview-nav {
  color: rgba(255, 255, 255, 0.6);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

linha-tempo .ui-tabview-nav > li {
  border: none !important;
  width: 150px;
  border-radius: 0px 0px 0px 0px !important;
  -webkit-border-radius: 0px 0px 0px 0px !important;
  -moz-border-radius: 0px 0px 0px 0px !important;
}

linha-tempo .ui-tabview-nav > li.ui-state-active {
  color: white;
}

linha-tempo .ui-tabview-nav a {
  color: rgba(255, 255, 255, 0.7) !important;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

linha-tempo .ui-tabview-nav > li.ui-state-active a {
  color: white !important;
  border-bottom: 2px solid white;
  cursor: default !important;
}

body .ui-tabview .ui-tabview-nav > li.ui-state-hover {
  background-color: transparent !important;
}

欢迎任何帮助

我试过左右滚动点击 div。

您也可以对标签执行相同的操作。

请查看以下link以获取详细参考

http://www.w3schools.com/code/tryit.asp?filename=FAB7S70J7UZD

如有任何疑问,请告诉我。