Выровненные справа элементы не остаются на одной линии - PullRequest
1 голос
/ 10 октября 2019

Я хочу разместить некоторые элементы слева, а некоторые справа. Но элементы справа не остаются на линии, особенно после добавления mat-form-field. Я получаю:

enter image description here

На правой стороне правая кнопка и значок находятся в одной строке, но поле mat-form-fieldне остается с ними в одной строке.

Мой HTML-код:

<div class="mat-table-container">
    <div class="mat-table-button-wrapper">
        <div id="left-aligned-wrapper">
            <button class="btn btn-primary"> 
                Left Button
            </button>
        </div>
        <div id="right-aligned-wrapper">
            <mat-form-field appearance="standard">
              <input matInput placeholder="Placeholder">
            </mat-form-field>
            <button type="button" mat-button>
              Right Button
            </button>
            <button class="btn btn-default">
              <i class="my-icon my-icon-filter"></span>
            </button>
        </div>
    </div>
</div>

Мой CSS-код:

.mat-table-container {
  position: relative;
  .mat-table-button-wrapper {
    height: 50px;
    padding-left: 0em;
    padding-top: 1em;
    #left-aligned-wrapper {
      float: left;
    }  
    #right-aligned-wrapper {
      float: right;
    }
  }
}

Что здесь может пойти не так?

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Пожалуйста, применяемая ширина: 50% в обоих элементах. Или используйте display: flex свойство.

.mat-table-button-wrapper {
  display: flex;
  align-item: center;
  justify-content: space-between;
}
0 голосов
/ 10 октября 2019

Я бы порекомендовал вам использовать flexbox вместо float в этой ситуации.

Это привело бы к тому, что ваш CSS выглядел примерно так:

.mat-table-container {
  position: relative;
  .mat-table-button-wrapper {
    height: 50px;
    padding-left: 0em;
    padding-top: 1em;
    display: flex;
    justify-content: space-between;
  }
}

то есть, удаляя приложение display: flex для вашего класса-обёртки и использование justify-content: space-between для размещения вашего контента соответствующим образом.

Это также гарантирует, что ваш контент не перейдет на следующую «строку».

...