使用CSS计算高度铺满屏幕

本文讲述了在Vue3项目中遇到的百分比高度问题,作者尝试了用窗口高度动态计算和使用calc()函数两种方法来解决,强调了脱离文档流对后续开发的影响以及如何避免浏览器可见区域高度为0或出现滚动条的问题。
摘要由CSDN通过智能技术生成

前言

今天写项目时出现高度设置百分百却不占满屏幕,第一反应看自己设置的是块级元素还是行级元素。看了几篇博客,发现并不能解决问题。脱离文档流的做法都没考虑,前期模板搭建脱离文档流,后面开发会出现很多问题。
在这里插入图片描述
以上图片是我要解决的问题

正文

目前使用的是vue3+setup语法糖

解决方案一:用窗口高度动态计算高度

在html里动态绑定高度样式
在这里插入图片描述

  • window.innerHeight获取窗口高度
    在这里插入图片描述
    在这里插入图片描述
    注意
    使用了几种高度,如screen.height, body.offsetheight等但都有一些问题。
  • document.body.clientHeight:网页可见区域高
  • document.body.offsetHeight:网页可见区域宽(body),包括border、margin等
  • document.body.scrollHeight : 网页正文全文高
  • window.screen.height : 屏幕分辨率的高

以上body.xx都会出现高度为0的情况,在主页body高度设置百分百无效,需要给body设置具体高度。
window.screen.height 会出现滚动条情况。

解决方案二:calc()函数

height:calc(100vh),100vh = 视窗高度的100%,可使得div的高度自动撑开到屏幕高度。
在这里插入图片描述
在这里插入图片描述

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值