让footer始终位于页面的最底部不随滚动而滚动

要让 footer 始终位于页面的最底部不随滚动而滚动,我们可以采用以下两种方法:

方法一:使用 flex 布局

HTML:

<body>
  <div class="container">
    <main>这里是主内容区域</main>
    <footer>这里是底部区域</footer>
  </div>
</body>

CSS:

html,
body {
  height: 100%;
}

.container {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

main {
  flex: 1;
}

footer {
  flex-shrink: 0;
}

代码说明:

  • 首先将 htmlbody 的高度设置为 100%,以保证父元素(即 .container)的高度为整个浏览器的高度。
  • 同时,使用 display: flex.container 设置为 flex 布局,并设置 flex-direction: column,使得 .container 内部的子元素按照从上到下的方向排列。
  • mainflex 属性设置为 1,表示在 .container 中占据剩余的全部空间;
  • footerflex-shrink 属性设置为 0,表示在内容撑满父元素时,不会被缩小。

方法二:使用 position 和 margin

HTML:

<body>
  <div id="wrapper">
    <main>这里是主内容区域</main>
  </div>
  <footer>这里是底部区域</footer>
</body>

CSS:

html,
body {
  height: 100%;
}

#wrapper {
  min-height: 100%;
  margin-bottom: -60px; /* footer height */
  padding-bottom: 60px; /* footer height */
}

main {
  padding: 20px;
}

footer {
  height: 60px;
  line-height: 60px;
  text-align: center;
  background-color: #ccc;
  position: relative;
  margin-top: -60px; /* footer height */
  clear: both;
}

代码说明:

  • 首先将 htmlbody 的高度设置为 100%,以保证 #wrapper 的高度为整个浏览器的高度。
  • #wrapper 上设置 min-height100%,并设置 margin-bottompadding-bottom 的值都为 footer 的高度,以使 footer 不会挤压 #wrapper 的内容。
  • main 中设置一些内边距,以让内容与边界产生一定距离,使其看起来更美观。
  • footer 中设置高度、行高、文本对齐、背景颜色和位置。使用 position: relative 让 footer 悬浮在 wrapper 的末尾,再使用 margin-top 为 footer 预留空间。
  • 最后使用 clear: both 清除浮动。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:让footer始终位于页面的最底部不随滚动而滚动 - Python技术站

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

相关文章

  • vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)

    vue中v-cloak是一个Vue内置的指令,它可以在Vue实例渲染后,将标签中的v-cloak属性移除,以实现解决刷新或者加载出现闪烁问题,保证在Vue实例渲染之前不会显示出来。下面就来详细讲解一下v-cloak的使用方法。 一、v-cloak的基本使用 直接上代码: <!–模板代码–> <div v-cloak> <!-…

    css 2023年6月10日
    00
  • css3 旋转按钮 使用CSS3创建一个旋转可变色按钮

    CSS3旋转按钮是一种常用的Web界面元素,它可以让用户感受到Web应用程序与其他类型的应用程序一样丰富和复杂。下面是创建CSS3旋转按钮的完整攻略,包含了关键代码和示例说明。 使用CSS3创建一个旋转可变色按钮 用HTML创建一个按钮 首先,我们需要在HTML文件中创建一个按钮元素,可以使用button或a元素,例如: <button class=&…

    css 2023年6月9日
    00
  • 如何去掉内联样式 通过style属性定义的(element.style)

    如何去掉使用style属性定义的内联样式是前端开发中一个常见需求。以下是完整的攻略: 1. 使用JavaScript 在JavaScript中可以通过使用element.style来获取到元素的内联样式。我们可以使用element.style.property = ”来清空某一属性的内联样式。 示例1:清空段落元素P的背景颜色样式: let p = doc…

    css 2023年6月9日
    00
  • CSS实现连续数字和英文的自动换行的方法

    要实现连续数字和英文的自动换行,可以利用CSS中的word-break和overflow-wrap两个属性。 word-break属性:用于设置换行规则,共有三个值可选。分别是: normal(默认值):只在单词的边缘处换行。 break-all:单词内部可以换行。 keep-all:只有在字符之间换行。 overflow-wrap属性:用于设置当一段文字中…

    css 2023年6月10日
    00
  • 如何使用python docx模块操作word文档

    使用Python的docx模块可以方便地操作Word文档,下面将详细讲解操作步骤: 安装docx模块 首先需要安装docx模块,可以使用pip命令进行安装,命令如下: pip install python-docx 打开Word文档 使用docx模块可以通过以下步骤打开Word文档: import docx # 打开Word文档 doc = docx.Doc…

    css 2023年6月10日
    00
  • CSS实现导航条Tab切换的三种方法介绍

    标题:CSS实现导航条Tab切换的三种方法介绍 导航条在网页设计中极为常见,Tab切换效果也是常用的交互方式,本文将介绍实现导航条Tab切换的三种方法。 一、利用CSS的:target伪类实现 在导航条和内容区块中,给每个Tab添加一个锚点,如下所示: <ul> <li><a href="#tab1">…

    css 2023年6月9日
    00
  • vue-cli2打包前和打包后的css前缀不一致的问题解决

    下面是关于“vue-cli2打包前和打包后的css前缀不一致的问题解决”的完整攻略。 问题描述 在使用 vue-cli2 构建的项目中,有时会出现打包之前和打包之后的 css 样式前缀不一致的情况,导致页面样式出现异常。这可能是由于不同的 css 预处理器或 postcss 插件在处理 css 时所添加的前缀不同造成的。 解决方法 方法一:手动添加前缀 在 …

    css 2023年6月13日
    00
  • 用JavaScript修改CSS属性的代码

    下面我将为你详细讲解如何使用JavaScript修改CSS属性的攻略。 一、通过JavaScript选择元素 要修改一个元素的CSS属性,我们首先需要获取到这个元素。我们可以通过JavaScript的选择器来选定元素,常用的选择器有以下几种: 1. 按ID选择元素 var element = document.getElementById("ele…

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