热门关键字:
jquery > jquery教程 > jquery教程 > 前端解决移动端适配的五种方法

前端解决移动端适配的五种方法

409
作者:管理员
发布时间:2021/4/26 17:39:07
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=4577
  所谓移动端适配,就是WebApp在不同尺寸的屏幕上等比显示


  原理:通过设置  , 将所有设备布局视口的宽度调整为设计图的宽度。


  rem:CSS的长度单位, 根元素字体大小的倍数,只有根元素字体大小有关; html 中的根元素即 html 元素。


  大部分浏览器的默认字体大小都是16px,所以1rem=16px;


  rem适配原理:


  长度单位都是用 rem 设置


  当屏幕尺寸改变时,只需要修改 html 元素的  即可实现等比适配


  我们在制作页面的时候,只考虑跟设计稿相同的屏幕尺寸即可,其他尺寸屏幕自动适配


  这里我们计算当前屏幕的宽度与设计稿比后用比例scale乘上100,是因为rem都是基于font-size值设置的,100便于计算,值可以为任意数,比如10,但是Chrome中最小为12,所以这里选择用100;


  比如某个元素,设计稿设计宽度为 640px, 我们需要在css中设置


  比如某个元素,设计稿设计字体大小是 16px, 我们需要在css中设置


  从而达到rem适配。


  js获取当前屏幕的宽度,将屏幕宽度的16分之一设置给html的font-size


  如果此时设计稿中的16可以为任意值,你设置多少,js中屏幕宽度就除于多少再赋值给html的font-size。


  若设计稿中的某元素设置宽高为200px


  此时可以替换为:


  分析:


  设计稿中的元素尺寸都是基于设计稿的宽度而定,如上述,200px的宽度是基于设计稿375px而定的,但当js中获取的宽度发生改变时,需要解决适配问题。假设js中获取的此时屏幕宽度为750px,那么此时html的font-size值为750/16 px;


  此时计算box的width为400px


  注:1rem=1 html的font-size


  此方法不需要进行单位数值的计算,只需要定义一个less变量,再查找替换将单位px换成 /@rem 即可。


  这种方法跟第四种雷同,但不需要再在less中定义变量,只需要进行js获取配合查找替换px即可。


  分析:


  这种方法是js动态获取屏幕宽度,直接将html的font-size设置为屏幕的宽度,再在less中进行换算。


  若此时js获取的屏幕宽度为750px,html的font-size值设置为750px后,此时计算box的width为400px




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:ES6常用
友荐云推荐