移动端H5开发基础[通俗易懂]

移动端H5开发基础[通俗易懂]文章目录前言一、移动端屏幕相关概念1.屏幕尺寸2.屏幕分辨率3.屏幕像素密度(ppi=pixelsperinch)二、像素1.物理像素2.CSS像素3.设备独立像素4.位图像素5.像素比(dpr)三、视口1.布局视口2.视觉视口3.理想视口三、缩放行为1.用户缩放2.系统总结前言随着移动端H5需求场景越来越多,例如微信公众号中H5页面的开发,APP中内嵌H5页面等,移动端H5开发基础知识和技巧是前端开发工程师必备的技能~一、移动端屏幕相关概念1.屏幕尺寸.

大家好,又见面了,我是你们的朋友全栈君。


前言

随着移动端H5需求场景越来越多,例如微信公众号中H5页面的开发,APP中内嵌H5页面等,移动端H5开发基础知识和技巧是前端开发工程师必备的技能~


一、移动端屏幕相关概念

1. 屏幕尺寸

手机屏幕对角线的长度,单位:英寸,1英寸=2.54厘米
在这里插入图片描述

2. 屏幕分辨率

横纵向上的像素点(物理像素)数(个数),1px=1个像素点,也称物理像素,例如iphone6的屏幕分辨率为:750*1336

3. 屏幕像素密度(ppi = pixels per inch)

与【屏幕尺寸】和【屏幕分辨率】有关,即每英寸所拥有的像素数量,决定了手机清晰度。

二、像素

1. 物理像素

屏幕分辨率,是呈像的最小单位

2. CSS像素

  • web开发的最小单位,一个CSS像素在移动设备上最终会转成物理像素去呈像
  • 一个CSS像素占用多少个物理像素,取决于【设备特性】、【用户缩放行为】

3. 设备独立像素

  • 是一个抽象层,是设备对接CSS像素的接口,一旦CSS像素与设备独立像素挂钩(width=device-width),dpr才有意义。
  • 在PC web开发中无意义,无此概念。

4. 位图像素

1个位图像素对应一个设备独立像素,图片才能完美清晰的展现

5. 像素比 (dpr)

  • 【单方向】占满屏幕物理像素个数/ 占满屏幕设备独立像素个数 = devicePixelRatio
  • 获取像素比:window.devicePixelRatio
  • iPhone6 物理像素(分辨率)是750,设备独立像素是375,dpr=2

在这里插入图片描述

三、视口

1. 布局视口

  • 决定网页布局
  • 由于布局宽度大于大部分手机屏幕的宽度,为了将页面显示完全,只能对原来的页面进行缩放,不然就需要左右拖动来浏览。(大部分浏览器默认采用缩放方式)
  • document.documentElement.clientWidth 布局视口宽度,无兼容性问题

2. 视觉视口

  • 用户正在看到的网页的区域
  • 缩小页面,看到的网站区域将变大,视觉视口也会变大;同理,放大网站,网站区域将缩小,此时视觉视口也会变小。
  • var visual = window.innerWidth 视觉视口,接近全部支持

3. 理想视口

  • 布局视口和视觉视口一样大
  • 设置如下:
 <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

三、缩放行为

1. 用户缩放

  • 用户手动放大:1个CSS像素面积变大,区域内CSS像素个数减少,视觉视口尺寸变小
  • 移动端,用户缩放影响视觉视口的尺寸(布局视口影响布局(块换行等),引起重绘等,所以改变的是视觉视口)

2. 系统

  • 参照理想视口进行缩放,改变布局视口和视觉视口
  • meta: initial-scale=1.0

总结

移动端和PC端比,有很多特有的概念需要理解。理解了这些基础概念,才能掌握移动端H5开发技巧~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151992.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月21日 上午8:36
下一篇 2022年6月21日 上午8:46


相关推荐

  • Mybatis拦截器

    Mybatis拦截器一Mybatis拦截器介绍    Mybatis拦截器设计的初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。通过Mybatis拦截器我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。所以Mybatis拦截器的使用范围是…

    2022年7月25日
    23
  • excel右键不出菜单_哈希校验码下载

    excel右键不出菜单_哈希校验码下载推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题给跪了!这套万人期待的SQL成神之路PDF,终于开源了最近遇到这么一件事:我在官网下载软件安装包,准备安装的时候被提示说是有病毒,不让安装。当时我就纳闷了,这官网下载的文件怎么会有病毒呢?于是我找到官网标注的文件Hash…

    2025年9月11日
    7
  • 批处理注释

    批处理注释echo 表示显示此命令后的字符 echooff 表示在此语句后所有运行的命令都不显示命令行本身 与 echooff 相象 但它是加在每个命令行的最前面 表示运行时不显示这一行的命令行 只能影响当前行 call 调用另一个批处理文件 如果不用 call 而直接调用别的批处理文件 那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令 pause 运行此句会暂停批处理的执行并在屏

    2026年3月20日
    3
  • pycharm注释多行_eclipse多行注释快捷键

    pycharm注释多行_eclipse多行注释快捷键1、Pycharm同时编辑多行:alt+shift+ctral+鼠标左键2、Pycharm同时多行注释:多行选中后ctrl+\

    2022年8月26日
    13
  • java inputstreamreader类详解_inputstreamreader是什么流

    java inputstreamreader类详解_inputstreamreader是什么流java底层从计算机读取的统统都是二进制,所以一开始我们读取的时候都是先简历连接通道,然后将文件数据以字节流的形式读取进入通道。#建立连接Filefile=newFile(“a.txt”);#二进制流的通道。FileInputStreamfileInputStream=newFileInputStream(file);#你想啊,fileInputStr…

    2026年4月14日
    4
  • idea中添加tomcat_怎么查看Tomcat位置

    idea中添加tomcat_怎么查看Tomcat位置一、为IDEA添加Tomcat:添加全局的Tomcat:File–>Setting–>Build,Execution,Deployment–>ApplicationServers–>+–>TomcatServer–>选择要添加的服务器–>Ok为单个项目添加:AddConfiguration…[Run–>EditConfiguration…]–>+–>TomcatSer

    2022年10月18日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号