J'ai une page avec des divs comme ci-dessous
<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>
avec un style comme;
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;
}
Je veux ajuster la hauteur de div B2
pour remplir (ou étirer à) la div entière B
(marquée d'une bordure verte) et ne veux pas traverser le div de pied de page D. Voici une démo de violon (mise à jour). Comment puis-je resoudre ceci??
float
parent différent de celui-ci?Supposons que vous ayez
Avec le CSS normal, vous pouvez faire ce qui suit. Voir une application fonctionnelle https://github.com/onmyway133/Lyrics/blob/master/index.html
Avec flexbox, vous pouvez
la source
http://jsfiddle.net/QWDxr/1/
Utilisez la propriété "min-height"
Méfiez-vous des rembourrages, des marges et des bordures :)
la source
B
div id= D
. Je ne veux pas qu'il croise div dheight:100%
il manque un point-virgule pour le#B2
style.Ce qui convenait à mon objectif était de créer un div qui était toujours limité dans la fenêtre globale du navigateur par un montant fixe.
Ce qui a fonctionné, au moins sur Firefox, c'est
<div style="position: absolute; top: 127px; left: 75px;right: 75px; bottom: 50px;">
Dans la mesure où la fenêtre réelle n'est pas forcée de défiler, le div conserve ses limites par rapport au bord de la fenêtre pendant tout le redimensionnement.
J'espère que cela fera gagner du temps à quelqu'un.
la source
Si vous comptez utiliser B2 à des fins de style, vous pouvez essayer ce "hack"
jsFiddle
la source
margin-bottom: -9999px;
. Vous manquez le moins.Position du conteneur B2 relative
Position supérieure B2 + de la hauteur restante
Hauteur B2 + hauteur B1 ou hauteur restante
la source
J'utilise
height: stretch;
. Ici vous trouverez des détails sur l' utilisation.la source
Je le résoudrais avec une solution javascript (jQUery) si les tailles peuvent varier.
la source
javascript
ou n'est-elle pasjquery
suffisante?