代码之家  ›  专栏  ›  技术社区  ›  James Delaney

如何在Angular2中获取HTML元素的宽度?

  •  1
  • James Delaney  · 技术社区  · 6 年前

    我想获取表的宽度,然后使用该宽度作为条件,动态地根据宽度应用样式。
    例子:

    div class="nano-table-grid"
        [ngStyle]="{ tableCurrentWidth < 1200px ? 'flex: none; max-width: 75px;'}>
    

    我有一个问题,拿目前的桌子宽度。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Maryannah    6 年前
    <div #table class="nano-table-grid"
      [ngStyle]="tableStyle(table.offsetWidth)"></div>
    
    tableStyle(tableWidth: number) {
      return tableWidth > 1200 ? {
        display: 'block'
      } : {
        display: 'flex',
        maxWidth: '75px'
      }
    }
    

    你可以用 ngClass 正如@sachilaranawaka所建议的,这两种方法都有效。

        2
  •  2
  •   Sachila Ranawaka    6 年前

    使用 ngClass 通过创建单独的样式类。

    .sample{
      flex: none; 
      max-width: 75px;
    }
    
    div class="nano-table-grid"  [ngClass]="{'sample':  tableCurrentWidth < 1200px }>