详解八种方法实现CSS页面底部固定

yizhihongxing

我很乐意为您讲解“详解八种方法实现CSS页面底部固定”的完整攻略。

详解八种方法实现CSS页面底部固定

在开发网页时,经常会遇到需要将底部固定在页面底部的需求。下面介绍八种CSS方法可以实现底部固定的效果。

方法1:使用绝对定位

这是最简单的一种方法,只需设置底部的样式为绝对定位,距离底部为0即可。

footer{
  position: absolute;
  bottom: 0;
  width: 100%;
}

方法2:使用相对定位

这种方法与绝对定位类似,只不过把父元素设为相对定位即可。

body{
  position: relative;
  height: 100%;
  margin: 0;
  padding: 0;
}

footer{
  position: absolute;
  bottom: 0;
  width: 100%;
}

方法3:使用负边距

我们可以给页面主体添加一个padding-bottom,然后把底部元素的margin-top设置为负padding值,这样就可以让底部元素固定在页面底部了。

body{
  margin: 0;
  padding-bottom: 100px;
}

footer{
  position: relative;
  margin-top: -100px;
  height: 100px;
  clear: both;
}

方法4:使用flex布局

我们可以使用flex布局中的flex-grow属性,让页面主体占满剩余的空间,而底部容器则设置flex-shrink: 0,固定底部高度即可。

html, body{
  height: 100%;
  margin: 0;
}

body{
  display: flex;
  flex-direction: column;
}

main{
  flex: 1;
}

footer{
  height: 100px;
  flex-shrink: 0;
}

方法5:使用table布局

我们可以使用table布局,将body的布局方式设置为table,将页面主体和底部都设置为table-row,然后将底部的高度设置为1%。

body{
  display: table;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

main, footer{
  display: table-row;
}

footer{
  height: 1%;
}

方法6:使用网格布局

我们可以使用网格布局,将body的布局方式设置为grid,将页面主体放在grid-area: main中,将底部放在grid-area: footer中,并设置grid-template-rows: auto 100px。

body{
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 100px;
  height: 100%;
  margin: 0;
}

main{
  grid-area: main;
}

footer{
  grid-area: footer;
}

方法7:使用sticky定位

我们可以使用sticky定位,将底部的定位方式设置为sticky,底部就会固定在页面底部了。

footer{
  position: sticky;
  bottom: 0;
  width: 100%;
}

方法8:使用calc函数

我们可以使用calc函数,将底部的高度计算为100vh减去页面主体高度。

body{
  height: 100%;
  margin: 0;
}

main{
  min-height: calc(100vh - 100px);
}

footer{
  height: 100px;
}

以上八种方法,都可以实现CSS页面底部固定的效果。您可以根据自己的需求,自由选择。

下面给出两个示例。

示例1:使用相对定位

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>底部固定</title>
  <style>
    body{
      position: relative;
      height: 100%;
      margin: 0;
      padding: 0;
    }

    main{
      min-height: calc(100vh - 100px);
      background-color: #eee;
      padding: 20px;
    }

    footer{
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 100px;
      background-color: #333;
      color: #fff;
      text-align: center;
    }
  </style>
</head>
<body>
  <main>
    <h1>底部固定示例</h1>
    <p>这是一个使用相对定位方法得到的底部固定效果示例。</p>
  </main>
  <footer>
    <p>版权信息 © 2021</p>
  </footer>
</body>
</html>

示例2:使用flex布局

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>底部固定</title>
  <style>
    html, body{
      height: 100%;
      margin: 0;
    }

    body{
      display: flex;
      flex-direction: column;
    }

    main{
      flex: 1;
      background-color: #eee;
      padding: 20px;
    }

    footer{
      height: 100px;
      flex-shrink: 0;
      background-color: #333;
      color: #fff;
      text-align: center;
    }
  </style>
</head>
<body>
  <main>
    <h1>底部固定示例</h1>
    <p>这是一个使用flex布局方法得到的底部固定效果示例。</p>
  </main>
  <footer>
    <p>版权信息 © 2021</p>
  </footer>
</body>
</html>

希望这份攻略能对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解八种方法实现CSS页面底部固定 - Python技术站

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

相关文章

  • CSS实现宽度自适应宽高16:9的矩形的示例

    实现宽度自适应宽高16:9的矩形,可以通过以下步骤完成: Step 1:创建HTML代码框架 在HTML中,我们首先需要创建一个矩形容器div,并赋予宽高比例为16:9。代码如下: <div class="r-container"> </div> Step 2:设置CSS样式 1. 设置容器样式 我们给容器设置最小…

    css 2023年6月10日
    00
  • CSS网页布局入门教程8:三列浮动中间列宽度自适应

    下面我将为你详细讲解“CSS网页布局入门教程8:三列浮动中间列宽度自适应”的完整攻略。 一、什么是三列浮动中间列宽度自适应布局? 三列浮动中间列宽度自适应布局指的是一个网页布局中有三列,其中左右两列宽度固定,中间列的宽度则根据页面的大小自适应调整。这种布局常用于网页中要展示大量信息的情况,如新闻页面或个人博客。 二、如何实现三列浮动中间列宽度自适应布局? 实…

    css 2023年6月9日
    00
  • 实例讲解使用CSS实现多边框和透明边框的方法

    为了实现多边框和透明边框,可以使用CSS中的伪元素以及内外边距来模拟实现。具体步骤如下: 使用CSS实现多边框的方法 首先,需要为元素设置一个基本的边框样式:border:1px solid black; 接着,为元素设置内边距:padding:10px; 使用CSS伪元素 before 和 after 创建两个新的边框。before 代表在元素内容之前创建…

    css 2023年6月9日
    00
  • JS函数实现动态添加CSS样式表文件

    下面是JS函数实现动态添加CSS样式表文件的完整攻略。 一、基本原理 在 HTML 中,我们可以使用 link 标签引入 CSS 样式表,例如: <link rel="stylesheet" type="text/css" href="style.css"> 但是如果我们想要动态地添加 …

    css 2023年6月10日
    00
  • CSS中一些@规则的用法小结

    CSS中一些@规则的用法小结 CSS中的@规则用于定义一些特殊的样式规则,例如媒体查询、字体定义、动画效果等。本攻略将详细讲解CSS中一些常用的@规则的用法和示例。 @media规则 @media规则用于根据设备的特性来应用不同的样式。例如: @media screen and (max-width: 768px) { /* 在屏幕宽度小于768像素时应用的…

    css 2023年5月18日
    00
  • 纯html+css实现奥运五环的示例代码

    下面是详细讲解“纯html+css实现奥运五环的示例代码”的完整攻略: 设计思路 为了实现五环,需要先把它们的几何形状考虑清楚。五环都可以用简单的线段来描述,然后填充对应的颜色。我们可以使用<div>元素来代表每个环,然后设置对应的样式来实现填充色。在样式中,使用border-radius属性来绘制圆弧边框,使五环看起来更协调。另外,为了让五环居…

    css 2023年6月9日
    00
  • HTML5中一些酷炫又有趣的新特性代码整理汇总

    HTML5是一种新一代的标准,它引入了很多新的特性和标签来增强Web页面的功能和表现效果。以下是一些HTML5中酷炫又有趣的新特性: 1. 色彩选择器 HTML5新增了一个type为color的input标签,可以让用户方便地选择颜色。它是一个可视化的颜色选择器,用户可以通过拖动鼠标来选择颜色,然后把选好的颜色作为值传给后端程序。以下是一个例子: <l…

    css 2023年6月9日
    00
  • vue cli3适配所有端方案的实现

    vue cli3适配所有端方案的实现攻略 简介 Vue CLI 3 是基于 Vue.js 的官方命令行工具,用于快速搭建 Vue.js 项目。它的优点在于 : 内置了大量的插件和预设,完全配置化。 集成了项目创建、开发、打包等主要功能。 使用独立的配置文件 vue.config.js 定制大部分的配置。 支持插件定制和扩展。 在移动互联网时代,前端开发所涉及…

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