Angular: как сохранить заголовок фиксированным и всегда появляющимся при прокрутке списка опций dropdwon

#html #css #angular #twitter-bootstrap #flexbox

#HTML #css #angular #twitter-bootstrap #flexbox

Вопрос:

В моем приложении у меня есть виджет с мат-выбором, это список опций, который я привык прокручивать внутри списка, чтобы увидеть все опции:

Я хочу добавить заголовок в начало списка опций, таким образом, он всегда будет отображаться при прокрутке

 <mat-select placeholder="Selectionner la boutique"
                        id="libelleShop"
                        #inputSelectShop
                        [(value)]="selectedlibelleShopoValue"
                        ngDefaultControl
                        formControlName="libelleShop"
                        (selectionChange)="onShopSelectionChanged($event)">
              /* THIS IS MY HEADER DIV */
              <div id="myHeader" class="m-2">
                <span class="myHeaderClass"></span>
              </div>
              <mat-option *ngFor="let shop of bad3ShopsListSortedByName"
                          [value]="shop.edoId">
                {{shop.storeName}}
              </mat-option>
</mat-select>
  

Как я могу исправить этот div, чтобы он всегда был вверху, и предотвратить его исчезновение при прокрутке до нижней части списка

Предложения?

Комментарии:

1. вы пробовали CSS position : sticky; ?

2. @Adil никаких изменений не вносится

Ответ №1:

добавьте следующее в свой css (вам не хватает значения top: xxx px), поскольку это определяет, где именно придерживаться.

 .m-2 {
   position: sticky;
   top: 0px;
   z-index:1000;
   margin-bottom: <whatever you need>px;

}
  

Комментарии:

1. да, так лучше, но чего-то не хватает, изначально это хорошо, но при прокрутке параметры, похоже, отображаются в том же пространстве плана, что и ввод searrch, я думаю, что нужно добавить некоторое поле

2. при необходимости вы можете использовать z-index, и, я думаю, margin тоже. Я не знаю точно, чего вы хотите или насколько все велико или должно быть