css 设置body的最小高度是100%,满屏显示

3 篇文章 1 订阅
2 篇文章 1 订阅
解决问题:

1.body里的内容不满一屏时,body的高度满屏;
2.当内容超出屏幕高度时,内容的高度就是body的高度。

方法一:没有设置body的高度,内容不满屏,但是背景色却铺满整个屏幕,方法如下:

html {} // html不设置背景色
body { background: pink; }

*注:可是为什么我们在写项目的时候,却并没有达到这个效果,而是内容多高,body背景就是多高呢?
细心发现,html设置了一个背景色。
可是为什么html设置了背景色,body的满屏背景色却失效了呢?我猜测这可能是和浏览器的机制有关,浏览器会先找html有没有背景色,如果没有则往下查找body的,如果body有则取它来做底板的颜色。

方法二:

html, body { height: 100%; }

*注:如果内容没有超过屏幕的高度,是没有任何问题, 但是当内容高度大于屏幕高度时,body的高度被写死,高度和屏幕高度相等,并没有满足我们的需求;效果如图:

在这里插入图片描述
方法二:

<style>
	html { height: 100%; overflow: auto; }
	body { min-height: 100%; }
</style>

在视觉上,这个方法是可以实现我们的需求的。
可是细心的会发现,如果内容超过一屏幕,滚动条向下滚动的时候,html的高度只有一屏幕的高度
在这里插入图片描述
方法三:

html, body {
	height: 100%;
	overflow: auto;
}

可以实现,但是html,和body的高度是屏幕的高度

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值