首页 web前端 css教程 在CSS实现Footer置底的几种方式

在CSS实现Footer置底的几种方式

Mar 22, 2018 am 10:34 AM
css footer

这次给大家带来在CSS实现Footer置底的几种方式,在CSS实现Footer置底的注意事项有哪些,下面就是实战案例,一起来看一下。

页脚置底(Sticky footer)就是让网页的footer部分始终在浏览器窗口的底部。

当网页内容足够长以至超出浏览器可视高度时,页脚会随着内容被推到网页底部;但如果网页内容不够长,置底的页脚就会保持在浏览器窗口底部。

方法一:将内容部分的margin-bottom设为负数

<p class="wrapper">
    <!-- content -->
    <p class="push"></p>
</p>
<p class="footer">footer</p>
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}
.wrapper {
  min-height: 100%;  
  margin-bottom: -50px; /* 等于footer的高度 */
}
.footer, .push {
  height: 50px;
}

1、这个方法需要容器里有额外的占位元素(p.push)。

2、p.wrapper的margin-bottom需要和p.footer的-height值一样,注意是负height。

方法二:将页脚的margin-top设为负数

给内容外增加父元素,并让内容部分的padding-bottom与页脚的height相等。

<p class="content">
  <p class="content-inside">
    <!-- content -->
  </p>
</p>
<p class="footer">footer</p>
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}
.content {
  min-height: 100%;
}
.content-inside {
  padding: 20px;
  padding-bottom: 50px;
}
.footer {
  height: 50px;
  margin-top: -50px;
}

方法三:使用calc()设置内容高度

<p class="content">
  <!-- content -->
</p>
<p class="footer">footer</p>
.content {
  min-height: calc(100vh - 70px);
}
.footer {
  height: 50px;
}

这里假设p.content和p.footer之间有20px的间距,所以70px=50px+20px

方法四:使用flexbox弹性盒布局

以上三种方法的footer高度都是固定的,如果footer的内容太多则可能会破坏布局。

<p class="content">
  <!-- content -->
</p>
<p class="footer">footer</p>
html {
  height: 100%;
}
body {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.content {
  flex: 1;
}

方法五:使用Grid网格布局

<p class="content">
  <!-- content -->
</p>
<p class="footer">footer</p>
html {
  height: 100%;
}
body {
  min-height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
}
.footer {
  grid-row-start: 2;
  grid-row-end: 3;
}

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

React与CSS3实现微信拆红包动画

css的background-attachment进阶使用方法

以上是在CSS实现Footer置底的几种方式的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Laravel 教程
1602
29
PHP教程
1504
276
如何使用CSS Backdrop-Filter属性? 如何使用CSS Backdrop-Filter属性? Aug 02, 2025 pm 12:11 PM

backdrop-filter用于对元素背后的内容应用视觉效果,1.使用backdrop-filter:blur(10px)等语法实现毛玻璃效果;2.支持blur、brightness、contrast等多种滤镜函数并可叠加;3.常用于玻璃态卡片设计,需确保元素与背景重叠;4.现代浏览器支持良好,可用@supports提供降级方案;5.避免过大模糊值和频繁重绘以优化性能,该属性仅在元素背后有内容时生效。

什么是用户代理样式表? 什么是用户代理样式表? Jul 31, 2025 am 10:35 AM

用户代理样式表是浏览器自动应用的默认CSS样式,用于确保未添加自定义样式的HTML元素仍具基本可读性。它们影响页面初始外观,但不同浏览器存在差异,可能导致不一致显示。开发者常通过重置或标准化样式来解决这一问题。使用开发者工具的“计算”或“样式”面板可查看默认样式。常见覆盖操作包括清除内外边距、修改链接下划线、调整标题大小及统一按钮样式。理解用户代理样式有助于提升跨浏览器一致性并实现精准布局控制。

如何在CSS中样式链接? 如何在CSS中样式链接? Jul 29, 2025 am 04:25 AM

链接的样式应通过伪类区分不同状态,1.使用a:link设置未访问链接样式,2.a:visited设置已访问链接,3.a:hover设置悬停效果,4.a:active设置点击时样式,5.a:focus确保键盘可访问性,始终遵循LVHA顺序以避免样式冲突,可通过添加padding、cursor:pointer和保留或自定义焦点轮廓来提升可用性和可访问性,还可使用border-bottom或动画下划线等自定义视觉效果,最终确保链接在所有状态下均有良好用户体验和可访问性。

CSS' Will-Change”属性最适合什么? CSS' Will-Change”属性最适合什么? Jul 29, 2025 am 01:05 AM

CSS的will-change属性最佳使用场景是提前告知浏览器元素可能发生的变化,以便优化渲染性能,尤其适用于动画或过渡效果。①应在动画属性(如transform、opacity或position)发生变化前应用它;②避免过早使用或长期保留,应在变化发生前设置并在完成后移除;③应仅针对必要属性而非使用will-change:all;④适用于大型滚动动画、交互式UI组件和复杂SVG/Canvas界面等场景;⑤现代浏览器通常能自动优化,因此无需在所有动画中都使用will-change。正确使用可提升

CSS方面比例属性是什么?如何使用它? CSS方面比例属性是什么?如何使用它? Aug 04, 2025 pm 04:38 PM

Theaspect-ratioCSSpropertydefinesthewidth-to-heightratioofanelement,ensuringconsistentproportionsinresponsivedesigns.1.Itisapplieddirectlytoelementslikeimages,videos,orcontainersusingsyntaxsuchasaspect-ratio:16/9.2.Commonusecasesincludemaintainingres

如何集中DIV CSS 如何集中DIV CSS Jul 30, 2025 am 05:34 AM

Tocenteradivhorizontally,setawidthandusemargin:0auto.2.Forhorizontalandverticalcentering,useFlexboxwithjustify-content:centerandalign-items:center.3.Alternatively,useCSSGridwithplace-items:center.4.Forolderbrowsers,useabsolutepositioningwithtop:50%,l

如何使用CSS创建弹跳动画? 如何使用CSS创建弹跳动画? Aug 02, 2025 am 05:44 AM

Define@keyframesbouncewith0%,100%attranslateY(0)and50%attranslateY(-20px)tocreateabasicbounce.2.Applytheanimationtoanelementusinganimation:bounce0.6sease-in-outinfiniteforsmooth,continuousmotion.3.Forrealism,use@keyframesrealistic-bouncewithscale(1.1

如何在CSS中重叠元素? 如何在CSS中重叠元素? Jul 30, 2025 am 05:43 AM

要实现CSS元素重叠,需使用定位和z-index属性。1.使用position和z-index:将元素设置为非static定位(如absolute、relative等),并通过z-index控制堆叠顺序,值越大越靠前。2.常见定位方法:absolute用于精确布局,relative用于相对偏移并重叠相邻元素,fixed或sticky用于固定定位的悬浮层。3.实际示例:通过设置父容器position:relative,子元素position:absolute和不同z-index,可实现卡片重叠效果

See all articles