Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal é o seguinte, estou com um problema e não consigo resolver de jeito nenhum, já revirei o google e não acho nada relacionado.
Tenho 3 div's alinhadas horizontalmente de um maneira que elas ocupam 100% da tela.
Para calcular o tamanho de cada div faço alguns cálculos em javascript baseado na resolução de tela do usuário.
Se o usuário abre a página com o browser maximizado a visualização do site ocorre normalmente. As 3 div's se mantém alinhadas horizontalmente ocupando 100% da tela.
O problema ocorre se o usuário redimensionar o browser, eu queria que o site continuasse alinhado horizontalmente e apenas aparecesse um scroll para rodar na horizontal, no entanto o que ocorre é que como o espaço disponível diminui as divs começam a ir uma embaixo da outra.
/applications/core/interface/imageproxy/imageproxy.php?img=http://img39.imageshack.us/img39/5624/divsh.png&key=1c4841a465ef8d00ee1f076d6027f893a1c5eef41bfbb684571887b7c0b00a2e" alt="divsh.png" />
Eu consegui resolver o problema adicionando uma posição absoluta para as divs e dando um margin-left, no entanto essa resolução não é muito viável pois perco a possibilidade de aplicar alguns efeitos. Agradeço se alguém puder me ajudar.
Simplifiquei os códigos para o melhor entendimento!:)
HTML:
<div id="main">
<!-- 14.54% -->
<div id="menu"><img src="menu_base.png" class="tamanho"/></div>
<!-- 28.22% -->
<div id="conteudo"><img src="conteudo.png" class="tamanho"/></div>
<!-- 57.24% -->
<div id="imagem"><img src="imagem.png" class="tamanho"/></div>
</div>
CSS:
* {
padding: 0;
margin: 0;
}
#main {
max-height: 950px;
}
#menu {
float: left;
}
#conteudo {
float: left;
}
#imagem {
float: left;
}
.tamanho {
width: 100%;
}
E o javascript também que mostra como faço os cálculos dos tamanhos das divs.
JAVASCRIPT:
function definirTamanhos(){
x = screen.width; // largura
x = x - 20;
document.getElementById("main").style.width = x;
document.getElementById("menu").style.width = Math.floor((x*14.54)/100)+"px";
document.getElementById("conteudo").style.width = Math.floor((x*28.22)/100)+"px";
document.getElementById("imagem").style.width = Math.floor((x*57.54)/100)+"px";
}Carregando comentários...