Eu era um dos maiores fãs do flexbox antes de seu surgimento, mas, devido a mudanças na Mozilla, nunca tive a chance de usá-lo em nenhum projeto prático; portanto, o flexbox ainda parece um pouco misterioso para mim. Isso me incomoda muito porque me sinto excluído da revolução do flexbox, embora hoje em dia o sentimento que ouço é que o flexbox acabou sendo um fracasso e que a grade CSS é a nova moda.


Um utilitário incrível do flexbox são os espaçadores. Um problema do passado era encaixar itens à esquerda e itens à direita, mas precisando mexer no posicionamento absoluto para que isso acontecesse. Com o flexbox, é fácil obter esse efeito sem precisar de tamanhos fixos de elementos ou cálculos de largura em JavaScript.


O HTML


Vamos supor uma estrutura muito simples de um pai, um filho esquerdo e direito e um espaçador:



<div class="parent">
  <div class="left-buttons"></div>
  <div class="spacer"></div>
  <div class="right-buttons"></div>
</div>


O espaçador estará vazio.


O CSS


O CSS será baseado em flexbox:



.parent {
  display: flex;
}

.spacer {
  flex-grow: 1;
}


O segredo é ter um pai com display: flex e o espaçamento ter flex-grow: 1. Independentemente da largura da esquerda e da direita, o espaçador ocupa o espaço restante. Se a esquerda e a direita ficarem maiores do que o espaço disponível… então as coisas serão empurradas.


Veja a caneta Espaçadores Flexbox por David Walsh (@darkwing) em CodePen.



O Flexbox tem uma má reputação: as APIs de layout antigas eram tão ruins que uma atualização moderada ainda deveria ser comemorada. Independentemente disso, vamos comemorar uma API simples que nos permite criar esse layout de amostra que desejamos há tanto tempo.

  • Criação de efeitos de paralaxe de rolagem com CSS

    Introdução Há muito tempo, os sites com o chamado efeito “parallax” são muito populares… Caso o senhor não tenha ouvido falar desse efeito, ele basicamente inclui diferentes camadas de imagens que se movem em diferentes direções ou com diferentes velocidades. Isso leva a uma…

  • 39 Shirts - Deixando a Mozilla

    Em 2001, eu tinha acabado de me formar em uma escola de ensino médio de uma cidade pequena e estava indo para uma faculdade de uma cidade pequena. Encontrei-me no pitoresco laboratório de informática, onde os computadores de baixa qualidade apresentavam dois navegadores: Internet Explorer e Mozilla. Foi nesse laboratório que me apaixonei…

  • Exclusão animada de registros AJAX usando jQuery

    Sou um grande fã do método do WordPress de exclusão de artigos individuais. O usuário clica no link de exclusão, o item de menu fica vermelho e o item desaparece. Veja como obter essa funcionalidade com o jQuery JavaScript. O PHP – Content & Header O trecho a seguir vai para o…

  • Acordeão do MooTools: estilo de mouseover

    Todos adoram o plug-in MooTools Accordion, mas recebo muitas solicitações de leitores que me perguntam como fazer com que cada item do acordeão seja aberto quando o usuário passa o mouse sobre o item, em vez de fazer com que o usuário clique. O senhor tem duas opções: hackear o plug-in original…