首页 > 解决方案 > 我的 div 是固定的,但是当我打开一个对话框(弹出窗口)时,div 不再固定

问题描述

我有一个 div 通知,它位于固定位置,您可以在第一个屏幕中看到。当我通过单击更新或删除按钮打开对话框时,当弹出窗口(对话框)打开时,div 通知不再固定。如何解决这个问题,当我打开对话框时,div 保持相同的固定位置。 屏幕显示固定位置的 div

显示问题的屏幕

.list {
  width: 90%;
  margin: 0 auto;
  margin-bottom: 3%;
  display: flex;
}

.content {
  width: 100%;
  margin-left: 22%;
}

table {
  width: 100%;
}

img {
  height: 140px;
  width: 100px;
  margin-top: 5%;
  margin-bottom: 5%;
}

.update {
  color: grey;
}

.notifications {
  width: 16%;
  position: fixed;
  text-align: center;
  border-radius: 10px;
  -webkit-box-shadow: 9px 9px 18px 3px rgba(163,158,163,1);
  -moz-box-shadow: 9px 9px 18px 3px rgba(163,158,163,1);
  box-shadow: 9px 9px 18px 3px rgba(163,158,163,1);
}
<div class="list">
  <div class="notifications">
    <h2>Tv Shows List</h2>
    <h4 class="number"><span class="badge badge-danger">Tv Shows Finished : {{ tvShowsFinished }} </span></h4>
    <h4 class="number"><span class="badge badge-primary">Tv Shows Waiting : {{ tvShowsWaiting }} </span></h4>
    <h4 class="number"><span class="badge badge-warning">Tv Shows Watching : {{ tvShowsWatching }} </span></h4>
  </div>
  <div class="mat-elevation-z8 content">
    <table mat-table [dataSource]="dataSource">
  
      <ng-container matColumnDef="poster">
        <th mat-header-cell *matHeaderCellDef> Poster</th>
        <td mat-cell *matCellDef="let element">
          <div *ngIf="element.poster_path; else noPoster">
            <img src="https://image.tmdb.org/t/p/w200/{{element.poster_path}}" alt="...">
          </div>
          <ng-template #noPoster>
            <img src="../../assets/not_found.jpg" alt="...">
          </ng-template>
        </td>
      </ng-container>
  
      <ng-container matColumnDef="title">
        <th mat-header-cell *matHeaderCellDef> Title </th>
        <td mat-cell *matCellDef="let element"> {{element.name}} </td>
      </ng-container>
  
      <ng-container matColumnDef="status">
        <th mat-header-cell *matHeaderCellDef> Status </th>
        <td mat-cell *matCellDef="let element" > 
          <div *ngIf="element.status === 0">
            <h5><span class="badge badge-secondary">Never finished</span></h5>
          </div>
          <div *ngIf="element.status === 1">
            <h5><span class="badge badge-danger">Finished</span></h5>
          </div>
          <div *ngIf="element.status === 2">
            <h5><span class="badge badge-primary">Waiting for season/episode</span></h5>
          </div>
          <div *ngIf="element.status === 3">
            <h5><span class="badge badge-warning">Watching</span></h5>
          </div>
        </td>
      </ng-container>
  
      <ng-container matColumnDef="date">
        <th mat-header-cell *matHeaderCellDef> Date </th>
        <td mat-cell *matCellDef="let element"> {{element.first_air_date | date: 'dd MMMM, y'}} </td>
      </ng-container>
  
      <ng-container matColumnDef="vote">
          <th mat-header-cell *matHeaderCellDef> Vote </th>
          <td mat-cell *matCellDef="let element"> {{element.vote_average}} </td>
        </ng-container>
  
      <ng-container matColumnDef="update">
          <th mat-header-cell *matHeaderCellDef> Update </th>
          <td mat-cell *matCellDef="let element">
            <button mat-icon-button class="update" (click)="update(element)">
              <mat-icon>create</mat-icon>
            </button>
          </td>
        </ng-container>
  
  
      <ng-container matColumnDef="remove">
        <th mat-header-cell *matHeaderCellDef> Remove </th>
        <td mat-cell *matCellDef="let element">
          <button mat-icon-button color="warn" (click)="remove(element)">
            <mat-icon>delete</mat-icon>
          </button>
        </td>
      </ng-container>
  
      <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
      <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
    </table>
  
    <mat-paginator [pageSizeOptions]="[25, 50, 100]" showFirstLastButtons></mat-paginator>
  </div>
</div>

如果您有解决此问题的想法,我将很高兴。

谢谢

标签: htmlcssangulardialogposition

解决方案


margin-top: 10%;您可以在加载通知时尝试通过 javascript 发出一个。10% 只是一个假设,您可以将其更改为您认为合适的任何值。


推荐阅读