移动端界面布局适配方案

2023-12-19

自适应和响应式

1、自适应:根据不同的设备大小来自动调整尺寸、大小

2、响应式:会随着屏幕的实时变动而自动调整,是一种自适应;

移动端视口

能看到的区域就是视口。viewport

fixed就是相对于视口来进行定位的。

在PC端视口就只有一个,不需要对视口进行区分。布局视口和视觉视口就是同一个。


<meta name="viewport" content="width=device-width,initial-scale=1.0"  

meta中,是禁止在移动端进行等比例缩放。pc端页面在移动端等比例缩放之后,字太小了,看不清。

布局视口

移动端的布局视口,可不是视觉视口【就是显示页面的区域】

移动端的布局视口980px,我们写的像素如果是100px,那么到视觉视口中会等比例缩放的。但是还是显示100px

所以我们要改变布局视口的大小

设置布局视口的宽度


<meta name="viewport" content="width=200px"  

<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalabel=no,maximum-scale=1.0,minimum-scale=1.0">  

initial-scale:定义设备宽度与viewport大小之间的缩放比例

maximum-scale 定义缩放的最大值

minimum-scale 定义缩放的最小值

user-scalable yes/no 将无法缩放当前页面

将布局视口设置为视觉视口之后,就不会等比例缩放了。100px在哪里都是100px,是一个绝对单位。

适配方案

1、百分比设置

因为不同属性的百分比设置,相对的可能是不同的参照物,所以百分比往往比较难统一。

所以百分比在移动端适配中使用是比较少的;

2、rem单位+动态的html的font-size

3、vw单位

4、flex的弹性布局

媒体查询,动态设置font-size


<style>
    @media screen adn (min-width:375px){
        html{
            font-size:24px;
        }
    }
    
    @media screen adn (min-width:441px){
        html{
            font-size:28px;
        }
    }
</style>  

rem的font-size尺寸

可以通过媒体查询设置不同尺寸范围的html的font-size尺寸

缺点:

1、我们需要针对不同的屏幕编写大量的媒体查询

2、我们如果动态改变尺寸,不会实时的进行更新【范围超出到另外一个阶梯时,才会发生变化】

js动态计算font-size


<script>
      const htmlEl = document.documentElement;
      function setFontSizeUnit () {
        const htmlWidth = htmlEl.clientWidth;
        const htmlFontSize = htmlWidth / 10;
        htmlEl.style.fontSize = htmlFontSize + "px";
      }
      setFontSizeUnit();
       //页面调整
      window.addEventListener("resize",setFontSizeUnit);
      //页面后退前进
      window.addEventListener("pageShow",function (e) {
          if(e.persisted){
              setFontSizeUnit();
          }
      })
</script>  

lib-flexible库

Rem单位换算

1、手动换算

2、less/sass

index.less


.pxToRem(@px){
    return: 1rem * (@px / 37.5);
}
.box{
    width: .pxToRem(100)[result]
}  

3、postcsss-pxtorem

4、借助vscode插件

VW换算

1vm==屏幕的1/100

与rem做对比

1、rem事实上是作为一种过度的方案,它利用的也是vw的思想

2、不管是自己写的js,还是flexible的源码,都是将1rem等同于设计稿的1/10,在利用1rem计算,相对于整个尺寸的大小。

VM的优势

1、不需要动态计算html的font-size的大小,所以也不会去依赖

2、更加语义化。可以具备rem的所有优点。

VW的换算过程

设计给的375的设计稿 1vw=3.75px


.box{
    width:calc(100/275) vw;
}  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

移动端界面布局适配方案 的相关文章

  • 无法正确显示行

    我应该在这个问题的开头说我完全没有 html css javascript 背景 所以请对我宽容点 如果我使用了错误的术语或者问了一个愚蠢的问题 没有提供足够的信息 请抱歉 我正在尝试让一个可扩展的表工作 通过阅读论坛线程 教程 将 nex
  • Bootstrap:如何将按钮组对齐在中心(垂直)

    在下面的代码中
  • CSS 继承、别名和其他很酷的东西

    有一天 我随机浏览网页 发现了一些程序 可以让你编写 CSS 别名和其他很酷的东西 我现在不记得了 举个例子 我记得你可以这样做 myclass background color red greenfont 其中 greenfont 在其他
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • javascript 选择自定义光标 (svg)

    我正在动态地将光标更改为悬停时的本地 svg element on mouseover function this css cursor url svgs pointer svg 9 30 auto 工作正常 但我想选择该 svg 来操纵其
  • 合并 2 个大型 CSS 文件的有效方法

    我正在寻找一个可以合并 2 个大型 CSS 文件的工具 到目前为止我尝试过的所有方法 例如CSSMerge 都没有成功 其中一些只是随机删除属性 其他人则因 webkit 和 moz 等非标准属性而窒息 并给我错误 我还需要保留每条规则大小
  • CSS 到底如何计算相对尺寸

    我想更好地理解某些 CSS 行为 这与具体问题无关 我只是在调试网站时遇到的 让我们在固定位置的 div 中放置一个全宽图像 div img style width 100 src https via placeholder com 150
  • 引导导航栏菜单与文本重叠

    我使用最新版本的引导程序 当我调整屏幕浏览器的大小时 使用小切换按钮下拉导航栏时 导航栏会重叠页面上的文本 而不是向下推页面内容 我已经多次研究过这个问题 我尝试将 padding bottom 放在导航栏上 将 padding top 放
  • 如何在 select2 下拉列表中换行?

    我正在使用 select 2 下拉菜单 然后在其内容中显示一些长句子 我想在句子的正确位置添加换行符 但下拉菜单是自动调整的 For example the content of the dropdown right now looks l
  • 在 React 中切换 css 类

    如何使用布尔值切换 React 中元素上 css 类的存在 在 Angular 2 中我可以这样做 class red isRed 如何在 React 中做熟悉的事情 在 React 中 元素使用如下语法获取它们的类 div div 但请注
  • CSS:仅显示字符串的前两个字母

    是否可以使用纯 CSS 仅显示字符串的前两个字母 到目前为止我已经尝试过 没有成功 first letter 仅针对第一个字母 无论如何对我不起作用 nth of everything 需要额外的 javascript 文本溢出 省略号 正
  • @media语法/可能的组合

    我见过其中一些 media print media screen handheld print projection media all media all and property value media screen and prope
  • 如何在更大的 div 中垂直和水平居中一个 div?

    如何将一个 水平居中于另一个 中 我设法使用已接受答案中的样式水平居中 我怎样才能让它垂直居中 内部 div 的高度未知 https stackoverflow com questions 114543 how to center div
  • 最大宽度调整以适应文本?

    不是最好的标题 但无论如何 我有一个元素max width和一些文字 如果文本长度超过一行所能容纳的长度 我会得到以下结果 My text here hello everyone 换句话说 它占据了完整的最大宽度 但由于单词向下移动 右侧有
  • 如何选择具有“A”类但不具有“B”类的 div?

    我有一些 div div class A Target div div class A B NotMyTarget div div class A C NotMyTarget div div class A D NotMyTarget di
  • Firefox 不会在使用 jQuery AJAX 加载的内容上呈现 CSS 样式

    我有一个网站 允许用户对书籍和文章发表评论 主表单有一个搜索输入 用于查找相关书籍或文章 来源 我使用 jQuery 根据输入的搜索词从外部站点动态加载新源 然后还使用 AJAX 返回列表中的源 我有两个问题 现在 在用户输入四个字符后 j
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 在 Nexus 7 2013 上更改方向时 CSS 媒体查询不起作用

    我目前正在我的笔记本电脑 台式电脑和 Nexus 7 2013 上测试 CSS 媒体查询 除了 Nexus 7 之外 它们在台式机和笔记本电脑上都运行良好 当我更改方向时 除非刷新页面 否则样式不会应用 例如 以纵向模式握住设备时 页面正常

随机推荐

  • Try `npm install @types/postcss-plugin-px2rem` if it exists or add a new declaration (.d.ts) file...

    问题 Try npm install types postcss plugin px2rem if it exists or add a new declaration d ts file 这是由于引入第三方库但缺少声明文件的情况 这时 T
  • 项目进度管理:项目经理把控项目进度的技巧

    到项目后期 加班越发频繁 今天我们得加班完成这点工作了 这是在项目里我们听到最多的一句话 王嘉在公司好几年 也参与了几个项目 由于他各方面出色表现 公司分配给他一个小项目 初次成为项目经理的他信心满满 他觉得这不是一件难事 每天只需要监督好
  • Dubbo怎么实现动态感知服务下线的呢?

    Dubbo是一个高性能 轻量级的开源Java RPC框架 用于服务间的远程通信 为了实现动态感知服务下线 Dubbo提供了多种策略 服务监控 Dubbo提供了内置的监控功能 通过在服务提供者上配置监控信息 可以实时监测服务状态 当服务下线时
  • AntDB-T提升查询性能的关键之查询优化解析

    查询优化器 是提升查询效率非常重要的手段 本文将主要介绍 AntDB T数据库查询优化 的相关设计 AntDB T数据库是一款企业级通用分布式关系型数据库 而查询是AntDB T数据库管理系统中最关键 最吸引人的功能之一 每个生产数据库系统
  • FAM amine, 6-isomer,1313393-44-0,含有纯6-异构体的荧光团,6-FAM NH2

    产品名称 FAM amine 6 isomer 6 FAM NH2 中文名称 6 羧基荧光素 氨基 CAS 1313393 44 0 分子式 C27H26N2O6 分子量 474 51 纯度 95 结构式 产品描述 荧光素衍生物具有胺基 含
  • 自定义WheelView

    项目中用到一个比较觉得不错的控件 WheelView 即上下滚动View 它是继承ScrollView实现 在Android各版本上的效果都是如下 也许在git上有许多这样功能的控件 但个人认为这个控件实现的方式简单 比较让人容易理解 对自
  • Zookeeper 和 Dubbo 的关系?

    Zookeeper的作用 zookeeper用来注册服务和进行负载均衡 哪一个服务由哪一个机器来提供必需让调用者知道 简单来说就是ip地址和服务名称的对应关系 当然也可以通过硬编码的方式把这种对应关系在调用方业务代码中实现 但是如果提供服务
  • java 员工绩效管理系统Myeclipse开发mysql数据库MVC结构serlvet编程计算机网页项目

    一 源码特点 java 员工绩效管理系统是一套完善的java web信息管理系统 对理解JSP java编程开发语言有帮助 系统采用serlvet dao bean 系统具有完整的源代码和数据库 系统主要采用B S模式开发 开发工具myec
  • 64.Oracle19cPDB的创建和删除

    1 创建PDB CREATE PLUGGABLE DATABASE DB CROSS ADMIN USER pdbadmin IDENTIFIED BY enmo 2023 ROLES dba DEFAULT TABLESPACE CROS
  • Linux中seLinux是什么?关闭会造成哪些影响?

    seLinux是一种安全增强型的Linux操作系统 其主要作用是强化系统的安全性和保护系统资源免受未经授权的访问和攻击 其提供了三种工作模式 分别是Disabled工作模式 Permissive工作模式和Enforcing工作模式 那么Li
  • CNN和TCN的区别和联系

    CNN 卷积神经网络 和TCN 时间卷积网络 都是神经网络的变体 用于处理不同类型的数据 以下是它们的主要区别和联系 区别 应用领域 CNN 主要用于处理图像数据 具有在空间维度上捕捉局部特征的能力 常用于计算机视觉任务 TCN 主要用于处
  • Python中的定时器用法:Timer定时器和schedule库

    目录 一 引言 二 Timer定时器 1 Timer定时器的原理 2 Timer定时器的使用方法 3 Timer定时器的实际应用案例 三 schedule库 1 schedule库的原理 2 schedule库的使用方法 3 schedul
  • 62.$ORACLE_HOME/.patch_storage是否可以删除

    1 此目录为是Oracle打补丁时被替换的文件的备份 是的 即使成功安装了补丁程序 也必须保留 ORACLE HOME patch storage目录 1 将临时补丁应用到Oracle主目录时 OPatch将补丁信息存储在 ORACLE H
  • Linux-----13、用户、组

    用户 组 一 用户管理 用户概念及作用 了解 用户 指的是Linux操作系统中用于管理系统或者服务的人 一问 管理系统到底在 管理什么 答 Linux下一切皆 文件 所以用户管理的是相应的文件 二问 如何管理 文件呢 答 文件基本管理 比如
  • 宿主机和容器

    宿主机 Host 和容器 Container 是 Docker 中的两个重要概念 描述了 Docker 环境中的两个主要部分 宿主机 Host 宿主机是指安装了 Docker 引擎 Docker Engine 的物理计算机或虚拟机 它是 D
  • 从 MySQL 到 DolphinDB,Debezium + Kafka 数据同步实战

    Debezium 是一个开源的分布式平台 用于实时捕获和发布数据库更改事件 它可以将关系型数据库 如 MySQL PostgreSQL Oracle 等 的变更事件转化为可观察的流数据 以供其他应用程序实时消费和处理 本文中我们将采用 De
  • VSCode 代码高亮 变量类型、函数名、类名没有颜色 - 设置主题即可

    https zhuanlan zhihu com p 630401039 之前应该设置主题了 但不知道为啥C 里面只有 int 有高亮 其他像 cv Mat 函数名 类名都没有颜色 解决方案是重新设置一下主题 File preference
  • 使用SQL和Python处理Excel文件数据

    目录 一 引言 二 使用SQL查询Excel文件数据 1 导入必要的库 2 创建数据库连接 3 读取Excel文件数据 4 将数据写入数据库 5 使用SQL查询数据 三 使用Python读取和处理Excel文件数据 1 导入必要的库 2 读
  • ES elasticsearch-analysis-dynamic-synonym连接数据库动态更新synonym近义词

    ES elasticsearch analysis dynamic synonym连接数据库动态更新synonym近义词 修改源码实现连接数据库获取近义词汇 下载elasticsearch analysis dynamic synonym打
  • 移动端界面布局适配方案

    自适应和响应式 1 自适应 根据不同的设备大小来自动调整尺寸 大小 2 响应式 会随着屏幕的实时变动而自动调整 是一种自适应 移动端视口 能看到的区域就是视口 viewport fixed就是相对于视口来进行定位的 在PC端视口就只有一个