"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 os itens flexíveis não são reduzidos para caber em três por linha com margens e dimensionamento de "caixa de borda"?

Por que os itens flexíveis não são reduzidos para caber em três por linha com margens e dimensionamento de "caixa de borda"?

Publicado em 17/11/2024
Navegar:818

Why Don\'t Flex Items Shrink to Fit Three Per Row with Margins and `border-box` Sizing?

Itens flexíveis desconsiderando margens e dimensionamento da caixa de borda

No flexbox, definindo flex: 1 1 33,33% e margem: 10px no flex itens, pode-se esperar três caixas por linha. No entanto, com flex-wrap: wrap, as caixas não encolhem para caber três por linha.

A razão está na natureza do dimensionamento da caixa: border-box. Embora esta propriedade inclua preenchimento e bordas nos cálculos de largura e altura, ela exclui margens. As margens são calculadas separadamente e, por padrão, os itens flexíveis têm flex-shrink: 1, permitindo que eles diminuam para caber no contêiner.

Para resolver esse problema, pode-se substituir o comportamento padrão definindo flex- encolher: 0. Isso evita que os itens flexíveis diminuam nas margens.

Outra solução é ajustar o valor da base flexível enquanto mantém o crescimento flexível: 1. Como não há necessidade de flex-basis para impor um envoltório devido ao consumo flexível de espaço livre, pode-se reduzir o valor para acomodar as margens. Ao definir flex: 1 1 26% e margin: 10px, por exemplo, os itens flexíveis agora se ajustam conforme o esperado.

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