div高度自适应

本文分享了一位前端实习生解决DIV高度自适应问题的心得。在尝试百分比、键盘监听、vh单位等方法后,最终通过onresize方法实现了F11全屏时,div高度与窗口底部保持一致的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DIV高度自适应

小白一枚,做的前端实习生,主要任务是优化前端页面。今天碰到个棘手的问题,卡了俩小时,记录下心得。

需求:F11全屏以后,div的高度保持与窗口的底部保持一样的距离。

思路1:由于产品的界面是铺满整个屏幕,不能滚动。所以首先想到的是高度设置为百分比。结果gg,F11以后,并不能达到想要的效果。

思路2:根据键盘值来判断用户是否让界面全屏,

window.onkeydown = function (e) {
                var ct = 0;
                var myCode = e.keyCode;
                if (myCode == 122) {
                     ct++;
                     console.log(ct)
                    if(ct%2==1$('#C1').css('height','65%');
                 }else{
                     $('#C1').css('height','60%');
                 }
                 }

然而理想很丰满,现实很打脸。F11以后,div是随着增大了,但是退出全屏以后,div高度却不会再次缩小回来。

思路3:后来想到vh这个单位:
vh、vw:基于视口的尺寸,1vh = 1% viewportHeight , 1wh = 1% viewportWidth

		结果还是gg,F11以后还是div下面还是会空出来很大的一块的空白。

思路4:onresize 方法:
简单理解为当视图的宽高改变是触发的一个方法,只能用window调用:

 set_table_div();
    function set_table_div(){
        var h = $(window).height();
        $('#C1').css('height',(h-334)+'px');
       
    }
           window.onresize = function() {
               set_table_div();
              // mapResize();
              
              }

总算是达到了最终想要的效果,个人觉得要实现这个功能不需要用到onresize这个方法,应该有比这些更简便的方法。正在努力发掘中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值