Posicionamento CSS
Esquema normal ou fluxo normal é o esquema padrão de posicionamento dos boxe. Segundo as regras desse esquema, elementos de nível de bloco são colocados em sequencia vertical, dentro do elemento que os contém e de cima para baixo, um após o outro na ordem em que aparecem no fluxo do documento, isto é, na marcação HTML. DIV 1
DIV 2 DIV 3 DIV 4 DIV 5
A distância entre cada elemento nível de bloco adjacente é determinada pela propriedade margin. Margens verticais entre blocos adjacente sempre se sobrepõem collapse, ou seja, em lugar de somar as margens será utilizada a margem maior para definir a distancia entre os boxes.
Para elementos inline, a formatação se dá em linha (na horizontal) e dentro do bloco que contém o box inline. A largura do box inline é limitada pela propriedade width do seu bloco container. Excedida aquela largura, o conteúdo do box inline passa para linha de seguinte.
HTML Este texto tem tres elementos inline
p {
}
CSS width:30px;
Este texto
tem tres
eleme ntos inline
Este texto tem tres elementos inline
O esquema float de posicionamento é definido pela propriedade CSS float e seus valores left, right, none e inherit (herdado) . Outra propriedade usada nesse esquema é a propriedade clear e seus valores none, left, right, both e inherit (herdado). Segundo as regras desse esquema, o box é retirado de sua posição de fluxo do documento e flutuado para a direita ou para a esquerda. O espaço original ocupado pelo box não será deixado livre, sendo preenchido pelo elemento que lhe segue no fluxo do documento.
Considere o código:
HTML Div 1 Div 2 Div 3 Div 4 Div 5 Div 6 CSS div { border: solid #000 2px; margin: 5px; padding: 20px 125px; width: 50px; height:20px; }
Neste caso temos o esquema norma, onde um boxe aparece em baixo do outro.
Se adicionamos o esquema float em todos os box eles serão posicionados uma a esqueda do outros. Considere adicionar o código em vermelho.
CSS div { border: solid #000 2px; margin: 5px; padding: 20px 125px; width: 50px; height:20px; float: left; }
Considere o seguinte código:
CSS div { border: solid #000 2px; margin: 10px; } .um { background-color:#FFFF00; width:100px; height: 60px; } .dois { background-color:#00FF00; width:200px; height: 100px; }
.tres { background-color:#0066FF; width:90px; height: 30px; }
HTML Div 1 Div 2 Div 3
O código anterior cria a seguinte estrutura:
• Se aplicarmos a propriedade float: right no div um teríamos o seguinte resultado.
Verifiquem que o div 1 foi posicionado a direita e liberou o espaco que ocupava, assim o div 2 passou a ocupar o seu lugar.
Neste exemplo aplicamos a propriedade float: left também para o div1. Veja que o div 1 continua posicionado a esquerda, porem o espaço que ocupava foi liberado, fazendo com que a div 2 ficasse sobreposta.
Vamos tomar como exemplo uma imagem dentro de um paragrafo.
HTML As borboletas colocam ovos. Esses ovos são germinados e se nascem as lagartas, após muito comerem as folhas as lagartas viram casulos e ocorre a metamorfose, se transforma em borboletas.As borboletas colocam ovos. Esses ovos são germinados e se nascem as lagartas, após muito comerem as folhas as lagartas viram casulos e ocorre a metamorfose, se transforma em borboletas.
•
Como resultado teríamos isso. Vejam que o texto esta afastado da borda da página Poderiamos resolver isso adicionando a propriedade float a imagem. Exemplo
• Css img { floaf: left; }
Caso fosse definido como right a imagem ficaria alinhada a direita.
Também é possivel fazer citações utilizando a propriedade float. Considere o código HTML a seguir.
As borboletas colocam ovos. Esses ovos são germinados e se nascem as lagartas, após muito comerem as folhas as lagartas viram casulos e ocorre a metamorfose, se transforma em borboletas.As borboletas colocam ovos. Esses ovos são germinados e se nascem as lagartas Após muito comerem as folhas as lagartas viram casulos e ocorre a metamorfose, se transforma em borboletas. Após muito comerem as folhas as lagartas viram casulos e ocorre a metamorfose, se transforma em borboletas.