Eu tenho uma página com divs como abaixo
<div id="container">
<div id="A">
</div>
<div id="B">
<div id="B1"></div>
<div id="B2">B2</div>
</div>
<div id="C"></div>
<div id="D">
</div>
</div>
com estilo como;
html, body {
margin: 0;
padding: 0;
border: 0;
}
#B, #C, #D {
position: absolute;
}
#A{
top: 0;
width: 100%;
height: 35px;
background-color: #99CC00;
}
#B {
top: 35px;
width: 200px;
bottom: 35px;
background-color: #999999;
z-index:100;
}
#B2 {
margin-top: -35px;
bottom: 0;
background-color: #FFFFFF;
width: 200px;
overflow: scroll;
}
#B1 {
height: 35px;
width: 35px;
margin-left: 200px;
background-color: #CC0066;
}
#C {
top: 35px;
left: 200px;
right: 0;
bottom: 35px;
background-color: #CCCCCC;
}
#D {
bottom: 0;
width: 100%;
height: 35px;
background-color: #3399FF;
}
Quero ajustar a altura do div B2
para preencher (ou esticar para) todo o div B
(marcado com uma borda verde) e não quero cruzar o div D. do rodapé. Aqui está uma demonstração de violino funcional (atualizada). Como posso resolver isso??
float
pai diferente do que é?Suponha que você tenha
Com CSS normal, você pode fazer o seguinte. Veja um aplicativo funcional https://github.com/onmyway133/L cycling/ blob/ master/ index.html
Com o flexbox, você pode
fonte
http://jsfiddle.net/QWDxr/1/
Use a propriedade "min-height"
Tenha cuidado com preenchimentos, margens e bordas :)
fonte
B
div id= D
. Eu não quero cruzar div dheight:100%
está faltando um ponto e vírgula para o#B2
estilo.O que convinha ao meu objetivo era criar um div que sempre estava limitado pela janela geral do navegador por um valor fixo.
O que funcionou, pelo menos no Firefox, foi este
<div style="position: absolute; top: 127px; left: 75px;right: 75px; bottom: 50px;">
Na medida em que a janela real não é forçada a rolar, o div preserva seus limites para a borda da janela durante todo o redimensionamento.
Espero que isso economize algum tempo.
fonte
Se você vai usar o B2 para fins de estilo, você pode tentar este "hack"
jsFiddle
fonte
margin-bottom: -9999px;
. Você está perdendo o menos.Posição relativa do contêiner B2
Posição superior B2 + da altura restante
Altura de B2 + altura B1 ou altura restante
fonte
Eu uso
height: stretch;
. Aqui você pode encontrar alguns detalhes sobre o uso.fonte
Eu resolveria isso com uma solução javascript (jQUery) se os tamanhos podem variar.
fonte
javascript
ou não éjquery
suficiente?