Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用绝对定位的主元素时,保持页脚在底部_Html_Css_Footer - Fatal编程技术网

Html 使用绝对定位的主元素时,保持页脚在底部

Html 使用绝对定位的主元素时,保持页脚在底部,html,css,footer,Html,Css,Footer,场景 我使用的页面布局有三个主要元素 x1中柱 position:relative; padding-right:300px; x2右侧的侧边栏 1-sidebartop position:absolute; top:0; right:0; height:250px; width:300px; 2-sidebarbottom position:absolute; top:250px; right:0; width:300px; HTML结构 <div class="sidebarto

场景

我使用的页面布局有三个主要元素

x1中柱

position:relative;
padding-right:300px;
x2右侧的侧边栏

1-sidebartop

position:absolute;
top:0;
right:0;
height:250px;
width:300px;
2-sidebarbottom

position:absolute;
top:250px;
right:0;
width:300px;
HTML结构

<div class="sidebartop"></div>
<div class="main"></div>
<div class="sidebarbottom"></div>

我为什么要这样做?

因为我希望侧边栏的宽度是固定的,并让中央栏占据剩余的水平可用空间

但是。。。为什么我要将同一个边栏分成两部分,而不是浮动或内联块对齐两列?

因为我希望侧边栏的上部位于移动设备上的主要内容之前,为此我只做了
position:relative到所有元素,以便它们流入所需的移动结构

有什么问题吗?

边栏结构使得将页脚保持在底部非常复杂。现在我正在使用javascript方法动态地重新定位页脚。我正在考虑一种用纯css实现这一点的聪明方法

您可以看到一个JSFIDLE


非常感谢您抽出时间。

我想您需要这样的服务。您能查一下下面的代码吗

回答。
在此处输入代码

html,
身体{
保证金:0;
填充:0;
身高:100%;
}
#包装纸{
最小高度:100%;
位置:相对位置;
}
#标题{
背景:#ededed;
填充:10px;
}
#内容{
填充底部:100px;/*页脚元素的高度*/
}
#页脚{
背景#ffab62;
宽度:100%;
高度:100px;
位置:绝对位置;
底部:0;
左:0;
}

您可以(而且几乎肯定应该)在没有绝对定位的情况下完成此操作

以下是一种基于浮动的方法,它可以保留文档顺序,并且不依赖于任何元素的定位或固定高度:

body,html{
边距:0;填充:0;
}
* {
框大小:边框框;
}
.平台上部,
.底部{
宽度:250px;
浮动:对;
清楚:对,;
背景色:#FFC;
}
梅因先生{

宽度:计算(100vw-250px);/*请提供一个简化的JSBin或fiddle。我没有看到一个
div.sidebarbottom
位置固定且更高的z-索引?@JohannesJander抱歉。我以前就应该这样做。这里是:只需在
页脚上设置
位置:固定
?或者我理解错了什么吗?顺便说一句:你在设置的fiddle CSS中有一个输入错误de>position:asoblute
Updated fiddle()。当我使用fixed时,页脚将始终可见。实际上,我想要的是将页脚放在文档的末尾。感谢您的时间。感谢您。感谢您。Daniel,谢谢您的回答。祝您一切顺利。