广告
返回顶部
首页 > 资讯 > 精选 >使用rem如何适配移动设备
  • 135
分享到

使用rem如何适配移动设备

2023-06-08 07:06:13 135人浏览 薄情痞子
摘要

使用rem如何适配移动设备?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 动态改变 html 的 font-size 值几乎在每个浏览器都将 html 的

使用rem如何适配移动设备?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1. 动态改变 html 的 font-size 值

几乎在每个浏览器都将 html 的 font-size 初始化 为 16px , 我们动态改变的话可以暂时将 16px 设置为 rem 适配的根节点 font-size 初始值。

那么如何进行适配动态修改?

假定设计稿宽度 为 750px,我们定义了自己使用 1rem = 16px 的单位去布局,如何适配呢?

在 chrome 的 手机 iphone 模拟器宽度为 375px,正好为设计稿的 一半,我们可以口算: 当时的 1rem 应该等于初始化时 html 节点 font-size 的一半,即 newFontSize = 16/2 = 8px,这样一半对一半不就适配了吗...

从中得到公式 设计稿宽度/16px = 需要适配的设备宽度/8px,能够看出 新的 font-size 是参考 当前的设备宽度与原设计稿的宽度,进行等比缩放的

最终得到 newFontSize = 16px * 需要适配的设备宽度 / 原设计稿宽度

(function(doc, win) {  var resizeEvt =      "orientationchange" in window ? "orientationchange" : "resize",    setRemResponse = function() {      var vM = 750;      var vfontSize = 16;      var html = doc.documentElement;      var newfontSize = (vfontSize * html.clientWidth) / vM;      html.style.fontSize = newfontSize + "px";    };  doc.addEventListener("DOMContentLoaded", setRemResponse, false);  win.addEventListener(resizeEvt, setRemResponse, false);})(document, window);

2. 实际使用

将测量得出的btn 按钮的样式从 px转换 为 rem

.btn {  width: 699px;   height: 90px;   background: rgba(90, 173, 246, 1);  border-radius: 6px; }

自己计算太繁琐,使用 sCSS 定义 函数代替计算过程

@function pxToRem($initialStyle) {  @return $initialStyle/16 * 1rem;}

那么上面的 css改写为:

.btn {  width: pxToRem(699);  height:pxToRem(90);  background: rgba(90, 173, 246, 1);  border-radius:pxToRem(6);}

补充: vscode插件 cssrem 支持计算 将我们在 css,scss 中输入的 px 转换为 rem 单位,默认设置的 font-size 为 16px

计算方法变形,口算 rem

1. 简单分析

分析上一节我们最终得到 newFontSize = 16px * 需要适配的设备宽度 / 原设计稿宽度

每次计算要除以 16 很是繁琐,我们若将 初始的 html 根节点 font-size变为方便计算的,反正它最终做为一个除数,变为多少呢? 是否 100 更为方便呢?对了!

const oHtml = document.documentElement;const clientWidth = oHtml.clientWidth;var vM = 750;var vfontSize = 100;// 移动设备oHtml.style.fontSize = (vfontSize * clientWidth) / vM + "px";

实际使用

还是上面熟悉的那个 btn, 将px转换 为 rem, 口算得出结果。

.btn {  width: 699px;   height: 90px;   background: rgba(90, 173, 246, 1);  border-radius: 6px; }

不得不说,有了 scss 是真的方便!

@function reduced100($initialStyle) {  @return $initialStyle/100 * 1rem;}

那么上面的 css函数方法改写为:

.btn {  width: reduced100(699);  height:reduced100(90);  background: rgba(90, 173, 246, 1);  border-radius:reduced100(6);}

怎么样,rem 原来就是这么简单!!!

工具函数

上面的方法,二选其一就可以了,毕竟现在 javascript 的 执行效率不差!

(function(doc, win) {  var resizeEvt =      "orientationchange" in window ? "orientationchange" : "resize",    setRemResponse = function() {      var vM = 750;      var vfontSize = 16;      var html = doc.documentElement;      var newfontSize = (vfontSize * html.clientWidth) / vM;      html.style.fontSize = newfontSize + "px";    };  doc.addEventListener("DOMContentLoaded", setRemResponse, false);  win.addEventListener(resizeEvt, setRemResponse, false);})(document, window);

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: 使用rem如何适配移动设备

本文链接: https://www.lsjlt.com/news/252407.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用rem如何适配移动设备
    使用rem如何适配移动设备?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 动态改变 html 的 font-size 值几乎在每个浏览器都将 html 的 ...
    99+
    2023-06-08
  • 移动端适配如何使px自动转换rem
    小编给大家分享一下移动端适配如何使px自动转换rem,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先安装postcss-pxto...
    99+
    2022-10-19
  • 怎么使用rem或viewport进行移动端适配
    这篇文章主要介绍怎么使用rem或viewport进行移动端适配,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在开发移动端界面时,移动端适配一直是一个比较头疼的事情,常见的移动端适配有viewport适配,rem适配,...
    99+
    2023-06-09
  • vue中怎么使用rem适配移动端屏幕
    这篇“vue中怎么使用rem适配移动端屏幕”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue中怎么使用rem适配移动端屏幕...
    99+
    2023-07-04
  • vue-cli配置lib-flexible + rem如何实现移动端自适应
    这篇文章给大家分享的是有关vue-cli配置lib-flexible + rem如何实现移动端自适应的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装flexiblenpm&nb...
    99+
    2022-10-19
  • 如何实现基于rem的移动端响应式适配方案
    这篇文章将为大家详细讲解有关如何实现基于rem的移动端响应式适配方案,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。视口在前一段时间,我曾经写过一篇关于viewport的文...
    99+
    2022-10-19
  • 如何使用百度移动适配工具
    这篇文章主要介绍“如何使用百度移动适配工具”,在日常操作中,相信很多人在如何使用百度移动适配工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用百度移动适配工具”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-10
  • 移动版网站如何使用百度移动适配工具
    本篇内容主要讲解“移动版网站如何使用百度移动适配工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“移动版网站如何使用百度移动适配工具”吧!百度移动适配工具使用前提首先:你必须得有PC站和手机站,...
    99+
    2023-06-10
  • 如何利用css @viewport 做设备适配
    这篇文章主要讲解了“如何利用css @viewport 做设备适配”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用css @viewport 做设备适...
    99+
    2022-10-19
  • vue如何做移动端适配
    这篇文章主要介绍了vue如何做移动端适配,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vw 解决方案1. 安装并配置PostCss插件npm...
    99+
    2022-10-19
  • 如何在移动设备上选择适合的CSS框架?
    如何在手机端选择合适的CSS框架?随着移动设备的普及和互联网的快速发展,越来越多的人通过手机上网浏览网页。而为了能够在手机上呈现良好的用户体验,开发者们需要选择合适的CSS框架来进行开发。本文将介绍如何在手机端选择合适的CSS框架,以帮助开...
    99+
    2023-12-27
    手机端 选择 CSS框架
  • 使用postcss-pxtorem怎么适配移动端
    今天就跟大家聊聊有关使用postcss-pxtorem怎么适配移动端,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。执行命令 安装插件postcss-pxtoremnpm i...
    99+
    2023-06-08
  • html5如何实现移动端适配
    这篇文章将为大家详细讲解有关html5如何实现移动端适配,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在pc版网页(http://pc_url) 上,添加:<link rel="...
    99+
    2023-06-09
  • ionic2屏幕适配如何实现适配手机、平板等设备
    这篇文章将为大家详细讲解有关ionic2屏幕适配如何实现适配手机、平板等设备,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:推荐使用的编辑器是:VS code&n...
    99+
    2022-10-19
  • Html5移动端如何适配IphoneX等机型
    这篇文章将为大家详细讲解有关Html5移动端如何适配IphoneX等机型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先来看下iPhone X机型的样子上图中,Iphon...
    99+
    2022-10-19
  • vue项目中使用lib-flexible如何解决移动端适配的问题
    这篇文章将为大家详细讲解有关vue项目中使用lib-flexible如何解决移动端适配的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一部分:项目中引入lib-fl...
    99+
    2022-10-19
  • 如何优化移动设备上的网站
    优化移动设备上的网站是必须关注的任务,涉及到以下几个核心方面:1、响应式设计、2、页面加载速度、3、用户界面与体验、4、SEO优化、5、内容适配、6、测试与监控。响应式设计保证网站在各种屏幕尺寸下的适应性。页面加载速度影响用户体验和SEO排...
    99+
    2023-10-29
    设备 网站
  • vue使用Element-UI部分组件适配移动端问题
    目录前言组件适配1—Message 消息提示组件适配2—MessageBox 弹框组件适配3—Dialog 对话框结语前言 使用组件库现成的组件是...
    99+
    2023-03-19
    vue Element-UI组件 vue Element-UI适配移动端 Element-UI组件适配移动端
  • XamarinAndroid组件中RecylerView适配器如何设置动画
    这篇文章给大家分享的是有关XamarinAndroid组件中RecylerView适配器如何设置动画的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。【示例1-3】下面将在RecylerView的子元素进行滚动时,使...
    99+
    2023-06-05
  • XamarinAndroid组件中RecylerView适配器如何使用动画
    这篇文章主要介绍XamarinAndroid组件中RecylerView适配器如何使用动画,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!XamarinAndroid组件教程RecylerView适配器使用动画为Rec...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作