css - 紧贴底部的页脚

有的时候,由于页面长度不够,页面底部的页脚会很尴尬的跑上来,如图:

有的同学可能会想用position:fixed;bottom:0;来永远居底。但有些场景确实不适合。

这是我从YII2中找到的简单解决方案

原理是将最外围的容器.warp 设置最小高度为100%,并且使用margin:0 auto -60px 将页脚吸上来。如图:

demo:主要看CSS部分

<html>
<head>
<meta charset="UTF-8">
<title>css - 紧贴底部的页脚</title>
<link href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
</head>
<style type="text/css">
    .wrap {
        min-height: 100%;
        height: auto;
        margin: 0 auto -60px;
        padding: 0 0 60px;
    }
    .footer {
      height: 60px;
      background-color: #f5f5f5;
      border-top: 1px solid #ddd;
      padding-top: 20px;
    }
</style>
<body>
<div class="wrap">
    <nav id="w0" class="navbar-inverse navbar-fixed-top navbar" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#w0-collapse"><span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span></button><a class="navbar-brand" href="#">My Company</a>
        </div>
        <div id="w0-collapse" class="collapse navbar-collapse">
            <ul id="w1" class="navbar-nav navbar-right nav">
                <li class="active"><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Contact</a></li>
                <li><a href="#">Login</a></li>
            </ul>
        </div>
    </div>
    </nav>
</div>
<footer class="footer">
<div class="container">
    <p class="pull-left">
        ? My Company 2017
    </p>
    <p class="pull-right">
        Powered by <a href="#" rel="external">Yii Framework</a>
    </p>
</div>
</footer>
</body>
</html>

demo2: flex解决方案,将上面demo的css换成以下即可。

<style type="text/css">
body {
display: flex;
flex-flow: column;
min-height: 100vh;
}
.wrap { flex: 1; }
</style>
时间: 2024-10-19 15:26:56

css - 紧贴底部的页脚的相关文章

结构与布局-紧贴底部的页脚

<style> *{margin:0;padding: 0;} /*第一种方法*/ /*body{color:#fff;text-align: center;} header{background: #000;height:3.5em;} main{ min-height: calc(100vh - 3.5em - 3.5em); box-sizing: border-box; background: #0b7c4b; } footer{background: #103582;height:3

紧贴底部的页脚

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"> <title>doc01</title> <s

CSS + DIV 让页脚始终底部

一 前言 经常设计页面时用到三层DIV,头DIV与脚DIV一般固定高度,而中间层DIV根据内容的多少,高度不定,我们经常希望但内容很少时,脚DIV保持在底部,当内容很多时,脚DIV被中间内容挤到下面,但仍然始终保持在底部. 二 position position有四个参数:static  | relative | absolute | fixed position:static,意味元素没有被定位,元素会出现在文档本该出现位置,是页面元素默认的定位的方式,一般无需指定,除非想要覆盖之前设置的定位

css让页脚始终在底部不论页面内容多少

让页脚始终在页面底部,不论页面内容是多或者少页脚始终在页面底部,在某些情况下这些功能还是比较实用的,下面为大家介绍下几种不错的实现方法,大家可以参考下. 方案一: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style type="text/css"> body,html { margin: 0; padding: 0; height:10

DIV+CSS:页脚永远保持在页面底部

页脚永远保持在页面底部 有时候,我们用CSS创建一个高度自适应布局,如何保证页脚(footer)在内容不超过一屏的情况下始终保持在布局最下方是一个比较头疼的事.我看过一些利用绝对定位的例子,但总感觉不是那么完美,经过一下午的研究总结出一个利用负值外补丁的方法来实现这个效果的方法,兼容IE5.0 ,Opera 8.5 ,Firefox 1.5 .下面我们看步骤: 1.为了让浏览器识别高度100%我们需要先给 html 和 body 加上一个高度值,同时清除所有元素的 margin 和 paddin

将HTML页面页脚固定在页面底部(多种方法实现)

当一个HTML页面中含有较少的内容时,Web页面的footer部分随着飘上来,处在页面的半腰中间,给视觉效果带来极大的影响,接下来为大家介绍下如何将页脚固定在页面底部,感兴趣的朋友可以了解下 作为一个Web的前端工作者学习者,在制作页面效果时肯定有碰到下面这种现象:当一个HTML页面中含有较少的内容时,Web页面的"footer"部分随着飘上来,处在页面的半腰中间,给视觉效果带来极大的影响,让你的页面看上去很不好看,特别是现在宽屏越来越多,这种现象更是常见. 那么如何将Web页面的&q

网站页脚始终保持底部

刚写的时候有三种思路: 页脚代码直接放到最下边:但是内容少的时候页脚显示在内容的底部,而不是浏览器的底部: 相对于视窗定位:但是内容多的时候页脚一直在视窗底部,于产品需求不符: 内容区最小高度为100%,页脚代码在最底部:但是内容少的时候右侧会出现本不应该出现的滚动条,滚动高度为底部高度: 最终使用方法亮点,margin-bottom负值(如果你觉得这个提示够了,就自己开始写会更有意思) 首次构想代码: 1 <!DOCTYPE html> 2 <html> 3 <head&g

【转载自W3CPLUS】如何将页脚固定在页面底部

该文章转载自:W3CPLUS 大漠的文章 http://www.w3cplus.com/css/css-sticky-foot-at-bottom-of-the-page 以下为全文 作为一个Web的前端攻城师,在制作页面效果时肯定有碰到下面这种现象:当一个HTML页面中含有较少的内容时,Web页面的“footer”部分随着飘上来,处在页面的半腰中间,给视觉效果带来极大的影响,让你的页面看上去很不好看,特别是现在宽屏越来越多,这种现象更是常见.那么如何将Web页面的“footer”部分永远固定在

如何将页脚固定在页面底部?

作 为一个Web的前端攻城师,在制作页面效果时肯定有碰到下面这种现象:当一个HTML页面中含有较少的内容时,Web页面的“footer”部分随着飘上 来,处在页面的半腰中间,给视觉效果带来极大的影响,让你的页面看上去很不好看,特别是现在宽屏越来越多,这种现象更是常见.那么如何将Web页面的 “footer”部分永远固定在页面的底部呢?注意了这里所说的是页脚footer永远固定在页面的底部,而不是永远固定在显示器屏幕的底部,换句话说,就是当内容只有一点点时,Web页面显示在浏览器底部,当内容高度超