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日

相关文章

  • python3之Splash的具体使用

    python3之Splash的具体使用 什么是Splash? Splash是一个JavaScript渲染服务,它使用了Webkit浏览器来呈现网页,并提供了一个Lua脚本接口来实现自动化操作。 安装和启动Splash 安装Docker。 bash sudo apt-get update sudo apt-get install docker.io 获取Spl…

    css 2023年6月10日
    00
  • 在vue项目中引入scss并使用scss样式详解

    下面是「在Vue项目中引入SCSS并使用SCSS样式详解」的完整攻略。 第一步:安装依赖 首先,通过npm安装需要用到的依赖: npm install –save-dev sass-loader sass 其中,sass-loader用于将SCSS代码转换为CSS,sass则是sass-loader的依赖。 第二步:配置webpack 接下来,在webpa…

    css 2023年6月9日
    00
  • CSS的Word_break、Word_Wrap的区别及应用

    下面我将详细讲解“CSS的Word_break、Word_Wrap的区别及应用”的完整攻略。 1. Word_break和Word_wrap的区别 Word_break和Word_wrap都是CSS中用于控制文本换行的属性,但它们有些微妙的区别: Word_break:控制换行时,是否允许单词内的断开换行。 Word_wrap:控制是否允许在单词内换行。 具…

    css 2023年6月10日
    00
  • 企业网站建设之提高企业网站性能的规则

    当企业网站流量增加、访问量增长时,提高企业网站性能的规则至关重要。本文将介绍提高企业网站性能的规则,包括以下几个方面: 1. 使用CDN加速技术 CDN全称Content Delivery Network,即内容分发网络,通过将资源分发到全球的CDN节点,实现资源在全球范围内加速访问,降低了服务器的压力。企业网站使用CDN后,用户访问企业网站所需要的资源将会…

    css 2023年6月10日
    00
  • Bootstrap一款超好用的前端框架

    Bootstrap一款超好用的前端框架 什么是Bootstrap? Bootstrap是Twitter开源的一款前端框架,它能够让开发者快速、简洁的构建响应式的Web页面,具有例如网格系统、基础样式、JavaScript插件等特性。可以让开发者更专注于网站的功能和美感,而不必乱花精力去设计一些琐碎的东西。 为什么要使用Bootstrap? 快速构建响应式网页…

    css 2023年6月9日
    00
  • HTML和CSS的关键:盒子模型(Box model)

    HTML和CSS是网页制作基础技能,而盒子模型(Box model)是学习和使用这两种技术的关键。盒子模型是指网页中每一个元素都可以看做是一个长方形的盒子,该盒子包含了元素的内容、内边距(padding)、边框(border)和外边距(margin)。 盒子模型结构 盒子模型可以分为以下四个部分: 内容(Content):元素的真正内容,比如文本、图片; 内…

    css 2023年6月10日
    00
  • 广告始终定位到网页右下角 css

    下面是详细讲解“广告始终定位到网页右下角 css”的完整攻略: 1. 确定广告位置 首先需要确定广告要放置在网页的右下角位置。通常这个位置是固定的,所以我们可以通过CSS来定位。我们可以使用position:fixed来将广告所在的div固定到浏览器的可视区域。然后再将广告div的位置调整到右下角。 下面是一段示例代码: .advertisement { p…

    css 2023年6月9日
    00
  • CSS3中的opacity属性使用教程

    下面我将详细讲解一下CSS3中opacity属性的使用教程: 什么是opacity属性 opacity属性用于设置元素的透明度,取值范围为0到1之间,其中0表示完全透明,1表示完全不透明。 opacity属性的基本使用方法 opacity属性可以应用于所有HTML元素,其语法格式如下: opacity: value; 其中value表示透明度的值,取值范围为…

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