最近开发微信网页的时候,发现网页中的元素在呼出输入后,元素会改变位置
查了资料,发现网页的大小会改变,而我使用的布局是百分比来定位的,所以会改变位置
具体验证网页大小是否改变的代码如下
window.onresize = function () {
var windowHeight = $(window).height();//获取窗口的可见高度,不是整个文档的高度
var screenHeight = window.screen.availHeight;//获取浏览器的屏幕的可用高度
alert(windowHeight + ',' + window.screen.availHeight);
}
针对网页大小改变后,原布局的百分比定位会使具体的像素值有所改变,可以加入一下js代码解决
window.onload = function () {
$(".button_icon").css("top", window.screen.availHeight * 0.65 + "px");
$(".info").css("top", window.screen.availHeight * 0.1 + "px");
$(".div_info").css("top", window.screen.availHeight * 0.25 + "px");
}
删除掉原有的css代码中的相应属性,用js在网页加载的时候指定,并且设为设备的大小乘以百分比,与原来效果相同(此处我设置了距离上边框距离,其他设置同理)