据了解,现在有两种rem布局的样式控制,其中一种是通过css的媒体查询,另外一种是通过引入js来控制,这两种方法各有各的优点,但是我还是喜欢用引入js的方法来实现rem布局,尽管现在市面上大多数都在使用css媒体查询的方式实现,在此我就将这两种方法做一总结:
方法一:常用方法,css媒体查询
@media only screen and (max-width: 600px), only screen and (max-device-width:400px) { html,body { font-size:50px; } } @media only screen and (max-width: 500px), only screen and (max-device-width:400px) { html,body { font-size:40px; } } @media only screen and (max-width: 400px), only screen and (max-device-width:300px) { html,body { font-size:30px; } } .box{ border: 1rem solid #000; font-size: 1rem; }
对于这种方法而言,他仅仅通过css文件就可以实现,在加载页面的过程中,请求的文件较少,但是如果使用的两个移动端设备屏幕宽度相差不大,都在媒体查询所设置的同一区间,那么页面中的文字大小等不会变化,可是使用引入js的方法就不一样了。
方法二:引入js
// 需求:根据设计图的比例去动态设置不同屏幕下面对应的font-size值 // 这段JS不要添加入口函数,并且引用的时候放到最前面 // ui的大小根据自己的需求去改 // 设计图的宽度 var ui = 750; // 自己设定的font值 var font = 40; // 得到比例值 var ratio = ui/font; var oHtml = document.documentElement; var screenWidth = oHtml.offsetWidth; // 初始的时候调用一次 getSize(); window.addEventListener('resize', getSize); // 在resize的时候动态设置fontsize值 function getSize(){ screenWidth = oHtml.offsetWidth; // 限制区间 if(screenWidth <= 320){ screenWidth = 320; }else if(screenWidth >= ui){ screenWidth = ui; } oHtml.style.fontSize = screenWidth/ratio + 'px'; }
这种通过引入js的方法,面对不同尺寸的移动端设备,都能实现文字大小等尺寸的细微变化。
标签:
移动端,rem,布局
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
岱庙资源网 Copyright www.zgmyg.com
暂无“移动端rem布局的两种实现方法”评论...
更新日志
2024年11月15日
2024年11月15日
- 炉石传说月初最强卡组有哪些 2024月初最强上分卡组推荐
- 狼人杀亮相原生鸿蒙之夜 假面科技强势登陆华为生态
- 12小时光线挑战!AI画质专家才是大平层首选
- 2024游戏IP报告:1~9月规模1960亿 68%用户愿为之付费
- 群星.2024-今夜一起为爱鼓掌电视剧原声带【相信音乐】【FLAC分轨】
- BIGFOUR.2013-大家利事【寰亚】【WAV+CUE】
- 李美凤.1992-情深透全情歌集【EMI百代】【WAV+CUE】
- 田震2024-《时光音乐会》[金峰][WAV+CUE]
- 群星《监听天碟3》[LECD]限量版[WAV+CUE]
- 心妤《声如夏花HQ》头版限量编号[WAV+CUE]
- 群星《摇滚五杰》[低速原抓WAV+CUE][1.1G]
- 群星 《2024好听新歌30》十倍音质 U盘音乐 [WAV+分轨]
- 陈慧娴《永远是你的朋友》头版限量编号MQA-UHQCD2024[低速原抓WAV+CUE]
- 曼丽·女人三十《如果·爱》限量1:1母盘直刻[低速原抓WAV+CUE]
- 刘文正《流金三十年》[6N纯银镀膜][低速原抓WAV+CUE]