flexible.js+rem页面适配

简介

flexible.js 介绍

flexible.js 是一个用于移动端页面适配的 JavaScript 库,由阿里巴巴团队开发并开源。在移动 web 开发中,由于设备屏幕尺寸、分辨率以及像素比的差异,开发者通常需要编写额外的代码来确保页面在不同设备上都能正确显示。而 flexible.js 的出现,极大地简化了这一过程。

文件地址:https://pan.baidu.com/s/1WzOmsJ_m5aWWCNYXcJDD_g 提取码:nhqs

核心功能:

  1. 动态设置视口(Viewport)flexible.js 会根据设备的屏幕宽度动态设置 <meta name="viewport"> 标签中的 initial-scalemaximum-scale,以确保页面在不同设备上都能正确缩放。

  2. 设置根元素字体大小flexible.js 会根据设备的屏幕宽度动态计算并设置根元素(通常是 html 标签)的字体大小(font-size)。这样做是为了方便后续使用 rem 单位进行页面布局,因为 rem 是相对于根元素的字体大小的。

  3. 适配不同设备:通过动态设置根元素的字体大小,结合 CSS 中的 rem 单位,flexible.js 可以实现页面在不同设备上的适配。开发者只需按照设计稿的尺寸,使用 rem 单位来编写 CSS,即可实现页面的自动适配。

使用方式:

通常,你需要将 flexible.js 添加到你的 HTML 文件的头部,并确保在 CSS 加载之前执行。这样,当页面加载时,flexible.js 就会根据设备的屏幕宽度自动进行适配设置。

将下载的flexible.js文件下载后放到项目中然后引入就行。如:

<script src="./js/flexible.js"></script>

注意事项:

  • 使用 flexible.js 时,通常不需要再手动设置 <meta name="viewport"> 标签中的 initial-scalemaximum-scale,因为 flexible.js 会自动处理。
  • 在使用 rem 单位进行页面布局时,需要确保 CSS 是在 flexible.js 执行后加载的,以确保 rem 单位的计算是基于正确的根元素字体大小。
  • flexible.js 主要适用于移动端页面适配,对于桌面端页面可能不太适用。

在vscode中安装cssrem插件

在这里插入图片描述
安装之后,修改cssrem默认的html文字大小(默认是16px)
在这里插入图片描述

在这里插入图片描述

  • PC端适配方案:设计稿是1920px为例;flexible.js 把屏幕分为 24 等份;1920/24=80;cssrem 插件的基准值是 80px;
  • 移动端适配方案:设计高750为例:flexible.js 把屏幕分为 10 等份;750/10=75;cssrem 插件的基准值是 75px;
rem

rem是基于HTML元素(根元素)的font-size计算值。与传统的长度单位如px(像素)和em相比,REM具有一些优势。首先,它能够实现跨平台、跨设备的一致性布局。这是因为REM是基于字体大小的,所以当屏幕大小发生变化时,REM单位会自动调整,从而使网页在不同设备上都能保持良好的布局效果。

在使用flexible.js时,我们通常会将页面中的元素大小设置为rem单位,这样当根元素的字体大小发生变化时,这些元素的大小也会相应地调整。

flexible.js+rem实现页面适配的例子

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="./js/flexible.js"></script>
    <style>
      .box {
        height: 1.25rem;
        width: 1.25rem;
        background-color: pink;
      }
    </style>
  </head>
  <body>
    <div class="box"></div>
  </body>
</html>

效果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/624205.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【WEEK12】 【DAY1】整合JDBC【中文版】

2024.5.13 Monday 目录 11.整合JDBC11.1.SpringData简介11.2.新建springboot-04-data项目11.3.新建application.yaml11.4.连接数据库11.5.修改Springboot04DataApplicationTests.java11.5.1.查看DataSourceProperties.java和DataSourceAutoConfiguration.java 11.6.JDBCTempla…

在CentOS 7服务器及Windows 10客户端间建立并配置NFS服务

在CentOS 7服务器及Windows 10客户端间建立并配置NFS服务 引言 网络文件系统(Network File System)&#xff0c;简称NFS&#xff0c;是一种分布式文件系统协议。它允许网络上的客户端机器像访问本地磁盘文件一样&#xff0c;通过网络访问服务器上的文件。在某些特定的业务场景中…

机器学习材料性能预测与材料基因工程应用实战

传统的材料研发技术是通过实验合成表征对材料进行试错和验证&#xff0c;而过去的计算手段受限于算法效率&#xff0c;无法有效求解实际工业生产中面临的复杂问题。 近几年随着大数据和人工智能介入&#xff0c;通过采用支持向量机、神经网络等机器学习算法训练数据集来构建模…

【JAVA】BOSS系统发版艺术:构建高效、优雅的微服务部署策略

在现代软件开发领域&#xff0c;微服务架构与容器化部署已迅速成为行业新趋势。微服务架构通过将应用拆分成多个小型、自治的服务单元&#xff0c;每个服务承担某项特定的业务功能。而容器化部署则以其轻量级和高度可移植的特性&#xff0c;为这些微服务的有效打包、分发和运行…

ApiHug 官方

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | MarketplaceApiHug-H…

java版数据结构:二叉树

引言&#xff1a;什么是树 树是一种非线性的数据结构&#xff0c;由节点组成&#xff0c;节点之间以边连接。树结构中最重要的特点是&#xff0c;每个节点可以有多个子节点&#xff0c;但每个节点只有一个父节点&#xff08;除了根节点&#xff09;。树结构中没有环路&#xff…

水雨情监测系统—实时监测水位信息

TH-SW3水雨情监测系统是一种专门用于实时监测和收集水文气象数据的自动化系统。它能够实时获取区域内降雨和水情数据&#xff0c;并将其存储到数据库中进行分析处理&#xff0c;从而为防汛指挥人员提供及时准确的信息服务。 水雨情监测系统的主要功能包括实时监测水位、流速、流…

第十一届蓝桥杯大赛软件类决赛 Java A 组

文章目录 发现宝藏【考生须知】试题 A: 合数个数试题 B : 含 2 天数试题 C: 本质上升序列试题 D: 迨尺天涯试题 E: 玩具蛇试题 F: 游园安排试题 G: 画廊试题 H: 奇偶覆盖试题 I: 补给试题 J: 蓝跳跳 发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&…

基于C++基础知识的指针

一、变量与指针 在C中&#xff0c;变量是用来存储数据的一个标识符&#xff0c;而指针是一个变量&#xff0c;该变量存储的是另一个变量的地址。 变量可以是不同的数据类型&#xff0c;包括整数&#xff08;int&#xff09;、浮点数&#xff08;float&#xff09;、字符&#…

deveco studio 打开官方案例,不显示运行按钮。

就拿官方的search举例好了 git 地址 https://gitee.com/harmonyos/samples/tree/master/ETSUI/Search 使用deveco studio打开Search项目&#xff0c;打开Tools->Device-Manager中的Local Emulator本地模拟器&#xff0c; 此时会发现&#xff0c;运行按钮是灰色的&#xff0…

OVZ虚拟化:解锁高性能的虚拟化利器

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 OVZ虚拟化&#xff1a;解锁高性能的虚拟化利器 前言OVZ虚拟化简介OVZ虚拟化的优势OVZ虚拟化的应用场景OVZ虚拟化的部署与管理 前言 在当今快节奏的数字时代&#xff0c;虚拟化技术是推动云计算和容器…

通用人工智能将如何重塑未来

通用人工智能(AGI)是一种人工智能&#xff0c;具有与人类一样的获取知识、应用知识解决问题和理解能力。与专门处理受限任务的狭义人工智能系统不同&#xff0c;AGI寻求发展先进的认知技能&#xff0c;以促进在不同情况下完成复杂任务。AGI是一种人工智能&#xff0c;试图模仿人…

下载源代码并交叉编译riscv FreeBSD系统和内核

RISCV系统曾经让人神秘到无法接触&#xff0c;交叉编译更是只有耳闻&#xff0c;现在随着RISCV的普及&#xff0c;它们神秘的面纱已经被慢慢揭开。 交叉编译作为RISCV系统中的一个重要环节&#xff0c;也随着RISCV的普及而变得更加容易理解和操作。交叉编译允许开发者在一个平…

部署达梦数据库主从配置详细操作DM8

服务器配置 主库 192.168.81.128 实例名 dm-1 从库 192.168.81.129 实例名 dm-2 以下安装部署主从服务器都操作 关闭防火墙 systemctl stop firewalld && systemctl disable firewalld 注意安装前必须创建 dmdba 用户&#xff0c;禁止使用 root 用户安装数据库。…

下载element-ui报错

此错误表示尝试从npm注册表下载“resize observer polyfill”包时超时。这可能是由于网络连接问题或npm注册表服务器的问题。 要解决此问题&#xff0c;您可以尝试以下步骤&#xff1a; 1.重试npm install命令&#xff1a;有时&#xff0c;网络问题会导致临时超时。再次运行npm…

BGP基本配置练习

要求&#xff1a;通过使用BGP来实现所有设备的环回都能ping通 实验的思路 完成所有路由器的IGP配置 使用直连接口建立EBGP对等体关系 使用环回接口建立IBGP对等体关系 使用connect-interface命令修改IBGP的源IP地址 使用next-hop-local命令修改路由传递的下一…

Funakoshi — LipiDye Ⅱ脂滴活细胞成像试剂

Funakoshi LipiDye II是一款适用于长时间活细胞成像以观察动态脂滴&#xff08;LDS&#xff09;合成、移动或降解的绿色荧光染料&#xff1b;是LipiDye&#xff08;货号&#xff1a;FDV-0010&#xff09;的升级版&#xff0c;同时具备超强的光稳定性和高灵敏度等特点。 ➧ 产品…

Cartoon Colections Flower Path 2

高质量的花为Unity游戏引擎优化! 移动优化场景 这款10款3D花卉系列,超过+55种颜色!点击 配有高品质的室内植物和花卉模型。 所有对像都可以在可视化中使用。 - 1024x1024,纹理贴图 - Poly计数:平均8500~125500 tris 下载:​​Unity资源商店链接资源下载链接 效果图:

长难句打卡5.14

This is now a question for Gloria Mackenzie, an 84-year-old widow who recently emerged from her small, tin-roofed house in Florida to collect the biggest undivided lottery jackpot in history. 翻译&#xff1a;这是84岁的孤寡老人歌莉娅 麦肯齐当前所面临的问题…

【正版系统】海外短剧系统功能介绍,前端uniapp+开源。

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、海外短剧系统功能介绍 二、搭建要求 1.系统要求 总结 前言 短剧作为一种快速、紧凑的娱乐形式&#xff0c;正逐渐受到更多海外观众的喜爱。这种需求增长为…