HTML5/CSS全高布局
好的,这是我的基本网站结构:HTML5/CSS全高布局,css,html,layout,alignment,Css,Html,Layout,Alignment,好的,这是我的基本网站结构: <body> <div id="wrapper"> <header><a href="/"> </a></header> <nav> <ul> <li><a href="...">...</a></li>
<body>
<div id="wrapper">
<header><a href="/"> </a></header>
<nav>
<ul>
<li><a href="...">...</a></li>
<li><a href="...">...</a></li>
<li><a href="...">...</a></li>
</ul>
</nav>
<div id="content"></div>
<footer><a href="/"> </a></footer>
</div>
</body>
这就是我想要实现的(最好不要使用javascript黑客):
div#content
的最小高度应为X像素,但如果不这样做,则应尽可能扩展页面内容div#wrapper
应该拉伸以填充整个视口高度,而div#content
是拉伸以填充的灵活部分正如你所看到的,包装不是拉伸来填充浏览器视口,因此,页脚(底部的黑条)浮动在页面的中间。
你能帮帮我吗?css3附带了一个高度和宽度单位,很多人并不真正使用或了解它。vw和vh,表示视口宽度和视口高度。你应该使用它们。如果你想让你的一个div达到全高,那么设置高度:100vh,如果它是一个图像,并且你不想它被垂直挤压,则设置宽度:auto。我经常使用大众和vh。vw最大,甚至是字体大小我将使用字体大小:2vw或类似的,1.6或另一个小数点,这样无论设备的宽度是多少,它将始终是2个视口宽度(2vw)。玩转它,你会找到正确的尺寸。将页脚和导航设置为vh或vw,它们将与您使用的任何设备成比例。css3中有一个高度和宽度单位,许多人并不真正使用或了解。vw和vh,表示视口宽度和视口高度。你应该使用它们。如果你想让你的一个div达到全高,那么设置高度:100vh,如果它是一个图像,并且你不想它被垂直挤压,则设置宽度:auto。我经常使用大众和vh。vw最大,甚至是字体大小我将使用字体大小:2vw或类似的,1.6或另一个小数点,这样无论设备的宽度是多少,它将始终是2个视口宽度(2vw)。玩转它,你会找到正确的尺寸。将页脚和导航设置为vh或vw,它们将与您使用的任何设备成比例。代码>显示:flex代码>是当今最简单的问题(此外,它看起来很像这个问题)
html
{
字体大小:100%;
身高:100%;
线高:1.4;
溢出y:滚动;
}
身体
{
背景:#EEE url(“../images/background.png”)重复-y中心固定;
颜色:#333;
身高:100%;
字体:1em“Lato-Regular”;
保证金:0;
填充:0;
}
#包装纸
{
身高:100%;
保证金:0自动;
宽度:960px;
显示器:flex;
弯曲方向:柱
}
#内容
{
弹性:1;
利润率:20px0;
/*溢出:自动;添加此选项,它将在需要时显示一个滚动条,并且不会向下推页脚*/
}
页脚{
背景:浅灰色;
/*无需设置任何高度,最终为最小高度*/
display:flex;
是现在最容易的事情(而且看起来很像这个问题)
html
{
字体大小:100%;
身高:100%;
线高:1.4;
溢出y:滚动;
}
身体
{
背景:#EEE url(“../images/background.png”)重复-y中心固定;
颜色:#333;
身高:100%;
字体:1em“Lato-Regular”;
保证金:0;
填充:0;
}
#包装纸
{
身高:100%;
保证金:0自动;
宽度:960px;
显示器:flex;
弯曲方向:柱
}
#内容
{
弹性:1;
利润率:20px0;
/*溢出:自动;添加此选项,它将在需要时显示一个滚动条,并且不会向下推页脚*/
}
页脚{
背景:浅灰色;
/*无需设置任何高度,最终为最小高度*/
你能创建一个JSFIDLE吗?用你提供的代码,我无法重新创建它。那是因为你没有任何内容……相信我,当你用300行内容填充它时,就可以了。内容属性、最小高度、高度和再次高度都是无用的,兄弟……默认情况下高度是自动的,因为它填充了con的内容tainer。你可以设置你的正文的背景,使之与你的页脚相匹配,这样你就不会在页脚下看到较浅的背景。然后将较浅的背景移到你的#内容中。你还没有发布页眉和页脚的css。你能创建一个JSFIDLE吗?用你提供的代码我无法重新创建它。那是因为你没有任何内容…相信我,当你用300行内容填充它时,它会没事的。内容属性,最小高度,高度和再次高度都是无用的兄弟…默认情况下高度是自动的,因为它填充了容器中的内容。你可以设置正文的背景来匹配页脚
,这样您就不会在页脚下看到较浅的背景。然后将较浅的背景移到您的#内容
。您还没有发布页眉和页脚的css。是的,但是IE8和IE9中不支持flexbox布局模块:(@Nasco.Chachev read#OP;)的要求(特别是最后一句)@GabyakaG.Petrioli是的,我读过。我的观点是一样的,让旧的浏览器消亡:D,但我只是说flexbox还没有完全得到支持。no hate tho:)@Nasco.Chachev对于旧的浏览器,display:table layout属性可以帮助您几乎同样容易地实现这一点,但是没有办法让页脚完全冻结嗯
html
{
font-size: 100%;
height: 100%;
line-height: 1.4;
overflow-y: scroll;
}
body
{
background: #EEE url("../images/background.png") repeat-y center center fixed;
color: #333;
height: 100%;
font: 1em 'Lato-Regular';
margin: 0;
padding: 0;
}
#wrapper
{
height: 100%;
margin: 0 auto;
width: 960px;
}
#content
{
min-height: 460px;
height: auto !important;
height: 460px;
margin: 20px 0;
}