CSS Desenvolvimento HTML

Como resolver o float no próprio elemento

29 de julho de 2019

Como resolver o float no próprio elemento

Antigamente para resolver o float, vulgo não quebrar o layout, era preciso criar um novo elemento apenas para limpar o float, agora com essa técnica não precisamos mais sujar o HTML!

como resolver o float capa

Teoria de como resolver o float

Para resolver este problema com o próprio elemento que tem os floats, nós devemos primeiramente ter uma estrutura de componente

Quer se especializar em HTML e CSS? Veja o nosso catálogo de cursos.

Esta estrutura basicamente consiste em um container, uma div simples, que abrigará estes elementos que possuem float no nosso layout

E então este elemento pai terá um pseudo-elemento :after, que é a chave para resolver o problema

Neste :after vamos adicionar um conteúdo vazio, que simulará a div que adicionaríamos da maneira antiga no HTML e então colocamos um clear:both nele, simples né? 😀

Resolvendo o float na prática

Primeiramente vamos ver como o float pode prejudicar o layout, caso não seja tratado

Segue o código e o resultado:

<!-- HTML -->
<div id="float-container">
    <div class="float-div">
    </div>
    <div class="float-div">
    </div>
</div>
<div id="continuando-layout"></div>

/* CSS */
body {
    margin: 50px;
}

.float-div {
    width: 100px;
    height: 100px;
    background-color: red;
    margin-right: 20px;
    float: left;
}

#continuando-layout {
    height: 50px;
    width: 300px;
    background-color: magenta;
    position: relative;
}

Resultado:

resolvendo o float problema

A div sem float tomou a frente da div com float, e isso é o que acontece quando não tratamos o float corretamente

Agora com a seguinte adição de CSS, veja como o layout se comporta

/* adição de CSS */
#float-container:after {
    content: "";
    display: block;
    clear: both;
}

Resultado:

resolvendo o float solução

Perceba que agora, com a técnica correta o resultado do layout é o esperado do fluxo que o HTML representa, fácil não é? 🙂

Não precisamos mais sujar o HTML com uma div ‘inútil’, deixando assim nosso código mais fácil para uma futura manutenção e também para entender ele

Conclusão

Vimos que a técnica consiste em adicionar um pseudo-elemento :after, no container que abriga os elementos com float

E aí aplicar as regras necessárias do content vazio, para que aí esta mesma div dos floats se encarregue de limpar o float

E por hoje é isso, até o próximo post!

Confira também nosso curso de HTML e CSS gratuito no YouTube clicando aqui! Onde criamos um site do 0 até o resposivo 😀

 

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x