<div>——分辨率1920*1080情况下,html页面的resize监听及div是否会被拉长的问题

789 阅读1分钟

在之前的文章里,我们分享过了如何让html页面的remfont=size随着页面大小的变化而变化

那么当我们给div赋值固定的rem时,如果html页面监听到resize的动作,此时的div的大小是不会变化的。

显然html页面的width,height属性是在变化的,那么当宽高的比例变小时,html页面下方理论上会出现无法铺满的空白块

$(window).resize(function () {

    rem = $(window).width() / 19.2;
    $('html').css('font-size', rem + "px");
    height = $(window).height() / rem;


    $("#all_screen").css("height", height + "rem");


});

通过上面的函数,页面的宽会被定义为19.2rem,至于高度的话,就需要根据各自的浏览器不同而确定了。经过测试我的浏览器的高度为9.6rem,如果想要实现铺满浏览器的效果,就要计算好每一层div高度的height总和等于9.6rem

那如何让页面永远被铺满呢?

解决办法: 给页面中的某个div赋动态的rem

$("#area_list").css("height",(height-2.56)+"rem");

那么页面将永远会被铺满