o contêiner rola para o topo quando a altura do elemento filho muda

Me deparei com um comportamento um pouco peculiar. Pelo menos parece peculiar para mim.

Você pode conferir aqui:https://fiddle.jshell.net/mxmcd9Lw/8/show/

Principalmente quando a altura de um elemento muda, seu elemento pai rola automaticamente para o topo (você precisa rolar um pouco primeiro). Parece que a parte superior do deslocamento é perdida devido à repintura causada por uma alteração de altura.

estrutura é baseada em CSS Gridbody estouro está definido como ocultorecipiente principal.l-page está definido como 100vhcontêiner rolado.l-content

 body {
  overflow-y: hidden;
}

.l-page {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto 1fr;
  grid-template-areas: 'primary_bar primary_bar' 'sidebar notification' 'sidebar secondary_bar' 'sidebar content';
  width: 100vw;
  height: 100vh;
  margin: 0 auto;
  min-width: 1280px;
  max-width: 1920px;
}

.l-notification {
  grid-area: notification;
}

.l-primary-bar {
  grid-area: primary_bar;
  z-index: 2;
}

.l-secondary-bar {
  grid-area: secondary_bar;
  z-index: 1;
}

.l-sidebar {
  grid-area: sidebar;
  width: 180px;
}

.l-content {
  grid-area: content;
  overflow-x: hidden;
  z-index: 0;
}

Eu tentei:

definindo amboshtml ebody transbordar ocultodefinindo amboshtml ebody height, min-height 100% em diferentes configuraçõeshttps://abdus.co/blog/preventing-vh-jump-on-mobile-browsers/ (método 2)

mas sem sorte.

Tenho certeza de que tem algo a ver com o fato de que o corpo não é rolável e que a altura do recipiente principal está definida como100vh.

Nota No Chrome, ele pula para o topo, no FF e no Safari, na parte inferior.

Qualquer ajuda será muito apreciada.

Valeu!

Lukas

questionAnswers(1)

yourAnswerToTheQuestion