SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
20.01.2025

Como Cortar Texto em um Título de Cartão Flexbox: Reticências

Resposta Rápida

Para evitar que um elemento filho transborde os limites de seu pai no contexto do Flexbox, aplique a propriedade overflow: hidden; ao elemento pai e min-width: 0; ao filho. Isso garantirá a flexibilidade do bloco filho e evitará que ele ultrapasse os limites do elemento pai.

.parent { 
  display: flex; 
  overflow: hidden; /* Ocultar os descendentes desobedientes */
}

.child {
  min-width: 0; /* Dar liberdade aos filhos */
}

Dessa forma, o elemento filho se encaixará corretamente dentro dos limites do contêiner pai.

Controlando o Transbordamento de Texto

Para gerenciar o conteúdo textual dentro de um elemento Flexbox, utilize a combinação de min-width: 0;, white-space: nowrap; e text-overflow: ellipsis;. Isso fará com que o texto não quebre, e reticências serão exibidas quando o espaço acabar.

.child {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden; /* Ocultar os descendentes falantes */
  text-overflow: ellipsis; /* ... "e viveram felizes para sempre" */
}

Alinhando Alturas de Colunas em Layouts de Múltiplas Colunas

A propriedade flex-grow: 1; permite que os itens do Flexbox se estiquem uniformemente e ocupem todo o espaço disponível, garantindo alturas iguais em layouts de múltiplas colunas.

.card {
  flex-grow: 1; /* Esticar para ocupar sua parte do espaço */
}

Layouts de Múltiplas Colunas Responsivos

Para criar layouts de múltiplas colunas responsivos, use flex-wrap: wrap; em conjunto com flex-grow ou flex-basis. Dessa forma, os itens se moverão para a próxima linha e preencherão adequadamente o espaço.

.container {
  display: flex;
  flex-wrap: wrap; /* Separação pode ser triste, mas às vezes é necessário */
}

.item {
  flex: 1 1 auto; /* A flexibilidade vem em primeiro lugar */
}

Visualização

Vamos ilustrar isso com uma analogia de um jardim:

  • Cerca (🏡): Mantém todas as plantas dentro de seus limites.
  • Uma planta crescendo sobre a cerca (🥀): Cresce ambiciosamente além da cerca.

No contexto do Flexbox:

🌼🏡🌸 Plantas normais: [🌼][🌼][🌼]
🌼💢🥀 Plantas transbordando: [🌼][🏠]

Você pode gerenciar tamanhos com flex-shrink:

🌼🏡🌸 Após a aplicação: [🌼][🌼🌼]
🌼✂️🥀 Cortando o excesso: [🌼][🌼]

Assim, mantemos nosso contêiner organizado e evitamos que os elementos transbordem seus limites.

Usando Overflow

Overflow em Contêineres que Mudam de Tamanho Dinamicamente

Às vezes, é crucial que o conteúdo se auto-regule em relação ao tamanho do contêiner. Por exemplo, widgets em painéis devem exibir informações valiosas sem restrições.

.widget {
  display: flex;
  min-height: 100px; /* Altura mínima para unidades autossuficientes */
}

Adicionando Margem Entre Itens Flex

Podemos criar o espaço necessário em layouts de múltiplas colunas adicionando margens aos itens flex. Isso proporciona "espaço pessoal" visual sem afetar a disposição dos itens.

.item {
  margin: 5px; /* Espaço pessoal para cada item */
}

Usando Contêineres Flex Aninhados para Layouts Complexos

Implementar contêineres flex aninhados com display: flex; e flex-direction: column; é ideal para criar estruturas complexas, como cartões dispostos verticalmente.

.card-container {
  display: flex;
  flex-direction: column; /* Organizar elementos de cima para baixo */
}

Mantenha-se Informado

Entendendo a Propriedade min-width

Tenha cuidado com min-width: auto; — isso pode levar a resultados inesperados, tornando os itens flex muito "rígidos". Use min-width: 0; para manter a flexibilidade do seu layout quando o espaço for limitado.

Compatibilidade entre Navegadores

Teste seu layout em diferentes navegadores para evitar possíveis inconsistências. Às vezes, ajustes específicos podem ser necessários para obter uma exibição uniforme.

/* Para versões mais antigas de navegadores que podem se comportar de forma imprevisível */
.item {
  flex-shrink: 0;
}

Overflow e Acessibilidade

Ao aplicar overflow: hidden, considere seu impacto na visibilidade e acessibilidade do conteúdo. Forneça maneiras alternativas de acessar dados ocultos.

Recursos Úteis

  1. Usando o Flexbox: Misturando Antigo e Novo para Melhor Suporte a Navegadores | CSS-Tricks — Descubra como gerenciar o Flexbox sem perder compatibilidade retroativa.
  2. Princípios Básicos do Flexbox - CSS | MDN — Fundamentos do Flexbox de uma fonte confiável, a Mozilla.
  3. Guia Completo do Flexbox | CSS-Tricks — Tudo que você precisa saber para se tornar um expert em Flexbox.
  4. html - Por que os itens flex não encolhem abaixo do tamanho do conteúdo? - Stack Overflow — Percepções da comunidade sobre as nuances do dimensionamento de itens flex.
  5. Guia Completo do CSS Flex Box | por Ghost Together | Medium — Um guia completo sobre Flexbox que te tornará proficiente.
  6. GitHub - philipwalton/flexbugs: Uma lista de problemas do flexbox e como resolvê-los — Uma compilação de problemas conhecidos no Flexbox e suas soluções.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!