Je souhaite que le carrousel DIV (s7) s'étende à la hauteur de tout l'écran. Je n'ai aucune idée de pourquoi cela ne réussit pas. Pour voir la page, vous pouvez aller ici .
body {
height: 100%;
color: #FFF;
font: normal 28px/28px'HelveticaWorldRegular', Helvetica, Arial, Sans-Serif;
background: #222 url('') no-repeat center center fixed;
overflow: hidden;
background-size: cover;
margin: 0;
padding: 0;
}
.holder {
height: 100%;
margin: auto;
}
#s7 {
width: 100%;
height: 100%: margin: auto;
overflow: hidden;
z-index: 1;
}
#s7 #posts {
width: 100%;
min-height: 100%;
color: #FFF;
font-size: 13px;
text-align: left;
line-height: 16px;
margin: auto;
background: #AAA;
}
<div class="nav">
<a class="prev2" id="prev2" href="#">
<img src="http://static.tumblr.com/ux4v5bf/ASslogxz4/left.png">
</a>
<a class="next2" id="next2" href="#">
<img src="http://static.tumblr.com/ux4v5bf/swslogxmg/right.png">
</a>
</div>
<div class="holder">
<tr>
<td>
<div id="s7">
{block:Posts}
<div id="posts">
Réponses:
Pour qu'une valeur de pourcentage fonctionne pour la hauteur, la taille du parent doit être déterminée. La seule exception est l' élément racine
<html>
, qui peut être un pourcentage de hauteur. .Donc, vous avez donné à tous vos éléments la hauteur, à l'exception de la
<html>
, donc ce que vous devez faire est d'ajouter ceci:Et votre code devrait bien fonctionner.
Exemple JsFiddle .
la source
<html>
c'est un élément réel - tout comme<p>
ou<img />
? Je pensais que le seul but de<html>
était de définir le début et la fin d'un document HTML. Je veux dire, je pensais que c'était là, pas pour la mise en page, mais juste pour que le navigateur sache quel type de document il regarde? Je suis complètement époustouflé.<html>
balise, et même sans les éléments<head>
or<body>
. Cependant, les spécifications HTML jugent la<html>
balise obligatoire. En bref, oui, c'est un élément à part entière comme tous les autres éléments HTML.<html>
balise est facultative selon les spécifications (par exemple HTML4 et HTML5). Et oui, l'élément est quand même créé.html
etbody
commeheight: 100%
(ainsi que bien sûr le spécifique quediv
je veux hériter de la hauteur à 100%)Puisque personne ne l'a mentionné ..
Approche moderne:
Comme alternative à la définition des deux hauteurs de l'élément
html
/ , vous pouvez également utiliser des longueurs de pourcentage de fenêtre:body
100%
Dans ce cas, vous pouvez utiliser la valeur
100vh
(qui est la hauteur de la fenêtre) - (exemple)La définition d'un
min-height
fonctionne également. (exemple)Ces unités sont prises en charge dans la plupart des navigateurs modernes - une assistance peut être trouvée ici .
la source
height: 100%
ne fonctionne que si l'élément parent a une hauteur définie. Il existe certainement des cas où le parent d'un élément n'a pas de hauteur définie et où les unités de pourcentage de la fenêtre de résolution le résolvent. En d'autres termes, si vous aviez un élément profondément imbriqué, vous pourriez simplement le définir100vh
, et il aurait une hauteur de100%
navigateur. Vous ne voyez peut-être aucun avantage, mais j'ai été dans de nombreux cas où ils étaient la seule solution. Ces unités peuvent ne pas être aussi bénéfiques pour les éléments racinaires tels quehtml
/body
, mais néanmoins, c'est une alternativebody { height: 100vh }
y aura une barre de défilement au chargement initial de la page.height: 100% !important" to each parent til
html` sans succès, je pouvais voir dans le dom que chaque nœud de l'arbre était en fait100%
mais je n'ai pas réussi à définir le 100% dans l'élément souhaité, mais avec le style de la fenêtre d'affichage, c'était facileVous devrez également définir une hauteur de 100% sur l'
html
élément:la source
Sinon, si vous utilisez
position: absolute
alorsheight: 100%
fonctionnera très bien.la source
width:100%;
et le parentposition:relative;
.Vous devriez essayer avec les éléments parents;
Ce sera alors suffisant:
la source
si vous voulez, par exemple, une colonne de gauche (hauteur 100%) et le contenu (hauteur auto) vous pouvez utiliser absolu:
en html:
la source
Ce n'est peut-être pas idéal, mais vous pouvez toujours le faire avec javascript. Ou dans mon cas jQuery
la source
Dans la source de la page, je vois ce qui suit:
Si vous mettez la valeur de hauteur dans la balise, elle l'utilisera à la place de la hauteur définie dans le fichier css.
la source
Si vous positionnez absolument les éléments à l'intérieur du div, vous pouvez régler le rembourrage supérieur et inférieur à 50%.
Donc quelque chose comme ça:
la source
Voici une autre solution pour les personnes qui ne veulent pas utiliser
html, body, .blah { height: 100% }
.la source