【问题标题】:Responsive css footer with 3 columns具有 3 列的响应式 CSS 页脚
【发布时间】:2013-05-16 05:48:39
【问题描述】:

我有这个带有媒体查询的 CSS 代码:

#footer-top {
    width:100%;
    height:480px;
    padding-top:10px;
    border-bottom:2px #000000 solid;
}
#footer-left {
    width: 290px;
    float: left;
    padding: 5px 15px;
    border-right:1px #000000 solid;
}
#footer-middle {
    width: 294px; /* Account for margins + border values */
    float: left;
    padding: 5px 15px;
    margin: 0px 5px 5px 5px;
    border-right:1px #000000 solid;
}
#footer-right {
    width: 270px;
    padding: 5px 15px;
    float: left;
}
#footer-bottom {
    clear: both;
    padding: 0 15px;
}

/* for 980px or less */
@media screen and (max-width: 980px) {
    #footer-left {
        width: 41%;
        padding: 1% 4%;
    }
    #footer-middle {
        width: 41%;
        padding: 1% 4%;
        margin: 0px 0px 5px 5px;
        float: right;
    }
    #footer-right {
        clear: both;
        padding: 1% 4%;
        width: auto;
        float: none;
    }
    #footer-bottom {
        padding: 1% 4%;
    }
}

/* for 700px or less */
@media screen and (max-width: 600px) {
    #footer-left {
        width: auto;
        float: none;
    }
    #footer-middle {
        width: auto;
        float: none;
        margin-left: 0px;
    }
    #footer-right {
        width: auto;
        float: none;
    }
}

/* for 480px or less */
@media screen and (max-width: 480px) {
    #footer-right {
        display: none;
    }
}

所以我试图让我的页脚响应较小的屏幕等。

我在这里创建了一个小提琴:http://jsfiddle.net/VMn7Y/,因此您也可以看到完整的 HTML,但是当您缩小屏幕尺寸时,页脚右侧 div 开始显示在页脚底部 div 上。我如何让它随着屏幕变小,底部的 div 将被推下?

【问题讨论】:

  • 我会放弃花车并使用display:inline-block; 而不是#footer-left/-middle/-right
  • 仍然遇到与页脚右 div 重叠页脚底部 div 相同的问题:/

标签: html css


【解决方案1】:

补充我的评论以完成答案是从#footer-top示例中删除height:480px ---> http://jsfiddle.net/VMn7Y/17/

希望这就是你想要的!

【讨论】:

  • 优秀 - 看起来更好。主要的#footer div 怎么样?目前,高度为 580 像素,这很好,但是当屏幕变小时,高度会变大,那么我将如何更改它以使背景(#footer 的高度)也扩展? - jsfiddle.net/rFv8H
  • 高度可以只是auto(或者只是删除height:580px;)?我不确定我是否完全理解这个问题,小提琴并没有真正让我理解
  • 好的,我在此处将页脚和页脚内部元素添加到 css 中 - jsfiddle.net/VMn7Y/28 是您使屏幕宽度更小,您将在页脚底部看到页脚高度处有空白区域没有展开
  • 它还可以,现在看起来还可以 - 我删除了高度并且有效:) 干杯
  • 很抱歉,我无法完全理解最后一部分,但很高兴它成功了! :)
【解决方案2】:

首先,当您使用媒体查询时,如果您从较小的屏幕尺寸开始并逐步提高,则更容易获得更好的结果。

我已经修好了你的小提琴,基本上你需要做的就是将你的宽度更改为 30%(或者考虑到你的填充,在这种情况下为 27%)

在这里查看:

float:left;
padding: 5px 10px;
width:27%;

fixed jsfiddle

【讨论】:

  • 我不希望每一列占页面宽度的百分比,否则随着页面变小,它们不会显示在彼此下方。它们只会缩小,内容将无法阅读
  • 哦,我明白了,抱歉,是的,删除高度会有所帮助,无论如何,关于媒体查询的事情,你应该考虑从较小的屏幕尺寸看,它会让你的生活更轻松:)
  • 另外你应该检查 min-height 和 max-height 关于你的其他问题
  • 好吧,我试试从小一点的开始——干杯。您建议对 min-height 和 max-height 做什么。请问您有代码示例吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
  • 1970-01-01
  • 2014-11-20
  • 2015-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多