详解八种方法实现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日

相关文章

  • 使用CSS的border属性构建变形边框的方法总结

    使用CSS的border属性构建变形边框是一种常见的页面设计技巧,可以让网页元素拥有更富有艺术感的外观。下面是关于如何使用CSS的border属性构建变形边框的详细攻略。 1. 了解border属性 border属性是CSS样式中用于设置元素边框的属性,它包含width、style和color三个属性值,分别用于设置边框的宽度、样式和颜色。具体用法可以参见下…

    css 2023年6月9日
    00
  • css选择器中有小数点的标签获取方法

    获取CSS选择器中有小数点的标签的方法,是使用CSS class选择器。CSS class选择器指的是以.开头的选择器,后面跟类名。 例如,我们有如下HTML代码: <div class="box">这是一个盒子</div> <p class="text">这是一段文字</p&…

    css 2023年6月9日
    00
  • java中的快捷键小结

    我很愿意为您提供关于Java中的快捷键的完整攻略。下面是我的讲解: 什么是Java中的快捷键? 快捷键是指在编程过程中一些可以快速执行特定操作的快速键盘键组合。使用快捷键常常可以帮助程序员提高代码编写效率。而Java中也提供了一些常用的快捷键,接下来是针对Java里的快捷键做的一些整理和归纳。 Java中的快捷键列表 Ctrl + Shift + T 搜索类…

    css 2023年6月10日
    00
  • css3 盒模型以及box-sizing属性全面了解

    CSS3 盒模型以及 box-sizing 属性全面了解 盒模型是CSS中用于布局和设计的基本概念,它将文档中的每个元素抽象化为一个矩形的盒子,包括四个部分:内边距区域(padding)、边框区域(border)、内容区域(content)和外边距区域(margin)。而CSS3盒模型包括两种标准:W3C盒模型和IE盒模型,它们在计算width和height…

    css 2023年6月10日
    00
  • 第一次接触神奇的Bootstrap网格系统

    第一次接触神奇的Bootstrap网格系统 Bootstrap是一款流行的前端开发框架,其中最具特色的功能莫过于它的网格系统了。本文将详细介绍如何利用Bootstrap网格系统进行前端页面布局。 什么是Bootstrap网格系统 Bootstrap网格系统是一种通过12个栅格列来进行页面布局的系统。栅格列可以覆盖整个页面宽度,也可以将页面分成多个部分。 默认…

    css 2023年6月11日
    00
  • CSS 选择器浅谈

    CSS 选择器浅谈 CSS 选择器是指在样式表中使用的语法,用于选择 HTML 或 XML 文档中的特定元素,并将样式应用于这些元素。在本篇文章中,我们将深入探讨 CSS 选择器的各种类型,以及如何使用它们来选择不同的 HTML 元素。 基础选择器 元素选择器 元素选择器是 CSS 中最简单的选择器之一,也是最常用的。它可以通过元素名称直接选取特定的 HTM…

    css 2023年6月9日
    00
  • CSS div布局需要注意的两点

    当我们使用 CSS 进行页面布局时, div 元素是最基础的组件之一。在使用 div 元素进行页面布局时,有一些细节是需要特别注意的,下面就来讲解一下 CSS div 布局需要注意的两点。 1. 容器元素要清除浮动 在布局中使用浮动效果是非常常见的,但在某些情况下,浮动可能导致容器无法自适应子元素高度的情况。若父容器出现了这样的情况,通常会导致布局错乱,无法…

    css 2023年6月10日
    00
  • 解决React报错Unexpected default export of anonymous function

    在使用 React 进行开发时,经常会遇到 Unexpected default export of anonymous function 的报错,这是因为 ES6 规范中引入了模块系统,在使用模块 system 时必须遵循一些规则。 错误原因 在 ES6 中默认导出的是一个匿名函数,但是在 React 中默认导出的应该是一个组件类。 解决方法 方法一:使用…

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