html - 动态更改 css 类的属性

标签 html css

我正在尝试构建类似 chrome 的选项卡,它可以根据选项卡的数量动态地为选项卡分配宽度。 我有以下 CSS 类:

.myTab{
   width: 100px;
}

在每次添加新标签或关闭现有标签时,我通过将父 div 的总宽度除以标签数量来计算每个标签的宽度。

这是我的 html 代码:

<div class="myTabList">
    <div class="myTab" *ngFor="let tab of tabs; let i = index" >
        {{i + 1}}
    </div>

</div>
<button class="btn btn-default addTabButton" (click)="addMyTab()"></button>

现在,对于 myTab CSS 类,我想动态更改宽度。 一种方法是遍历我的整个选项卡列表并更改宽度。 但我在想是否可以只更改 myTab 类的 width 属性。如果可能,则无需遍历整个选项卡列表,因为该类已应用于所有选项卡。 在 css 中甚至可以更改 css 类的属性吗?

更新 我还需要标签宽度不超过 max-width 以确保当标签很少时,它们不会占据整个宽度。这就是为什么使用 tabletable-cell 没有帮助。

最佳答案

CSS 表格可以做到这一点。

.mytab {
  border: 1px solid red;
  height: 25px;
  display: table-cell;
}

.myTabList {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 1em
}
<div class="myTabList">
  <div class="mytab"></div>
  <div class="mytab"></div>
  <div class="mytab"></div>
  <div class="mytab"></div>
  <div class="mytab"></div>
</div>

<div class="myTabList">
  <div class="mytab"></div>
  <div class="mytab"></div>
  <div class="mytab"></div>
  <div class="mytab"></div>
</div>

<div class="myTabList">
  <div class="mytab"></div>
  <div class="mytab"></div>
</div>

关于html - 动态更改 css 类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55226457/

相关文章:

html - 发布体内定心形式 | HTML

html - 你如何只用 css 制作这个 dogeared 形状

HTML 左对齐和右对齐不起作用

javascript - 如何让视频在html结束后消失?

html - Materialise CSS Modal 将正文内容向右移动

html - overflow-x 的奇怪行为

javascript - 单击下拉菜单时箭头旋转 180 度

javascript - Bootstrap Navbar 居中但 DIV 高于内容

javascript - 滚动时固定但停在页脚

javascript - 当父 ul 设置溢出隐藏时,子 ul 不显示