(X)HTML, CSS, JavaScript, AJax & PHP
RSS icon Email icon Bullet (black)
  • Problemas com floats - Desobstruindo floats

    Posted on dezembro 14th, 2008 Carlos Roberto No comments

    Vamos ver aqui como resolver o seguinte problema: floats obstruidos.

    O que é isso?

    Quando temos um ou mais elementos flutuantes dentro de um container alguns navegadores não conseguem distinguir mais a altura dos elementos flutuantes fazendo com que o container se contrai-a.

    Veja o exemplo na figura abaixo:

    A div1 é container da div2 e div3 que estão flutuando, note que a div1 se contraiu ficando menor que a div2 ou div3.

    div1

    O código que resultaria isso seria algo assim:

    xhtml:

    
    <div id="div1">
    <div id="div2"></div>
    <div id="div3"></div>
    </div>
    

    css

    #div1{
    width:600px;
    }
    
    #div2{
    width:250px;
    float:right;
    }
    
    #div3{
    width:250px;
    float:left;
    }
    

    Para resolver esse problema podemos criar uma div abaixo da ultima div que flutua e colocar nela o estilo clear:both, ficando assim:

    xhtml:

    <div id="div1">
    <div id="div2"></div>
    <div id="div3"></div>
    <div class="clear"></div>
    </div>
    

    css

    #div1{
    width:600px;
    }
    
    #div2{
    width:250px;
    float:right;
    }
    
    #div3{
    width:250px;
    float:left;
    }
    
    .clear{
    clear:both;
    }
    

    Na visualização:

    div2

    E pronto, problema resolvido.

    É muito comum iniciantes em layouts com css terem esse problema que geralmete pode ser resolvido sem marcação extra adicionando o clear:both no rodape da página.

    • Share/Save/Bookmark

    Posts relacionados

    1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (3 votes, average: 5,00 out of 5)
    Loading ... Loading ...

    Leave a Reply

    CAPTCHA image