205 of 313 menu

Propriedade flex-shrink

A propriedade flex-shrink define o quanto um bloco flex será reduzido em relação aos elementos vizinhos dentro do contêiner flex quando não houver espaço livre suficiente.

Por exemplo, se todos os blocos flex dentro de um contêiner flex têm flex-shrink:1, eles terão o mesmo tamanho. Se um deles tiver flex-shrink:2, ele será 2 vezes menor do que todos os outros.

Aplica-se a: um bloco flex específico.

Esta propriedade faz parte da propriedade abreviada flex.

Sintaxe

seletor { flex-shrink: número positivo; }

Valor padrão: 1.

Exemplo

Suponha que temos 3 elementos. A largura de cada um deles é de 200px e a soma é igual a 600px, o que é maior que a largura do contêiner pai, que é de 350px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> <div class="child elem2">3</div> </div> .parent { display: flex; width: 350px; height: 200px; border: 1px solid red; } .child { width: 200px; height: 50px; border: 1px solid green; } .elem1 { flex-shrink: 1; } .elem2 { flex-shrink: 2; } .elem3 { flex-shrink: 3; }

:

Vamos calcular o espaço livre negativo usando a fórmula:

600px - 350px = 250px

A largura ponderada total dos elementos considerando os valores da propriedade flex-shrink para cada elemento será:

200px * 1 + 200px * 2 + 200px * 3 = 1200px

Agora vamos determinar o quanto o primeiro elemento será reduzido:

250px * 1 (flex-shrink) * 200 (width) / 1200 = 41,6px

Segundo elemento:

250px * 2 (flex-shrink) * 200 (width) / 1200 = 83,3px

Terceiro elemento:

250px * 3 (flex-shrink) * 200 (width) / 1200 = 125px

Conclui-se que o terceiro elemento, cujo valor flex-shrink é 3, será reduzido mais do que os outros elementos.

Veja também

  • a propriedade flex-direction,
    que define a direção dos eixos dos blocos flex
  • a propriedade justify-content,
    que define o alinhamento ao longo do eixo principal
  • a propriedade align-items,
    que define o alinhamento ao longo do eixo transversal
  • a propriedade flex-wrap,
    que define a quebra de linha dos blocos flex
  • a propriedade flex-flow,
    abreviação para flex-direction e flex-wrap
  • a propriedade order,
    que define a ordem dos blocos flex
  • a propriedade align-self,
    que define o alinhamento de um único bloco
  • a propriedade flex-basis,
    que define o tamanho de um bloco flex específico
  • a propriedade flex-grow,
    que define a "ganância" dos blocos flex
  • a propriedade flex,
    abreviação para flex-grow, flex-shrink e flex-basis
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar