Jeu de div pour remplir le reste de la hauteur de façon dynamique?
Donc. Mon code est quelque chose le long des lignes de
<html>
<body>
<div id="header" style="width:100%;min-height:0;display:block;background-color:#000">
<img src="header_image.svg" />
</div>
<div id="content" style"display:block">
Some content
</div>
</body>
</html>
J'ai un svg dans l'en-tête que j'ai réglé de sorte qu'il corresponde à la largeur de la fenêtre et la hauteur des échelles de préserver le svg. Puis-je avoir le reste de la page dans une autre div. Je voudrais en sorte que la page n'a pas de défilement, et que ce contenu div remplit à monter le reste de la fenêtre. Le problème est que, depuis la hauteur de l'en-tête change avec la largeur de la fenêtre, je ne peux pas définir le contenu de la div en pixels ou en pourcentage, ou quelque chose de concret.
Comment puis-je régler la hauteur de la div du contenu de modifier dynamiquement avec la hauteur de l'en-tête?
Je ne connais pas le Javascript ou JQuery (je sais, je sais - je), mais, idéalement, la hauteur de la div du contenu serait défini pour être quelque chose comme la hauteur:(hauteur de la fenêtre d'affichage)-(hauteur de la tête), mais je n'ai pas la moindre idée de comment faire cela.
Vous devez vous connecter pour publier un commentaire.
vous n'avez pas à utiliser un script pour ça.
et aussi: je vous recommande de séparer votre style de votre balise.
HTML
ajouter à votre CSS
Travail Violon
Testé sur: IE10, IE9, IE8, FF, Chrome.
Explication:
par pseudo-élément, je suis de la création d'un élément flottant (sans contenu ou de la largeur, de sorte qu'il est invisible)
qui a 100% de la hauteur du conteneur.
et avec un autre pseudo-élément je crée une div juste après la
content
div. (sans contenu, de sorte qu'il est aussi invisible) qui a pour attribut. donc, il doit être en dessous de la flottait celui que j'ai créé précédemment. faire de lacontent
d'aller tout le chemin vers le bas.link
s tags.a
de balises et de ne pas leur donner 1005 hauteur.overflow: hidden
sur lecontent
vis de cette. Aucune idée pourquoi?overflow:hidden;
les causes de la div pour vraiment calculer son espace. si vous souhaitez appliqueroverflow:hidden;
pour le contenu, il suffit d'ajouter une autre couche (c'est un peu compliqué) voici un violonflex
, nous n'avons pas besoin de ces tours.