Dato questo html:overflow: hidden sul div e corpo, un comportamento diverso
<body>
<div id="a"></div>
<div id="b"></div>
</body>
voglio #b
a riempire tutto lo spazio verticale rimanente del suo blocco contenitore, ho iniziato con questo:
body {
height: 500px;
width: 500px;
overflow: hidden;
}
#a {
height: 100px;
width: 100px;
}
#b {
height: 100%;
width: 100%;
}
Quindi #b
è 100% altezza, il che significa che sta prendendo l'altezza del blocco contenitore principale, ovvero 500px
, il problema è che il overflow: hidden;
sembra non funzionare, #b
non è troncato.
D'altra parte, se mi avvolgo #a
e #b
con un altro div con le stesse proprietà del body
sopra ho il risultato desiderato:
#wrap {
height: 500px;
width: 500px;
overflow: hidden;
}
#a {
height: 100px;
width: 100px;
}
#b {
height: 100%;
width: 100%;
}
con questo html ovviamente:
<body>
<div id="wrap">
<div id="a"></div>
<div id="b"></div>
</div>
</body>
La mia domanda è perché div
e body
sembra avere comportamenti diversi con le stesse proprietà? e c'è un modo per ottenere lo stesso effetto senza il wrapper?
Per illustrare la domanda che ho creato due jsFiddles:
jsFiddle con tag corpo come involucro: http://jsfiddle.net/3AMtG/
jsFiddle con tag div come involucro: http://jsfiddle.net/2QWn3/
Due jsFiddles con le stesse proprietà resa diversa risultati. Perché?
Non riesco a vedere alcuna differenza tra i tuoi due exaples, e questo è forse il punto, immagino che un tag body abbia un valore più basico di un tag div e ogni browser ha il proprio modo di renderare ecc. @Firefox 19.0.2 –