Mise en page CSS pour en-tête fixe et hauteur de contenu de 100%?
Je vais essayer d'obtenir une hauteur fixe-tête et d'une zone de contenu de la remplisse l'écran. Le contenu de la div contient un telerik mvc grille. J'en ai essayé quelques suggestions sur stackoverflow mais le contrôle qui est la zone de contenu semble toujours à la taille incorrecte car elle ne prend pas en compte l'en-tête à hauteur fixe, afin de faire défiler les extra 40px si l'en-tête est 40px. Toutes les suggestions?
<div id="header">
</div>
<div id="content">
<telerik mvc grid control>
</div>
Css
html,body
{
margin:0;
padding:0;
height:100%;
}
#header {
position:absolute;
height: 40px;
left:0;
top:0;
width:100%;
background:green;
}
#content {
position: absolute;
top:40px;
left:0;
width:100%;
height:100%;
background:#eee;
}
Mise à JOUR:
Avait pour réactiver manuellement la taille de la grille sur la charge et de redimensionner la fenêtre.
Ajouter
.ClientEvents(events => events.OnLoad("resizeGrid"))
<script type="text/javascript">
window.onresize = function () {
resizeContentArea($("#Grid")[0]);
}
function resizeGrid(e) {
debugger;
resizeContentArea($("#Grid")[0]);
}
function resizeContentArea(element) {
var newHeight = parseInt($(element).outerHeight(), 10) - parseInt($(".t-grid-header", element).outerHeight(), 10) - parseInt($(".t-grid-pager", element).outerHeight(), 10);
$(".t-grid-content", element).css("height", newHeight + "px");
}
</script>
source d'informationauteur NullReference
Vous devez vous connecter pour publier un commentaire.
DÉMO
HTML
CSS
Vous pouvez placer le
#header element
à l'intérieur de la#content element
le contenu de l'élément va prendre 100% de la hauteur.Voici un exemple, en HTML:
CSS:
Démo:
http://jsfiddle.net/Rz2tN/
Avec
box-sizing
vous pouvez faire commehttp://jsfiddle.net/Wener/Vat4C/1/
Peu importe l'en-tête est dans du papier d'emballage ou de wrapper, il va fonctionner.
Seulement ajouter :
C'est plus souple, la situation n'est pas absolue, mais il faut le
box-sizing
propriété.Sur le
box-sizing
j'ai moins de fonction que le daim:Jeu de l'extérieur pour être à 100% de la hauteur, à l'intérieur de rendre votre fixe avec en-tête, auto et de la hauteur du contenu devrait suffire.
de fixer le défilement, jetez un oeil à la dépassement de propriété. visible permettra d'éviter le défilement.
Mettre un 25px haut de la marge sur le div du contenu et assurez-vous que le contenu de la div ne pas inclure l'en-tête.
Si le contenu de la div doit inclure l'en-tête, créer un nouveau div pour votre grille à l'aide des mêmes propriétés énoncées ci-dessus.
De Défilement Verticale, nous pouvons utiliser la commande suivante et pour de défilement horizontale, il suffit d'utiliser un div
ajouter le suivant CSS
C'est un travail dans Firefox et les autres navigateurs. Pour IE suffit d'utiliser le code CSS suivant
C'est une solution très Simple et je pense que chacun d'en profiter.