"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que o Overflow-Y não funciona conforme esperado no Firefox com elementos Flexbox aninhados?

Por que o Overflow-Y não funciona conforme esperado no Firefox com elementos Flexbox aninhados?

Publicado em 2024-11-05
Navegar:981

Why Does Overflow-Y Not Function As Expected in Firefox with Nested Flexbox Elements?

Problema Flexbox Overflow-Y com elementos aninhados no Firefox

Em um layout CSS usando flexbox, onde os elementos aninhados estão contidos em um flexbox pai item, overflow-y pode não funcionar como esperado no Firefox. Esse problema surge especificamente quando o elemento aninhado recebe uma propriedade overflow-y de auto.

Explicação do problema:

Os itens do Flexbox calculam automaticamente seu tamanho mínimo com base no intrínseco tamanho de seus elementos filhos. Porém, quando houver elementos filhos com propriedades de overflow aplicadas, como overflow-y, o flex item manterá um tamanho mínimo equivalente ao conteúdo do filho, mesmo que exceda o espaço disponível.

Solução :

Para resolver esse problema no Firefox, é necessário definir explicitamente a propriedade min-height do item flexível pai como 0. Isso desativa o comportamento de dimensionamento mínimo padrão e permite que o item flexível diminua abaixo do tamanho mínimo do conteúdo da criança.

.parent-flex-item {
  min-height: 0;
}

Ao aplicar essa correção, o elemento aninhado com overflow-y: auto agora será capaz de encolher e exibir uma barra de rolagem quando seu conteúdo exceder a altura disponível.

Exemplo de código :

Considere o seguinte código HTML e CSS:

This is a long text that exceeds the available height.

.parent-flex-item {
  display: flex;
  flex-direction: column;
  height: 100px;
  min-height: 0;
}

.nested-element {
  overflow-y: auto;
}

Com este código, o elemento aninhado terá uma barra de rolagem no Firefox, permitindo aos usuários visualizar o conteúdo transbordado.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3