html - 高 div 打破粘性页脚

标签 html css sticky-footer

我在一个带有粘性页脚的网站上工作。最近我在导航中添加了购物车预览功能。基本上在鼠标悬停时会打开一个 div 以显示购物车内的商品。实际上没什么特别的。

当元素列表变得很长时,问题首先出现。包含元素的 div 以某种方式破坏了粘性页脚。

为了演示我制作的行为 jsFiddle example .

我的 HTML 看起来像这样:

<div id = "main">
    <div id = "navigation">
        navigation
        <div id = "cart">
            cart
            <div id = "cartItems">
                <p>item 1</p>
                <p>item 2</p>
                <p>item 3</p>
                <p>...</p>
            </div>
        </div>
    </div>
    <div id = "content">content</div>
    <div id = "footer">footer</div>
</div>

CSS:

* {
    margin:0;
    padding:0;
}

html, body {
    height: 100%;
}

#main {
    width: 900px;
    min-height: 100%;
    margin: 0 auto;
    position: relative;
    background-color: lightpink;
}

#navigation {
    height: 50px;
    position: relative;
    background-color: orange;
}

#content {
    padding-bottom: 50px;
}

#footer {
    width: 900px;
    height: 50px;
    position: absolute;
    bottom: 0;
    background-color: yellowgreen;
}

#cart {
    width: 100px;
    position: absolute;
    top: 0;
    right: 0;
    background-color: red;
}

#cartItems {
    display: none;
}

我希望有人能给我一个提示。我真的坚持这个。

最佳答案

#cart 中删除 position:absolute 并使用 float:right

并将overflow:auto添加到#main,使其根据购物车元素增加。

* {
    margin:0;
    padding:0;
}

html, body {
    height: 100%;
}

#main {
    width: 900px;
    min-height: 100%;
    margin: 0 auto;
    position: relative;
    background-color: lightpink;
    overflow:auto
}

#navigation {
    height: 50px;
    position: relative;
    background-color: orange;
}

#content {
    padding-bottom: 50px;
}

#footer {
width: 900px;
height: 50px;
position: absolute;
bottom: 0;
background-color: yellowgreen;

#cart {
    width: 100px;
    float:right;
    background-color: red;
}

#cartItems {
    display: none;
}

DEMO

关于html - 高 div 打破粘性页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15783468/

相关文章:

html - CSS flexbox-制作一个div来获取它的内容高度和宽度不起作用

css - 我的页脚不会保持固定 - Wordpress

html - 需要有关粘性导航页脚(电话电子邮件fblink)布局的建议

html - 将使用哪个样式表? (IE条件语句)

html - CSS - Bootstrap 按钮内水平居中 2 行

css - 带有粘性页脚的 IE 10 填充问题

html - 设置定义列表中两个连续 <dd> 中第二个的样式

css - HTML 表单覆盖在包含在 div 中的小部件上

JavaScript 无法通过 SharedWorker() 构造函数

html - 悬停时显示 div 不断闪烁