Domine float e clear: o guia completo de CSS antigo

Neste tutorial, vamos explorar duas propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. clássicas do CSS que, por muitos anos, foram a base do layout em páginas web: float e clear. Apesar de hoje em dia existirem técnicas mais modernas, como FlexboxFundamentos do Flexbox: display: flex, flex-direction, flex-wrapFundamentos do Flexbox: display: flex, flex-direction, flex-wrapDescubra como o Flexbox revoluciona seus layouts com display flex, flex-direction e flex-wrap. Aprenda a criar designs responsivos e organizados. e CSS GridIntrodução ao Grid: display: grid, grid-template-columns/rowsIntrodução ao Grid: display: grid, grid-template-columns/rowsAprenda os fundamentos do CSS Grid e transforme seus projetos com layouts responsivos e organizados, usando técnicas modernas e práticas., o entendimento correto de float e clear é fundamental para manutenção de códigos mais antigos e para compreender o funcionamento histórico do CSSO que é CSS?O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade..

Entendendo o Contexto de Float🔗

Originalmente, a propriedadeClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. float surgiu para permitir que imagens ficassem posicionadas à esquerda ou à direita do texto, de modo que o texto fluísse ao redor desses elementosTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis.. Com o tempo, float passou a ser utilizado como estratégia de criação de colunas e layouts responsivosLayouts Responsivos com HTML e CSSLayouts Responsivos com HTML e CSSAprenda a criar layouts responsivos com HTML, CSS e Flexbox. Utilize unidades fluidas e media queries para otimizar sites em todos os dispositivos.. Embora não seja a forma mais prática hoje em dia, ainda é comum encontrar páginas que se baseiam em comportamento de float.

Sintaxe Básica

elemento {
  float: left;  /* Ou right, none */
}

Exemplo Rápido

Imagine que queremos colocar duas caixas lado a lado, cada uma ocupando metade da larguraSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. da página:

<div class="box-esquerda">Conteúdo da Caixa Esquerda</div>
<div class="box-direita">Conteúdo da Caixa Direita</div>
.box-esquerda {
  float: left;
  width: 50%;
  background-color: #f0f0f0;
}
.box-direita {
  float: right;
  width: 50%;
  background-color: #e0e0e0;
}

O float faz com que cada caixa “flutue” para um dos lados, preparando o cenário para dividir o espaçamento horizontal.

Usando Clear para Limpar Flutuações🔗

Quando usamos float, os elementos “fora do fluxo” podem fazer com que o contêiner que os envolve fique “colapsado” ou que outros itens do layout se sobreponham. É aí que entra a propriedadeClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. clear. Ela evita que elementos flutuem ao lado de elementosTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. anteriores.

elemento-que-segue {
  clear: left;  /* Ou right, both, none */
}

Exemplo Curto

Suponha que após duas caixas flutuando, você queira iniciar um rodapé sempre abaixo delas:

<div class="rodape">Rodapé aqui</div>
.rodape {
  clear: both;
  background-color: #ccc;
  padding: 10px;
  text-align: center;
}

Neste caso, clear: both garante que o rodapé não se alinhe ao lado de nenhuma caixa flutuada, “desobstruindo” a área flutuante.

O Problema do Colapso e a Técnica Clearfix🔗

É comum que o elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. que contém itens flutuados perca sua altura aparente, pois quando os filhos estão em float, muitas vezes não “empurram” o contêiner verticalmente. Para resolver esse problema, convencionou-se usar uma classeAtributos HTML: `id`, `class`, `style`, `data-*`Atributos HTML: `id`, `class`, `style`, `data-*`Aprenda a aplicar atributos id, class, style e data-* no HTML para organizar, estilizar e dinamizar sua página com praticidade e eficiência. conhecida como clearfix.

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

Podemos, então, aplicar .clearfix ao contêiner que precisa se autoajustar ao conteúdo flutuado:

<div class="container clearfix">
  <div class="box-esquerda">Conteúdo</div>
  <div class="box-direita">Conteúdo</div>
</div>

A pseudoclasse ::after cria um elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. invisível no final do contêiner, forçando a limpeza das flutuações (clear: both), de modo que o contêiner envolva corretamente as caixas internas.

Conclusão🔗

O uso de float e clear marcou uma época em que layouts complexos dependiam dessas propriedades para organizar elementos lado a lado e limpar flutuações. Hoje, existem soluções mais avançadas, porém entender o funcionamento dessas propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. continua essencial para:

Apesar de existirem alternativas mais modernas, o estudo de float e clear permanece um passo importante!important e Boas Práticas!important e Boas PráticasDescubra como o !important afeta a cascata do CSS e aprenda boas práticas para evitar conflitos, facilitando a manutenção e depuração do código. no domínio do CSS, garantindo que você possa lidar com qualquer projeto ou código que encontre no seu dia a dia.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

  • DevDocs agrega documentação CSS de forma organizada, útil para consultar propriedades específicas como float e clear: devdocs.io/css/
  • MDN Web Docs fornece documentação detalhada sobre CSS, incluindo propriedades como float e clear: developer.mozilla.org/pt-BR/docs/Web/CSS
  • W3Schools oferece tutoriais e exemplos práticos sobre CSS, fundamental para entender conceitos como float e clear: www.w3schools.com/css/

Compartilhar artigo

Artigos Relacionados