Html Can';“得不到”;内容“;扩展页面长度的div
我在谷歌上搜索了这个,并尝试了所有他们建议的方法,但它似乎不起作用 我正在制作一个模板,所以它必须在一个HTML文件中。我猜我的CSS有点乱七八糟,我只是不明白。。。不过我已经扫描过好几次了 问题图片(我希望白色延伸到页面底部;即使没有足够的内容): CSS(还有更多,但我认为这些是唯一重要的): HTMLHtml Can';“得不到”;内容“;扩展页面长度的div,html,css,Html,Css,我在谷歌上搜索了这个,并尝试了所有他们建议的方法,但它似乎不起作用 我正在制作一个模板,所以它必须在一个HTML文件中。我猜我的CSS有点乱七八糟,我只是不明白。。。不过我已经扫描过好几次了 问题图片(我希望白色延伸到页面底部;即使没有足够的内容): CSS(还有更多,但我认为这些是唯一重要的): HTML %SEARCH\u站点% %含量% 您必须移动背景色:白色to#wrapper,它是内容和边栏的容器,用于将整个框背景变为白色 将#sidenav和#content
%SEARCH\u站点%
%含量%
您必须移动背景色:白色
to#wrapper,它是内容和边栏的容器,用于将整个框背景变为白色
将#sidenav和#content更改为display:inline block
,而不是float:left
,以允许#包装器调整到其内容的高度。添加vertical align:top
,这样它们将正确地顶部对齐
#wrapper
{
width: 80%;
margin: auto;
background-color: white;
}
#sidenav
{
width: 20%;
display: inline-block;
vertical-align: top;
background-color: white;
}
#sidenav .nav {
border-bottom-left-radius: 5px;
border-right: 1px solid pink;
}
#content
{
padding: 25px;
width: 80%;
display: inline-block;
vertical-align: top;
margin: auto;
}
您还必须去掉#sidenav上的1px右边框,这将使#wrapper的内容加起来超过其with的100%(因此是wrapp)
将sidenav内容更改为:
<div id="sidenav">
<div class="nav">
...
</div>
</div>
...
您必须移动背景色:白色
to#wrapper,它是内容和边栏的容器,用于将整个框背景变为白色
将#sidenav和#content更改为display:inline block
,而不是float:left
,以允许#包装器调整到其内容的高度。添加vertical align:top
,这样它们将正确地顶部对齐
#wrapper
{
width: 80%;
margin: auto;
background-color: white;
}
#sidenav
{
width: 20%;
display: inline-block;
vertical-align: top;
background-color: white;
}
#sidenav .nav {
border-bottom-left-radius: 5px;
border-right: 1px solid pink;
}
#content
{
padding: 25px;
width: 80%;
display: inline-block;
vertical-align: top;
margin: auto;
}
您还必须去掉#sidenav上的1px右边框,这将使#wrapper的内容加起来超过其with的100%(因此是wrapp)
将sidenav内容更改为:
<div id="sidenav">
<div class="nav">
...
</div>
</div>
...
要解决此问题,您可以更改容器的高度以使用vh
装置
在css中,将主内容容器的高度设置为:
#content
{
height: 100vh;
}
这会将容器的高度设置为视口中浏览器垂直高度的100%,请注意,这可能与旧浏览器存在兼容性问题
在出现问题的情况下,您还需要将父元素高度设置为100vh
,这是因为子元素(您的主要内容)将适合其父元素高度的100%
,这不适合整个页面,要解决此问题,请在css中添加以下内容:
#wrapper
{
height: 100vh;
}
子元素现在可以填充整个屏幕。为了解决这个问题,您可以更改容器的高度以使用
vh
单元
在css中,将主内容容器的高度设置为:
#content
{
height: 100vh;
}
这会将容器的高度设置为视口中浏览器垂直高度的100%,请注意,这可能与旧浏览器存在兼容性问题
在出现问题的情况下,您还需要将父元素高度设置为100vh
,这是因为子元素(您的主要内容)将适合其父元素高度的100%
,这不适合整个页面,要解决此问题,请在css中添加以下内容:
#wrapper
{
height: 100vh;
}
子元素现在可以填充整个屏幕。考虑以下示例 CSS
html,
*
{
边界:0;
框大小:边框框;
保证金:0;
填充:0;
}
#包装纸
{
背景色:红色;
显示器:flex;
最小高度:100vh;
}
#col-1
{
背景颜色:蓝色;
显示:块;
浮动:左;
宽度:25%;
}
#col-2
{
背景颜色:黄色;
显示:块;
浮动:左;
宽度:75%;
}
专栏1
专栏1
专栏1
专栏2
考虑以下示例
CSS
html,
*
{
边界:0;
框大小:边框框;
保证金:0;
填充:0;
}
#包装纸
{
背景色:红色;
显示器:flex;
最小高度:100vh;
}
#col-1
{
背景颜色:蓝色;
显示:块;
浮动:左;
宽度:25%;
}
#col-2
{
背景颜色:黄色;
显示:块;
浮动:左;
宽度:75%;
}
专栏1
专栏1
专栏1
专栏2
你能把它放进一个JSFIDdle吗?你能把它放进一个能按高度工作的JSFIDdle吗;但是现在内容没有集中在页面上。已编辑-请重试。嗯,它现在可以按高度工作。但内容不再正确排列…实际上,包装内容的原因是您的#sidenav上的1px边框。这导致了