2016-11-16 193 views
-1

我正在使用我的新网站,并且我有4个部分的标题,导航,主要和页脚。CSS 100%高度不工作,但身体是100%高度?

如果在垂直方向上缩小窗口,则导航栏高度将正常工作。

working

但是,如果你的水平侧的小窗口,所以内容会下降。

not working

我不明白为什么导航栏是不是100%了吗?身体是100%,导航栏应该有相同的高度,但它不是? body is 100%

nav is 100%

我试图100vh,但它不工作要么,我认为100%应该工作?

+0

请在此处添加有意义的代码和问题描述。请不要链接到需要修复的网站 - 否则,一旦 问题得到解决,或者您链接到的网站无法访问,此问题将对未来的访问者失去任何价值。发布 [最小,完整和可验证示例(MCVE)](http://stackoverflow.com/help/mcve) 显示您的问题将帮助您获得更好的答案。欲了解更多信息,请参阅 [我网站上的某些内容不起作用。我可以只粘贴一个链接吗?](http://meta.stackexchange.com/questions/125997/) 谢谢! – j08691

+0

链接:-http://stackoverflow.com/questions/6654958/make-body-have-100-of-the-browser-height –

+0

@Raziasultana不适合我。页脚不在底部了。 – Dylan

回答

2

让你的<nav>的位置fixed

用途:

nav { 
    position: fixed; 
} 

相反的:

nav { 
    position: absolute; 
} 

希望这有助于!

+0

简单,但它的作品!谢谢 – Dylan

+0

@迪兰它是我的荣幸!如果这真的帮助你,请接受我的答案。 –

+0

是的只需59秒,等待 – Dylan

0

尝试: -

html { 
    height: 100%; 
} 
body { 
    min-height: 100%; 
} 
+0

这个工程,但页脚不在底部了。但是谢谢! – Dylan

0

你尝试添加页面包装?像这样

<body> 
    <div class="page-wrapper"> 
     <header></header> 
     <nav></nav> 
     <main> 
      <p>...</p> 
     </main> 
     <footer></footer> 
    </div> 
</body> 

.page-wrapper { 
    postion:relative; 
    display: block; 
    width: 100%; 
    height: 100%; 
} 
0

至体上HTML获取100%的高度需要有100%的高度首先, 首先让你的HTML身高100%;

html { 
     height:100%; 
} 

然后身体:

body { 
height:100%; 
} 

终于元素,你希望它是100%HEIGH

nav { 
height:100%; 
} 
+0

是的,HTML和身体已经100% – Dylan

0

使导航position: fixed;

html, body, div, span, applet, object, iframe, 
 
h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
 
a, abbr, acronym, address, big, cite, code, 
 
del, dfn, em, img, ins, kbd, q, s, samp, 
 
small, strike, strong, sub, sup, tt, var, 
 
b, u, i, center, 
 
dl, dt, dd, ol, ul, li, 
 
fieldset, form, label, legend, 
 
table, caption, tbody, tfoot, thead, tr, th, td, 
 
article, aside, canvas, details, embed, 
 
figure, figcaption, footer, header, hgroup, 
 
menu, nav, output, ruby, section, summary, 
 
time, mark, audio, video { 
 
    margin: 0; 
 
    padding: 0; 
 
    border: 0; 
 
    font-size: 100%; 
 
    font: inherit; 
 
    vertical-align: baseline; } 
 

 
/* HTML5 display-role reset for older browsers */ 
 
article, aside, details, figcaption, figure, 
 
footer, header, hgroup, menu, nav, section { 
 
    display: block; } 
 

 
body { 
 
    line-height: 1; } 
 

 
ol, ul { 
 
    list-style: none; } 
 

 
blockquote, q { 
 
    quotes: none; } 
 

 
blockquote:before, blockquote:after, 
 
q:before, q:after { 
 
    content: ''; 
 
    content: none; } 
 

 
table { 
 
    border-collapse: collapse; 
 
    border-spacing: 0; } 
 

 
html, body { 
 
    width: 100%; 
 
    height: 100%; 
 
    overflow: auto; 
 
    background-color: #f9f9f9; } 
 

 
body { 
 
    position: relative; } 
 

 
header { 
 
    width: 100%; 
 
    height: 55px; 
 
    background-color: #47aadd; 
 
    position: relative; 
 
    z-index: 101; } 
 

 
nav { 
 
    width: 100px; 
 
    height: 100%; 
 
    background-color: #363636; 
 
    float: left; 
 
    position: fixed; 
 
    top: 0; 
 
    left: 0; 
 
    z-index: 100; } 
 

 
footer { 
 
    width: 100%; 
 
    height: 35px; 
 
    background-color: #47aadd; 
 
    float: left; 
 
    position: relative; } 
 

 
main { 
 
    max-width: calc(100% - 100px); 
 
    min-height: calc(100% - 90px); 
 
    padding: 25px; 
 
    float: right; 
 
    position: relative; 
 
    overflow:auto; 
 

 
} 
 

 
*, *:before, *:after { 
 
    box-sizing: border-box; }
<html lang="en"><head> 
 
    <meta charset="UTF-8"> 
 
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 
 
    <meta http-equiv="X-UA-Compatible" content="ie=edge"> 
 
    <title>Document</title> 
 

 
</head> 
 
<body> 
 
    <header></header> 
 
    <nav></nav> 
 
    <main> 
 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum commodo dignissim risus, at mollis dui fringilla vitae. Vestibulum cursus consectetur nunc, ut aliquam urna rutrum a. Proin sem nunc, semper a sem et, blandit commodo diam. Nam rhoncus lobortis ligula quis eleifend. Aliquam facilisis tempor lorem, nec tristique mi condimentum nec. Ut in semper odio, in fermentum nibh. Aenean feugiat massa risus, vel tempor leo feugiat non. Cras a iaculis orci. 
 

 
      Sed maximus nunc eu gravida sagittis. Ut et justo ut est aliquam posuere. Nullam nisi neque, laoreet vel velit vel, scelerisque condimentum lectus. Nam dolor nisl, consequat vitae elementum eget, eleifend quis felis. Nullam vel accumsan ex, eget elementum magna. Sed ut erat fermentum, efficitur nibh tempus, mollis nibh. Vivamus interdum nisi sem, ac sollicitudin sem faucibus eget. Nunc ut leo eget enim posuere luctus. In hac habitasse platea dictumst. Ut condimentum tincidunt lorem, eget eleifend mi malesuada eu. Nam porttitor mi a augue rutrum mattis. Sed pellentesque vitae tortor ut pulvinar. Nam eget tortor tellus. 
 

 
      Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam tristique eros nisl, quis commodo augue gravida nec. Aenean vel ornare quam. Donec commodo purus et suscipit fringilla. Sed ultrices justo vitae lacus egestas malesuada. Vivamus ante dui, consectetur sit amet fringilla vitae, interdum dictum enim. In congue sem diam. Suspendisse eros ligula, porta vel tincidunt vitae, condimentum a nisl. Vestibulum eget tristique quam, ut mollis nisl. Integer condimentum tincidunt est, in viverra ipsum ullamcorper ut. Morbi molestie, lectus sit amet finibus varius, libero nunc vestibulum neque, id luctus sapien ante ut justo. Suspendisse nisl orci, ultrices in magna et, dictum congue nisl. In at vestibulum velit. Nulla sed diam ex. Pellentesque a posuere nibh, sit amet vulputate sem. 
 

 
      Duis id mollis est. Duis tellus odio, aliquet at nibh eu, tristique consequat nunc. Nullam consequat sapien eget odio tempor, vel sagittis turpis aliquet. Maecenas id nisl euismod, feugiat dui at, vestibulum tortor. Phasellus at sem commodo ligula semper gravida. Duis sapien orci, blandit id viverra quis, venenatis sed est. Duis urna magna, hendrerit id quam pellentesque, posuere suscipit metus. Donec laoreet commodo odio sit amet consequat. 
 

 
      Pellentesque sem dolor, fringilla ac eros nec, commodo maximus turpis. Proin posuere ut metus mollis porttitor. Pellentesque pellentesque pulvinar lobortis. Curabitur mollis dolor eu sapien ullamcorper, et tristique felis tempus. Cras vulputate neque eget tristique imperdiet. Proin lobortis luctus sem, ac ullamcorper sem eleifend nec. Aliquam vehicula ante non enim sodales, id volutpat libero dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis accumsan dolor nec felis viverra vehicula. Nam ut aliquam mauris. Maecenas vitae purus ligula.</p> 
 
    </main> 
 
    <footer></footer> 
 

 
</body></html>

+0

谢谢,但Saurav Rastogi已经给出了这个答案。 – Dylan