移动端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开发技巧~

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 自动化测试之流量回放技术「建议收藏」

    自动化测试之流量回放技术「建议收藏」流量回放近几年一直是大家热衷讨论的话题,具体的效果智者见智。文章作者也是在技术工程领域有丰富的实践经验,推荐一看。本篇背景是另外一同事朋友,最近在利用流量回放技术应用在服务端接口自动化测试方面,还在各部门全力推进阶段,未来效果暂且不好说,但这部分内容确实各大公司,测试技术大会等等的热词,由于我没参与但我很感兴趣,所以邀请普及一篇,后边应该还会带来实战篇,本公众号坚持原创和干货分享,欢迎长期关注,一同成长,如果你有好的实战分享也欢迎投稿。前言在日常的测试工作中我们或多或少总会遇到下列问题:1)服..

  • centos6.5防火墙关闭命令(cmd关闭防火墙)

    cmd命令关闭防火墙netstopmpssvc CentOS6关闭防火墙使用以下命令,//临时关闭serviceiptablesstop//禁止开机启动chkconfigiptablesoffCentOS7中若使用同样的命令会报错,stop iptables.serviceFailedtostopiptables.service:Unitipt…

  • 二叉树性质及证明「建议收藏」

    二叉树性质及证明「建议收藏」二叉树性质及证明(1)规定根节点层次为0,则一棵非空二叉树的第i层上最多有2i个结点。(2)规定根节点层次为0,则深度为k的二叉树的最大结点数为2(k+1)-1。(3)具有n个结点的完全二叉树的深度k为不超过lb(n+1)-1的最大整数。(4)对于一棵非空二叉树,如果叶节点个数为n0,度为2的结点数为n2,则有n0=n2+1。(5)对于具有n个结点的完…

  • linux查看日志方法

    linux查看日志方法linux日志查看tail、head、cat、tac、sed、less、echo1、命令格式:tail[必要参数][选择参数][文件]-f循环读取-q不显示处理信息-v显示详细的处理信息-c<数目>显示的字节数-n<行数>显示行数-q,–quiet,–silent从不输出给出文件名的首部-s,–sleep-interval=S与-f合用,表示在每次反复的间隔休眠S秒tail-n…

  • Java进阶:java开源商城系统源码

    Java进阶:java开源商城系统源码正文ZooKeeper很流行,有个基本的疑问:ZooKeeper是用来做什么的?之前没有ZK,为什么会诞生ZK?OK,解答一下上面的疑问:(下面是凭直觉说的)ZooKeeper是用于简化分布式应用开发的,对开发者屏蔽一些分布式应用开发过程中的底层细节ZooKeeper对外暴露简单的API,用于支持分布式应用开发ZooKeeper在提供上述功能的同时,其还是一个高性能、高可用、高可靠的分布式集群上面说这么多,总结一下,ZK能解决分布式应用开发的问题,ZK能很好的解决

  • 还在用android.support?该考虑迁移AndroidX了!

    还在用android.support?该考虑迁移AndroidX了!

发表回复

您的电子邮箱地址不会被公开。

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