Неправильное отображение border у псевдоэлементов в Google Chrome

.separator {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.separator::before,
.separator::after {
  content: "";
  flex: 1;
  /* для того, чтобы сепараторы занимали все свободное пространство */
  border: 1px solid #EEBF3A;
}
<div class="separator bg-grey">
  <div class="separator-icon home-icon"></div>
</div>

Как это выглядит в Firefox (все правильно): введите сюда описание изображения

И в Google Chrome:

введите сюда описание изображения

Наверное плохо видно, поэтому вот кроп:

введите сюда описание изображения

У псевдоэлементов появляется высота и сепараторы получаются расслоенными. Как это исправить? Возможно какой-то сброс стилей прописать?


Ответы (1 шт):

Автор решения: UModeL

Не думал, что возникнет такая проблема. Действительно, Chrome (v 87.0.4280.141) рендерит так, что появляется зазор на масштабах 125, 150, 175 и 250 процентов. При этом, Firefox (v 84.0.2) всё отображает корректно, даже с масштабом 133%.

еще вариант, прописать background-color, но тогда в Firefox толщина сепаратора будет 2 px

Она и так 2px должна быть, потому что толщина border равна 1px, но border-а два - top и bottom. И, если Firefox отображает только 1px, то тогда уже этот браузер неверно рендерит.

Поэтому, просто меняем border на background-color и ставим height: 2px; - должно максимально одинаково отображаться в любом браузере:

.separator {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.separator::before,
.separator::after {
  content: "";
  flex: 1; /* для того, чтобы сепараторы занимали все свободное пространство */
  height: 2px;
  background-color: #EEBF3A;
}
<div class="separator bg-grey">
  <div class="separator-icon home-icon"></div>
</div>

→ Ссылка