Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

581
Visualizações
CSS Grid minmax(0,25%) won't set width to 0

The need is to have the .card-media column width set to 0 when empty.

.card {
  display: grid;
  grid-template-columns: minmax(0, 24%) 1fr;
  grid-template-rows: auto 1fr auto;
  grid-auto-flow: row;
  grid-template-areas: 'card-media card-title' 'card-media card-content' 'card-action card-action';
  padding: 1rem;
  width: 100%;
}

.card-media {
  grid-area: card-media;
  margin-right: 2%;
  float: left
}
<div class="card">
  <div class="card-media"></div>
  <div class="card-content">
    <div class="card-title">Title</div>
    <div class="card-text">
      <p>Content</p>
    </div>
    <div class="card-action">
      <button class="btn">Some action</button>
    </div>
  </div>
</div>

In this case, although empty, the .card-media column remain at 24% width. Same result when using minmax(auto, 24%). Can I set that column to 0 using CSS Grid?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

This snippet simply sets display: none if the element is empty:

.card {
  display: grid;
  grid-template-columns: minmax(0, 24%) 1fr;
  grid-template-rows: auto 1fr auto;
  grid-auto-flow: row;
  grid-template-areas: 'card-media card-title' 'card-media card-content' 'card-action card-action';
  padding: 1rem;
  width: 100%;
}

.card-media {
  grid-area: card-media;
  margin-right: 2%;
  float: left;
}

.card-media:empty {
  display: none;
}
<div class="card">
  <div class="card-media"></div>
  <div class="card-content">
    <div class="card-title">Title</div>
    <div class="card-text">
      <p>Content</p>
    </div>
    <div class="card-action">
      <button class="btn">Some action</button>
    </div>
  </div>
</div>

about 4 years ago · Juan Pablo Isaza Relatório

0

You are actually looking for fit-content()

use it like this:

grid-template-columns: fit-content(24%) 1fr;

And apply to .card-media

min-width: 0;

to make it have no minimum width.

JSFiddle

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda