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

我很乐意为您讲解“详解八种方法实现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日

相关文章

  • Dreamweaver怎么输入文本并设置文本样式?

    下面是关于Dreamweaver输入文本并设置文本样式的攻略: 1. 准备工作 在打开Dreamweaver之前,你需要做好以下几项准备工作: 确定要创建的网页的主题和设计风格 准备好要插入的文字内容 熟悉Dreamweaver的基本操作和快捷键 2. 输入文本 在Dreamweaver中输入文本很简单,只需要在主页面编辑区域中点击鼠标,就可以开始输入文本。…

    css 2023年6月9日
    00
  • css为什么要放在head标签中

    CSS(层叠样式表)是一种用于描述HTML元素如何被显示的语言。在HTML文档中,CSS可以被放置在HTML页面中的三个位置: 标签内、标签内或者外部的CSS文件中。然而,通常情况下我们把CSS样式表放在标签中,以下是CSS放在标签中的几个好处: 1. 加载顺序 浏览器在加载网页时会从上到下逐行解析HTML文档,因此如果我们把CSS放在标签内,浏览器会先加载…

    css 2023年6月11日
    00
  • div背景半透明 覆盖整个可视区域的遮罩层效果

    下面是详细的攻略: 1. 基础实现方法 首先,我们可以用一个 <div> 元素来模拟遮罩层,并在其中添加一个半透明的背景。代码如下: <div class="mask"></div> <style> .mask { position: fixed; top: 0; left: 0; widt…

    css 2023年6月9日
    00
  • 深入浅析CSS 的多种背景及使用场景和技巧

    深入浅析CSS 的多种背景及使用场景和技巧 背景介绍 在网页设计和开发中,CSS 的背景是一个非常重要的部分。它可以添加图像、颜色和样式,为网页提供更加丰富、美观的外观。在实际开发过程中,我们需要根据具体需求来选择合适的背景方式,并掌握相应的技巧。 CSS 背景的使用方式 1. 背景颜色 背景颜色是最基本的背景类型之一。可以通过 CSS 的 backgrou…

    css 2023年6月10日
    00
  • JavaScript实现雪花飘落效果特效

    现代网站逐渐趋向于美化效果和视觉体验的提高,雪花飘落效果是一种常见的动态效果,可以为网站增添一份冬日的氛围。本文将详细介绍如何通过 JavaScript 实现雪花飘落效果特效的方法。 准备工作 在开始编写代码之前,我们需要先在网页中引入一个 HTML canvas 元素,它将作为我们绘制雪花的画布。添加 HTML 代码如下: <canvas id=&q…

    css 2023年6月10日
    00
  • javascript基础知识之html5轮播图实例讲解(44)

    下面是“javascript基础知识之html5轮播图实例讲解(44)”的详细攻略。 标题 本文主要介绍如何使用JavaScript实现HTML5轮播图,包含代码实现和一些关键点的讲解。 简介 轮播图是现代网页设计中常见的一种效果,它可以让网站更加生动和互动,提高用户体验。HTML5提供了一种实现轮播图的新方法——使用<canvas>元素和Jav…

    css 2023年6月10日
    00
  • vue中引入第三方字体文件的方法示例

    下面是关于Vue中引入第三方字体文件的方法的攻略详解。 1.引入Google Font字体 Google Font是一个在Web中可以免费使用的字体库,可以方便地让我们引入自己想要的各种字体。下面详细介绍如何在Vue中引入Google Font字体。 首先,我们需要在html文件中引入Google Font的链接地址,具体代码如下: <link hre…

    css 2023年6月10日
    00
  • 利用模糊实现视觉3D效果实例讲解

    利用模糊可以实现视觉3D效果,具体步骤如下: 1. 准备工作 首先,我们需要在页面中添加一个容器元素,例如 div,用于承载模糊效果。然后,在该容器中添加一个需要进行3D效果处理的元素,例如图片或文字。 <div class="container"> <img src="path/to/image" …

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