CSS实现Sticky Footer的示例代码

当网页内容不足以占满整个页面时,如果页面的底部有一行始终停留在页面的底部,这种效果称为"Sticky Footer"(粘性页脚)。

以下是实现Sticky Footer的代码:

<!DOCTYPE html>
<html>
<head>
    <title>Sticky Footer Example</title>
    <style type="text/css">
        * { margin: 0; }
        html, body { height: 100%; }
        .container {
            min-height: 100%;
            margin-bottom: -50px;
        }
        .footer { 
            height: 50px; 
            background-color: #333; 
            color: #fff;
            text-align: center;
        }
        .footer, .container:after {
            content: "";
            display: block;
        }
        .container:after {
            height: 50px;
        }
    </style>
</head>
<body>
    <div class="container">
        <p>Your website content goes here.</p>
    </div>
    <div class="footer">
        <p>Your sticky footer content goes here.</p>
    </div>
</body>
</html>

以上代码中实现Sticky Footer的关键点如下所述:

1.使用min-height属性使包含内容的容器(.container)至少和视口一样高。

2.margin-bottom属性值要和footer高度相同,这个负边距作用是将容器向上移动,从而使用这个高度生成的空间。

3.使用伪元素::after创建与footer相同高度的虚拟元素,使其距离内容的div上边缘留出空间。这样,当内容的div增加其起始高度时,虚拟元素也一起增加其高度。

4.为footer设置样式,以确保它始终位于容器底部。

另外,注意到上述示例中的html、body元素最小高度都被设定为100%,这是为了确保页面内容足够满屏,否则会影响Sticky Footer效果。

示例1:

下面是实现带有多个内容区(.content)的Sticky Footer的代码:

<!DOCTYPE html>
<html>
<head>
    <title>Sticky Footer Example</title>
    <style type="text/css">
        * { margin: 0; }
        html, body { height: 100%; }
        .container {
            min-height: 100%;
            margin-bottom: -50px;
        }
        .content {
            margin-bottom: 50px;
        }
        .footer { 
            height: 50px; 
            background-color: #333; 
            color: #fff;
            text-align: center;
        }
        .footer, .container:after {
            content: "";
            display: block;
        }
        .container:after {
            height: 50px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="content">
            <p>Your website content goes here.</p>
        </div>
        <div class="content">
            <p>Your website content goes here.</p>
        </div>
        <div class="content">
            <p>Your website content goes here.</p>
        </div>
    </div>
    <div class="footer">
        <p>Your sticky footer content goes here.</p>
    </div>
</body>
</html>

示例2:

下面是实现Sticky Footer时呈现始终完整的背景图像的代码:

<!DOCTYPE html>
<html>
<head>
    <title>Sticky Footer Example</title>
    <style type="text/css">
        html, body {
            height: 100%;
            margin: 0;
            padding: 0;
            background-image: url(background.jpg);
            background-size: cover;
            background-attachment: fixed;
        }
        .container {
            min-height: calc(100% - 50px);
            margin-bottom: -50px;
            padding: 20px;
            color: #fff;
            text-shadow: 1px 1px #333;
        }
        .footer {
            height: 50px;
            background-color: rgba(0, 0, 0, 0.8);
            color: #fff;
            text-align: center;
        }
        .footer, .container:after {
            content: "";
            display: block;
        }
        .container:after {
            height: 50px;
        }
    </style>
</head>
<body>
    <div class="container">
        <p>Your website content goes here.</p>
    </div>
    <div class="footer">
        <p>Your sticky footer content goes here.</p>
    </div>
</body>
</html>

此示例中,网页背景图像会营造一个完整而高端的感觉,而Sticky Footer与内容的div永远都是全幅屏幕的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS实现Sticky Footer的示例代码 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • JS实现隔行换色的表格排序

    JS实现隔行换色的表格排序包括以下几个步骤: 获取表格元素 获取表格头部元素,并绑定点击事件,当点击表头时触发排序功能 解析表格数据,将数据存储到一个数组中,每一行数据为一个对象 编写排序函数,根据表头点击事件触发的不同,采用不同的排序方式,例如按照数值大小从小到大或从大到小排序、按照字母表顺序排序等 将排序后的数据重新渲染到表格中,并实现隔行换色的效果 以…

    css 2023年6月10日
    00
  • css中的四种定位方式示例介绍

    下面就为您详细讲解 “CSS中的四种定位方式示例介绍”的完整攻略。 什么是CSS的四种定位方式? 在CSS中,常用的定位方式有四种:静态定位(static)、相对定位(relative)、绝对定位(absolute)和固定定位(fixed)。 静态定位:默认定位方式,不做设置,元素按照在文档中的位置显示,并且不可通过top、bottom、left、right…

    css 2023年6月9日
    00
  • css 借助autoflow 属性 实现 选座位效果

    下面是详细讲解 “css 借助 autoflow 属性实现选座位效果” 的攻略: 什么是 autoflow 属性? autoflow 属性是一个 CSS Grid Layout 布局属性,用于控制网格中的元素如何排列。该属性在 CSS Grid Layout 规范中是自动流布局算法。它十分适合在动态数据的场景下使用,比如表格、列表等需动态生成元素的布局。 如…

    css 2023年6月10日
    00
  • css串联选择器和后代选择器使用方法

    当需要对特定的元素应用样式时,我们可以使用CSS选择器来选中该元素。CSS选择器有很多种类型,其中包含了两种非常常用的类型:串联选择器和后代选择器。 串联选择器 串联选择器 (也称为连接选择器)可以选择一组元素,这些元素是满足多个选择器条件的结果。这些选择器条件可以是元素类型、类、ID、属性等。需要使用空格或“>”来连接选择器。 例如,我们需要选中页面…

    css 2023年6月9日
    00
  • css利用A标签的背景可能作出很有意思的效果

    针对这个问题,我可以给出以下完整攻略: CSS利用 A标签的背景 可以作出很有意思的效果 1. 利用 background-image 设置背景图片 可以通过 background-image 属性设置 A 标签的背景图片。通过精心的设计,可以为网站增添一些浪漫或者复古的气息,使得用户体验更加丰富多彩。 下面是一个设置背景图片的例子: a { backgro…

    css 2023年6月9日
    00
  • CSS元素堆叠方法详解

    CSS 元素堆叠可以在网页设计中实现复杂效果,包括图层重叠、图片透明度、叠加效果等等。下面为您提供一个完整攻略来了解 CSS 元素堆叠的实现。 CSS 元素堆叠原理 CSS 中的元素堆叠顺序遵循一个规则:后面的元素会始终显示在前面的元素上方(覆盖前面的元素)。但是,有些元素不遵循这一规则: position 属性 当元素被设置为position:absolu…

    Web开发基础 2023年3月20日
    00
  • CSS3使用transition实现的鼠标悬停淡入淡出

    下面我将详细讲解“CSS3使用transition实现的鼠标悬停淡入淡出”的完整攻略,希望能对你有所帮助。 什么是transition? 在介绍“CSS3使用transition实现的鼠标悬停淡入淡出”之前,我们需要先了解一下transition是什么。 transition是CSS3中的一种动画形式,用于实现属性变化时的平滑过渡。通过定义起点、终点和时间的…

    css 2023年6月10日
    00
  • DIV始终浮动在页面底部

    要实现“DIV始终浮动在页面底部”,有以下几种方法: 1. 使用绝对定位 通过将DIV的position属性设为absolute,并将bottom属性设为0,可以将DIV固定在页面底部。示例代码如下: #bottom-div { position: absolute; bottom: 0; width: 100%; height: 50px; /* 注意要设…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部