html - CSS 定位 : Left hand long menu appears behind footer

标签 html css css-position footer

我有一个固定居中的 CSS 两列布局。在导航很长而内容很短的页面上,页脚不会重新定位到导航下方 - 它保持在内容区域的最小高度并且导航位于页脚后面。

我已将所有内容都包含在 fiddle 中供您查看:http://jsfiddle.net/fmJqw/1/

但本质上,我有以下结构:

<div id="wrapper">
   <div id="headerWrapper"></div>
   <div id="bcrumbwrapper"></div>
   <div id="midWrapper">
      <div id="navWrapper"></div>
      <div id="contentWrapper"></div>
   </div>
   <div class="clear"></div>
   <div id="footerWrapper"></div>
</div>

CSS如下:

#wrapper{
    padding:0px;
    margin:0 auto;
    width:1000px;
    min-height:768px;
}
/*Header styles*/
#headerWrapper{
    padding:0px 0px 0px 0px;
    margin:0px;
    width:1000px;
    height:175px;
    position:relative;
}

#bcrumbWrapper{
    padding:0px 0px 0px 20px;
    margin:0px;
    width:980px;
    min-height:24px;
    position:relative;
}

#midWrapper{
    padding:0px;
    margin:0px;
    width:1000px;
    height:auto;
    position:relative;
}

#navWrapper{
    padding:20px 0px 0px 20px;
    margin:0px;
    float:left;
    width:200px;
    min-height:513px;
    position:absolute; 
    top:0; 
    bottom:0;
}

#contentWrapper{
    padding:15px;
    margin: 0px 0px 0px 220px;
    float:left;
    width:750px;
    min-height:503px;
    position:relative;
    background-color: #FFFFFF;
}

#footerWrapper{
    padding:5px 0px 0px 0px;
    margin:0px;
    width:1000px;
    height:40px;
    position:relative;
}

最佳答案

因为我试图将两个元素都 float 到左侧,但对其中一个 div 使用绝对定位,所以事情发生了冲突。我删除了内容包装器上的 float 并删除了导航包装器上的绝对定位。然后我更改了包含的 div 的背景颜色,以确保它看起来好像 navwrapper 运行了页面的长度。

于是变成了:

#midWrapper{
    padding:0px;
    margin:0px;
    width:1000px;
    height:auto;
    position:relative;
    background-colour: #EBE2CA;
}

#navWrapper{
    padding:20px 0px 0px 20px;
    margin:0px;
    float:left;
    width:200px;
}

#contentWrapper{
    padding:15px;
    margin: 0px 0px 0px 220px;
    width:750px;
    min-height:503px;
    position:relative;
    background-color: #FFFFFF;
}

无需更改 HTML,也不需要 JavaScript!

关于html - CSS 定位 : Left hand long menu appears behind footer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10427050/

相关文章:

javascript - 使元素在jquery中失去焦点

css - 限制高度与页面底部的距离

css - 需要背景图像才能滚动,但与固定左列和液体右列冲突

html - CSS: super 菜单 - 绝对高度问题

css - 我如何使此表单在所有浏览器上都相同?

css - 如果文本溢出 HTML/CSS,强制 div 滚动?

javascript - 添加 $ ('input[name="searchsongaddmore[ ]"]' ) 会导致 AJAX 中断

html - 带有文本的按钮内的 Canvas

jQuery 使用 Div 元素的高度

javascript - 相同的计算函数,不同的结果取决于 .load() 和 .resize() 或 .scroll()