2016-11-09 23 views
1

我正在寻找更好的解决方案,没有足够的内容填充屏幕的问题。拉伸容器底部,但允许它扩展如果更多的内容

通常情况下,如果你想填充屏幕,你可以使HTML,身高100%,然后你的容器100%或只使用100vh,就像我在下面的JSFiddle。

问题是如果内容最终延伸超过屏幕100%的高度,它会被切断。

我想知道是否有一种方法(可能与flexbox),你可以有100%的高度,但如果内容超过100%的容器扩大的规模。

html, body 
 
{ 
 
    padding: 0; 
 
    margin: 0; 
 
} 
 

 
.content 
 
{ 
 
    background: grey; 
 
    /* height: 100vh; - this works but if content goes past 100vh it gets cut off */ 
 
}
<div class="content"> 
 
    <span> 
 
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
 
    </span> 
 
</div>

回答

1

围绕content要应用使用的容器和display: flex现在content可以由flexbox - 见下面的演示和updated fiddle

html, 
 
body { 
 
    padding: 0; 
 
    margin: 0; 
 
} 
 

 
.wrapper { 
 
    min-height: 100vh; 
 
    display: flex; 
 
} 
 

 
.content { 
 
    background: grey; 
 
    display: flex; 
 
    flex-direction: column; 
 
}
<div class="wrapper"> 
 
    <div class="content"> 
 
    <div> 
 
     Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor 
 
     in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
 
    </div> 
 
    <div> 
 
     Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor 
 
     in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
 
    </div> 
 
    <div> 
 
     Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor 
 
     in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
 
    </div> 
 
    </div> 
 
</div>

1

你只是缺少overflow: auto;.content DIV

Your Fiddle updated

body { 
    padding: 0; 
    margin: 0; 
    height: 100%; 
} 

.content { 
    background: grey; 
    height: 100%; 
    overflow: auto; 
} 
+0

良好的解决方案,但是你得到一个滚动条,这不是很大的用户界面。 –

+0

如果内容扩展div高度滚动肯定会出现,无论你如何做:) –

+0

嗨Nikhil,如果你看看上面的flexbox解决方案,它的工作原理没有滚动条。 感谢您的解决方案以及它的帮助。 –