如何使用rem开发移动端页面(移动端rem布局的两种实现方法)
类别:Web前端 浏览量:1823
时间:2022-01-27 01:37:37 如何使用rem开发移动端页面
移动端rem布局的两种实现方法据了解,现在有两种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的方法,面对不同尺寸的移动端设备,都能实现文字大小等尺寸的细微变化。
您可能感兴趣
- navicat for mysql连接测试失败(Navicat Premiun远程连接MySQL报错10038解决方案)
- 支持多种数据库的数据库管理工具:navicat premium
- css中rem单位
- navicat怎么和mysql连接(Navicat Premium远程连接MySQL数据库的方法)
- 如何使用rem开发移动端页面(移动端rem布局的两种实现方法)
- css基线实例详解(移动端使用 rem 单位时 css sprites 定位问题的解决)
- rem怎么设置适配(详解如何使用rem或viewport进行移动端适配)
- .NET中IsNullOrEmpty和IsNullOrWhiteSpace的区别
- css中px是什么单位(CSS中px em rem区别与使用)
- navicat中如何使用sql语句(Navicat Premium操作MySQL数据库执行sql语句)
- navicat连接mysql报错(解决Navicat Premium 连接 MySQL 8.0 报错"1251"的问题分析)
- navicat载入sql文件(Navicat Premium如何导入SQL文件的方法步骤)
- python中列表remove的用法汇总(对python_discover方法遍历所有执行的用例详解)
- docker停止删除所有容器方法(Docker stop停止/remove删除所有容器)
- vue组件轮播(vue+rem自定义轮播图效果)
- css媒体查询常见的媒体类型(css基于媒体查询和 rem 的响应式布局实践)
- 为什么越来越多年轻人回农村(为什么越来越多年轻人回农村生活)
- 怎么快速学好英语(怎么快速学好英语初中)
- 中国留学生都是富二代吗()
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
- 买绿宝不能只挑黄绿色 菜农教你3招挑,个个皮薄肉脆,香甜爆汁(买绿宝不能只挑黄绿色)
- 大果肉搭配薄瓜皮, 绿宝 脆甜爽口,不愧是甜瓜中的 佼佼者(大果肉搭配薄瓜皮)
热门推荐
- jquery on绑定hover
- php如何建立一个网站(PHP利用DWZ.CN服务生成短网址)
- mysql8.0.15安装详细教程(Mysql8.0.22解压版安装教程小白专用)
- 虚拟主机值不值得买(购买虚拟主机10个注意事项)
- javascript 开发网站(帮你提高开发效率的JavaScript20个技巧)
- 一般用云主机干嘛(免费云主机怎么申请?有什么限制?)
- dedecms操作(织梦DedeCMS官方关于正版版本号的严正声明)
- pythonssh登录服务器(对python 通过ssh访问数据库的实例详解)
- dedecms栏目怎么调用友情链(DedeCms用SQL语句调用数据库任意内容方法)
- dedecms调用原始图(DEDECMS点击图片进入下一页功能实现教程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9