移动端rem布局兼容不同屏幕大小js代码

关于如何用rem兼容不同手机屏幕大小不一致问题以达到多终端自适应问题 body{ margin:0rem; font-size:0.3rem;         /*谷歌浏览器  input元素  不继承 body的fontsize*/ }                                                      /*最后将所有px 改为rem*/  input{border-width:0.01rem;padding:0r 阅读详情

引入这段代码可以完美兼容移动端不同手机屏幕大小

//designWidth:设计稿的实际宽度值,需要根据实际设置
//maxWidth:制作稿的最大宽度值,需要根据实际设置
//这段js的最后面有两个参数记得要设置,一个为设计稿实际宽度,一个为制作稿最大宽度,例如设计稿为750,最大宽度为750,则为(750,750)
;(function(designWidth, maxWidth) {
    var doc = document,
    win = window,
    docEl = doc.documentElement,
    remStyle = document.createElement("style"),
    tid;

    function refreshRem() {
        var width = docEl.getBoundingClientRect().width;
        maxWidth = maxWidth || 540;
        width>maxWidth && (width=maxWidth);
        var rem = width * 100 / designWidth;
        remStyle.innerHTML = 'html{font-size:' + rem + 'px;}';
    }

    if (docEl.firstElementChild) {
        docEl.firstElementChild.appendChild(remStyle);
    } else {
        var wrap = doc.createElement("div");
        wrap.appendChild(remStyle);
        doc.write(wrap.innerHTML);
        wrap = null;
    }
    //要等 wiewport 设置好后才能执行 refreshRem,不然 refreshRem 会执行2次;
    refreshRem();

    win.addEventListener("resize", function() {
        clearTimeout(tid); //防止执行两次
        tid = setTimeout(refreshRem, 300);
    }, false);

    win.addEventListener("pageshow", function(e) {
        if (e.persisted) { // 浏览器后退的时候重新计算
            clearTimeout(tid);
            tid = setTimeout(refreshRem, 300);
        }
    }, false);

    if (doc.readyState === "complete") {
        doc.body.style.fontSize = "16px";
    } else {
        doc.addEventListener("DOMContentLoaded", function(e) {
            doc.body.style.fontSize = "16px";
        }, false);
    }
})(750,2000);
如何使用rem适配移动端及移动端适配的其他方法汇总 前言 移动端适配老生常谈;方法有很多种,这里记录一下,我最常用的方法:rem 首先第一步必须在header中写标签: <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">。 正文 安利一个vscode的插件 :cssrem 这个插件的作... 阅读详情

相关推荐

移动端vue使用的rem配置函数

移动端使用的rem配置函数,配置简单,使用时只修改一个参数即可

rem设置尺寸自适应——rem.js函数封装

在编程过程中,因为设计图会按照统一的标准来设计,比如:PC端的设计图标准是:1920X1080,移动端的设计图标准是:750X1334,但是实际使用的时候,屏幕的尺寸并非完全一致,比如PC端的屏幕尺寸有:1920X1080,1360X768,当然还有更高分辨率的规格:2560X1600为2.5K屏,还有4K屏等。 而且屏幕的宽高比是不一样的,有的是16:9,有的是16:10等。 因此为了保证设计内容的自适应,需要根据屏幕的大小,内容自适应处理。 下面的rem.js文件就可以保证页面单位可以用rem来代替px

yehaocheng520的博客 6179

手把手教你解决Windows 10网络驱动器无法访问问题(附详细排查步骤)

本文详细指导Windows 10用户解决网络驱动器无法访问的常见问题。通过从现象快速定位到系统排查,提供了从检查网络连通性、修复凭据权限到调整高级设置的完整步骤,特别是针对“找不到网络路径”等错误,帮助用户高效恢复对共享资源的访问。

weixin_29233857的博客 517

rem适配(设计稿宽为750)

(function(doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function() { var clientWidth = docEl.clientWidth; if (!clientWidth) retu

weixin_53944118的博客 2829

AutoDL上传数据详细步骤(自己用的步骤,可能没有其他大佬用的那么高级)

AutoDL上传数据详细步骤(自己用的步骤,可能没有其他大佬用的那么高级)

孟孟单单的博客 7万+

Xcelium XRUN实用指南:从入门到高效仿真

本文是Xcelium XRUN仿真工具的实用指南,从基础入门到高效应用全面解析。XRUN作为Cadence Xcelium的统一命令行入口,能自动化编译、精细和仿真流程,大幅提升数字芯片与FPGA验证效率。文章详细介绍了最简命令、波形调试、增量编译、多核并行仿真等核心功能,并提供了管理复杂项目、性能调优与深度调试的进阶技巧,帮助工程师快速上手并精通这一高效仿真工具。

weixin_29238147的博客 740

关于移动端适配

第一步:首先在我们的html页面中引入meta标签 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 第二步: 在html中引入rem.js的适配 具体代码如下 // 给予1rem = 100px;换算 ;(function...

木槿之夏 232

UE5 AI寻路全攻略:从Nav Mesh基础到动态障碍与多模式导航

在游戏开发中,AI寻路是赋予非玩家角色自主移动能力的关键技术。其核心原理是通过预计算或实时生成一个表示可行走区域的导航网格,AI路径查找算法(如A*)在此网格上规划最优路径。这项技术的价值在于,它能极大提升游戏世界的真实感和交互性,使NPC能够智能地绕开障碍、穿越复杂地形,广泛应用于开放世界、RPG、策略游戏等多种场景。本文聚焦于虚幻引擎5的寻路系统,深入探讨其寻路网格体配置。针对动态环境挑战,文章详细介绍了如何利用寻路修饰体积和动态障碍物组件实现导航网格的实时更新;同时,针对游泳、飞行等特殊移动需求,解析

weixin_33226816的博客 362

移动端适配总结

做了好多h5页面,终于找到设配手机端 /*以下代码通过缩放方式实现为不同屏幕下适配设计稿尺寸js(不推荐)*/ function flex(designWidth){ let phoneScale = parseInt(window.screen.width) / designWidth; document.write('<meta name="view...

L_C_sunny的博客 433

UE5深度图与Mask图渲染实战:从基础到高级应用

本文详细解析了在UE5中渲染深度图与Mask图的完整实战流程。从启用电影渲染队列、配置自定义深度模板通道等前期准备,到构建即用型深度图材质网络与精准物体Mask生成,并深入探讨了二者结合在NPR风格化、程序化雾气及AI工作流(如ComfyUI)中的高级应用,为影视、游戏后期与AI创作提供了高效的解决方案。

weixin_29001419的博客 349

【Linux命令大全】006.网络通讯之netstat命令(实操篇)

本文详细介绍了Linux系统中netstat网络诊断命令的实用技巧。主要内容包括:1) 基本功能与参数详解,展示如何查看网络连接、路由表和接口统计;2) 安装方法及基础用法,如查看TCP/UDP连接、显示进程信息和路由表;3) 高级应用技巧,包括监听端口检查、连接状态统计和实时监控。文章通过表格和代码示例,系统性地呈现了netstat在系统管理中的核心应用场景,是网络故障排查和性能监控的实用指南。

yuhuasheng1997的博客 706

配置rem

rem 是一种相对单位,rem是相对与html元素字体大小来说的,这也就很好理解为什么是root em了,因为html是跟元素啊,这也就好理解了。 使用rem跟媒体查询结合的话,可以实现设备屏幕变化,页面显示也随着变化,从而达到适配不同手机屏幕的效果。 如何计算rem的大小 公式 页面元素的rem值 = 页面元素的px / html的字体大小 html字体大小 = 设计稿的宽度 / 分成的等分(15或者10或者其他) rem:相对html根元素字体大小 —— html export default fun

sshaohui的博客 1486

[Unity开发] [PICO]避坑指南:PICO商店上传APP时PXR Platform APPID设定详解

PICO开发者上传Unity应用时常见的"APPID不符"问题,主要源于混淆了开发者后台两个不同位置的APPID。

每日出拳老爷子的博客 556

移动端布局(三) rem布局及原理

什么是rem 首先来了解一下什么是em: 作为font-size的单位时,其代表父元素的字体大小,em作为其他属性单位时,代表自身字体大小。 s1、s2、s5、s6的font-size和line-height分别是多少px? <div class="p1"> <div class="s1">1</div> <div class="s2">1</div> </div> <div class="p2">

androidioskl的博客 1万+

2024年电气工程师最新面试题及答案

1. **基本电气工程原理**:包括电流、电压、电阻、功率等基本概念。2. **欧姆定律**:V = IR,描述电压、电流和电阻之间的关系。42. **风力发电系统组成**:包括风力涡轮机、发电机、控制系统等。44. **智能电网技术**:包括自动化控制、通信技术、数据分析等。10. **减少EMI**:使用屏蔽、滤波、合理布线等方法。40. **光伏系统组成**:包括光伏板、逆变器、控制器等。48. **能量存储技术**:包括电池、超级电容器、飞轮等。

guo162308的博客 6563

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

rem与@media 的优缺点

首先: 如果我们在做单独移动端网站或者app的时候 我建议 使用rem ; 他能让我们在手机各个机型的适配方面;大大减少我们代码的重复性,是我们的代码更兼容。 下面两个图一个调试在常用的机型 iPhone6 宽度是375*667 (一般的手页面的原型图为 750* ...) 另一个是我们最常出现问题的机型 iPhone5 因为是小机型所以比较容易出问题(错位!!!!)。 ...

风华绝代的博客 1777

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

移动端屏幕适配(Rem+js方法)

1.什么是移动端适配 在制作webapp时,一个很关键的问题就是适配各种机型不同屏幕的大小,让每种机型上的布局看起来都尽量一样。 也就是说用同一套代码在不同分辨率的手机上跑时,页面元素间的间距、留白,以及图片大小会随着变化,在比例上跟设计稿一致。 2.常见的移动端适配方法 适配方案有很多种,常见的方法有以下几种: 固定高度,宽度百分比:这种方法只适合简单、要求不高的webApp,几...

张思阳的博客 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

h5移动端屏幕适配方案(rem、vw)

1、概述 移动端屏幕大小不一,要使网页能自适应不同尺寸的手机屏幕,而且还要尽可能开发便捷,目前使用最多的还是rem大法,相对比较成熟,而新兴的vw方案也可以一试。 本文主要介绍了rem和vw两种方案的使用配置方式。 2、meta设置 首先移动端要设置好视口,使视口的宽度等于设备屏幕宽度,同时浏览器识别后就认为该网页是移动端网页,也就不再有点击延迟的问题了: <meta name="viewport" content="width=device-width, initial-scale=1.0, use

醉逍遥neo的博客 2万+

移动端之rem+flexible.js布局

前言 今天粉丝涨到100了,总之感谢大家的关注! 最近在学习移动端的页面布局,用的技术方案是rem+flexible.js,这篇文章就带大家一起感受下它的魅力吧~ 一、移动端简介 1、什么是移动端布局 移动端布局,顾名思义,就是html在手机(或者ipad)上显示的页面布局。与PC端不同在于,需要适配各种移动端的不同屏幕尺寸(采用移动端布局技术方案),并且只需要处理webkit内核浏览器即可(兼容性好)。 2、视口 视口(viewport)就是浏览器显示页面内容的屏幕区域。视口分为布局视口、视

fine1998_的博客 2273

适配移动端不同屏幕尺寸

适配移动端不同屏幕尺寸是移动 H5 开发的关键环节,下面提到的四种主流方案分别做详细讲解、适用场景分析与代码示例。rem(root em)是相对于根元素<html>的字体大小进行缩放的单位。举例:如果,那么。场景建议方案rem 不生效检查是否动态设置了 html 的 font-sizepx 没被转 rem检查 postcss-pxtorem 安装和配置第三方样式错乱添加忽略转换字体放大、偏移添加防止缩放干扰微信中滚动问题、全屏异常避免使用 100vh,动态计算可视高度。

Bruce__taotao的博客 1301

【移动端布局】抛弃rem,使用vw

你还在用rem弹性布局吗?在html文件头部放入一大段压缩过的js代码,是不是让你很难受?来了解下vw吧,能让你的代码更纯粹简单介绍下rem布局方案rem是css中的长度单位,1rem=根元素html的font-size值。当页面中所有元素都使用rem单位时,你只需要改变根元素font-size值,所有元素就会按比例放大或者缩小。因此我们只需要写一小段js代码,根据屏幕宽度改变html的font-s

1万+

移动端自适应布局和响应式页面兼容移动端布局

上篇博客讲到了移动端的常用布局模式之一:Flex布局,这篇博客咱们来了解一下移动端的另外两种布局——移动端自适应布局和响应式页面兼容移动端布局。 一、移动端自适应布局 所谓前端适配,就是为了让移动设计稿在大部分的移动设备上看起来有一致的展示效果,目前比较流行的方法有两种。一种是强制meta viewport宽度为设计稿宽度,一种是使用rem自适应布局的flexible.js。 1.rem 什么是rem rem和我们之前学过的em一样,都是css...

X-77 3201

H5移动端rem适配的js方法,1rem=100px

H5移动端rem适配的js方法,1rem=100px 使用这个方法适配后,1rem=100px。假如设计图上有个字体大小是36px,那么开发的时候写这个字体大小就写0.36rem。 方法: function rem(designWidth, maxWidth) { var doc = document, win = window, docEl = doc.documentElement, ...

lifachang的博客 2751

移动端不同屏幕适配的方法

移动端不同屏幕适配的方法

u010208165的博客 3461

移动端布局单位 vw+rem、rem+js、vw

根据CSS3规范,视口单位主要包括以下4个: vw : 1vw 等于视口宽度的1% vh : 1vh 等于视口高度的1% vmin : 选取 vw 和 vh 中最小的那个 vmax : 选取 vw 和 vh 中最大的那个 用视口单位度量,视口宽度为100vw,高度为100vh(左侧为竖屏情况,右侧为横屏情况) 例如,在桌面端浏览器视口尺寸为650px,那么 1vw = 650 * 1% = 6....

zyqgt960812的博客 1073

移动端布局VW与rem的区别

移动端布局vw和rem,rem的优缺点,vw的使用。

前端程序猿的博客 5873
上一篇: 实现点击复制功能(css,html,js)
下一篇: 多个音视频标签只播放一个音视频
Smart_coding
博客等级 码龄7年 21粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值