[Resolvido] Problema com alinhamento interno DIV

4 respostas
D

Pessoal, pesquisei na net e o resultado foi este.

<style type="text/css">
#corpo 
{
	height: 190px;
	vertical-align: middle;
	display:table-cell;
}
</style>
<div id="corpo">corpo</div>

Seguinte… eu quero que dentro da Div ela tenha alinhamento centralizado na vertical. Porque nao funciona mesmo eu mudando o Display para table-cell???
:frowning:

4 Respostas

M

Olá denisspitfire,

Eu nao conheço esse tipo de display (table-cell). Mas quando eu preciso fazer isso utilizo a seguiinte forma:

<style type="text/css">  
   #corpo {
      height: 190px;  
      position:absolute;
      top: 50%;
      margin-top: -95px; //Metade do seu height
   }
<body>
    <div id="corpo">Centralizando</div>
</body>

obs: Eh importante lembrar que caso o seu div não seja filho direto de body, vc tem q colocar no pai dele o position:relative, caso contrario seu elemento div#corpo será centralizado de acordo com o elemento body do html. Assim:

<div style="position:relative">
   <div id="corpo">Centralizando</div>
</div>

Espero que tenha te ajudado

Abraçoss !

R

Eu já enfrentei esse seu problema e não encontrei uma solução elegante para essa situação.

Costumo fazer da seguinte maneira:

<html>
	<head>
		<title></title>
		<style type="text/css">
		#corpo
		{
		    border: 1px solid red;
		    height: 190px;
		    vertical-align: middle;
		    display:table-cell;
		}
		</style>
	</head>
	<body>
		<div id="corpo">
			<table border="1" width="100%" height="100%">
				<tr>
					<td valign="middle">
						corpo
					</td>
				</tr>
			</table>
		</div>
	</body>
</html>
D

0.0 simplesmente agora funciona exatamente como o post anterior…

M

Bleza,

Mas não muito de acordo com as recomendações do W3C !

Mass shoow

Abraçãaao !

Criado 7 de novembro de 2011
Ultima resposta 7 de nov. de 2011
Respostas 4
Participantes 3