Como posso usar o vertical-align
, bem como float
nas div
propriedades? A vertical-align
fina funciona se eu não usar o float
. Mas se eu usar o flutuador, ele não funciona. É importante para mim usar float:right
para a última div.
Estou tentando seguir, se você remover o float de todos os div's, vai funcionar bem:
<div class="wrap">
<div class="left">First div, float left, has more text.</div>
<div class="left2">Second div, float left </div>
<div class="right">Third div, float right</div>
</div>
CSS:
.wrap{
width: 500px;
overflow:hidden;
background: pink;
}
.left {
width: 150px;
margin-right: 10px;
background: yellow;
float:left;
vertical-align: middle;
display:inline-block
}
.left2 {
width: 150px;
margin-right: 10px;
background: aqua;
float:left;
vertical-align: middle;
display:inline-block
}
.right{
width: 150px;
background: orange;
float:right;
vertical-align: middle;
display:inline-block
}
html
css
vertical-alignment
user1355300
fonte
fonte
line-height
com o mesmo valor para todos os elementos, overtical-align
será inútil. ( jsfiddle.net/VBR5J/448 )<button>
elementos. Em vez de<span>
é um<button>
.div
) e não aos elementos individuais. A solução correcta - capaz de alinhamento vertical elementos flutuantes - é colocar ambosvertical-align
eline-height
no recipiente:<div style="border: 1px solid red; vertical-align:middle; line-height: 38px;">
. REMOVERvertical-align:middle; line-height: 38px;
dos estilos de span.Editado:
A propriedade CSS vertical-align especifica o alinhamento vertical de um elemento inline, inline-block ou table-cell.
Leia este artigo para entender o alinhamento vertical
fonte
inline-block
elementos também.O alinhamento vertical não funciona com elementos flutuantes, de fato. Isso ocorre porque a flutuação retira o elemento do fluxo normal do documento. Você pode querer usar outras técnicas de alinhamento vertical, como as baseadas em transform, display: table, posicionamento absoluto, line-height, js (último recurso talvez) ou mesmo a velha tabela html simples (talvez a primeira escolha se o conteúdo for realmente tabular). Você verá que há um debate acalorado sobre esse assunto.
No entanto, é assim que você pode alinhar verticalmente SEUS 3 divs:
.wrap{ width: 500px; overflow:hidden; background: pink; } .left { width: 150px; margin-right: 10px; background: yellow; display:inline-block; vertical-align: middle; } .left2 { width: 150px; margin-right: 10px; background: aqua; display:inline-block; vertical-align: middle; } .right{ width: 150px; background: orange; display:inline-block; vertical-align: middle; }
Não sei por que você precisava de largura fixa, display: bloco embutido e flutuante.
fonte