一屏页面自适应代码处理方法

1311
0

前端小姐姐 小试身手Lv3

发表于2021-5-27 18:02

楼主
引言:在写大屏页面时,我们常需要用到自适应处理,使页面在不同分辨率的电脑上看到都是正常显示,下边就简单介绍下我在写一屏页面自适应的处理方法:

1、背景图放在body中自适应,避免内容缩放后,背景图正常铺满
body {
   width: 100%;
   height: 100vh;
   overflow: hidden;
   font-family: "微软雅黑";
   background-image: url(../img-function/bg.png);
   background-position: center;
   background-color: #fff;
   background-size: cover;
   background-repeat: no-repeat;
}
2、设置最外层元素样式
<div class="content" id="content">
……
</div>
.content {
    width: 100%;
    height: 100%;
    position: relative;
}
3、写js 处理不同屏幕缩放给需要缩放的元素手动上加上childE’类,用js对这个类设置缩放样式
//针对不同屏幕缩放
var bodyW = document.body.clientWidth;
var zoom = bodyW / 1920;
var ele = document.querySelectorAll(".childE");
var i;
for (i = 0; i < ele.length; i++) {
   ele.style.transform = 'scale(' + zoom + ')';
}
document.getElementById('content').classList.add('zoom');
然后通过 .zoom设置样式
左上元素设置样式:
.zoom .funNav{
    transform-origin: left top;
}
右上元素设置样式:
.zoom .main{
    transform-origin: right top;
}
左下元素设置样式:
.zoom .headlines{
    transform-origin: left bottom;
}
右下元素设置样式:
.zoom .code{
    transform-origin: right bottom;
}
4、js处理浏览器可视化高度小于111时添加一个类,然后去添加样式
var screenH = window.screen.height;  //屏幕分辨率的高
var bodyH = document.body.offsetHeight;  //网页可见区域宽(body)
//一屏可视化高度小于111
if( screenH - bodyH > 111  ){
   document.getElementById('content').classList.add('topMain');
}
然后通过 .topMain设置样式
.topMain .main{
   top: 3%;
}
5、处理窗口大小时,页面自动刷新
//改变浏览器窗口大小的时候 让页面自动刷新
$(window).resize( function (){
        location.reload();
});

最近看过此主题的会员

dora232

txl

wal10000

keer_

数据大白

学习永无止境

leiz

wsn123

13047187490

小亿

18202817215

TOTOP

三余无梦生33

zhuhc

xzm

lau

道德模范

0个回答

只看楼主

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

渠道咨询电话:137-0120-6790

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流