【大屏可视化】大屏适配公式

本文介绍了一种适用于16:9设计稿的大屏适配方案,包括使用JS动态调整1rem单位来确保不同分辨率下内容的正确显示,并通过具体的步骤指导如何实现响应式布局。

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

1.大屏适配公式

  • 设计稿尺寸:16:9
  • 大屏:显示16:9
    1.如果屏幕很宽,就以高度为基准,左右居中
    2.如果屏幕很高,就以宽度为基准,上下居中
    3.保持比例不变形
    在这里插入图片描述

在这里插入图片描述

  • 在 head 里用 JS设置 1rem=Wp/100
    Wp是页面有效宽度

2.实践:布局和适配

  • 在网站下载设计图之后,在Photoshop中打开
    1.测量设计图尺寸工具:m 框选
    ——打开窗口–信息
    ——这样可以保证画布大小比例一致
    2.取色:取色工具

1.屏幕大小

  • 获取设计图大小:m – ctrl+a
    1.全选获取设计图尺寸:一般都是 16:9
    ——2420:1361(px)
    2.全屏截图看电脑尺寸
    ——1920:1080(px)
  • 调试大小
    1.选择:Responsive 响应式,然后自己给尺寸
    2.一般先给1:1
    在这里插入图片描述
  • 计算页面的宽高
    1.在 index.html 中的 head中 通过 script 标签内获得设备宽高
    2.通过下列公式计算得到 页面宽高 和 1rem 的大小
    ——简单来说就是
    ——保持 16:9 的比例,尽可能的以 宽/高 为基准,占满屏幕
    ——当设备宽度特别长时,以高度为标准,保持 16:9 计算页面宽度
    ——当设备高度特别长时,以宽度为标准,保持 16:9 计算页面高度
    ——1个字节(rem)大小始终等于页面有效宽度除以100
<script>
    const 设备宽度 = document.documentElement.clientWidth
    const 设备高度 = document.documentElement.clientHeight
    let 页面宽度
    if (设备宽度/设备高度 > 16/9){
		页面宽度 = 设备高度 * (16/9)
	}else{
		页面宽度 = 设备宽度
	}
	const 页面高度 = 页面宽度 / (16/9)
	const string = `<style>html{
		font-size:${页面宽度/100} px
	}</style>`
	document.write(string)
</script>
  • 将页面宽高写到div上
    注意后面要加像素
<div id="root">
  <script>
    root.style.width = pageWidth + 'px'
    root.style.height = pageHeight + 'px'
  </script>
</div>
  • 添加默认的CSS
    ——CSS控制左右居中
    ——JS控制上下居中
//在style.scss中,左右居中
#root{
  margin: 0 auto;
}
//在 index.html 中
root.style.marginTop = (clientHeight-pageHeight)/2 + 'px'

2.适配一个div

  • 由于屏幕宽度是不固定的,因此div的宽度是不能写死的,要写成rem(字节大小)
  • 步骤
    1.使用表示标尺辅助线,m 获取一个框的大小,记住大小像素
    2.创建一个div,其宽高为
    ——宽 = 测量宽度 / 设计稿宽度 * 100rem
    ——高 = 测量高度 / 设计高度 *100rem
    ——其中:页面宽度被换算为 100rem,因此对应宽高的单位也是 rem
    ——这样计算出来的宽高就能保证这个div永远占有效屏幕的固定比例
    3.每次这样计算有点烦,可以声明一个函数,放到 helper.scss 里面
@function px($n){
 @return $n/设计稿宽度 * 100rem
}
//使用
import helper
width:px(测量宽度)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值