博客 10-18 移动web开发

移动web开发

基础知识

1.屏幕

移动设备与PC设备最大的差异在于屏幕,这主要体现在屏幕尺寸和屏幕分辨率两个方面 。通常我们所指的屏幕尺寸,实际上指的是屏幕对角线的长度(一般用英寸来度量)

​ 而分辨率则一般用像素来度量 px,表示屏幕水平和垂直方向的像素数,例如1920*1080指的是屏幕垂直方向和水平方向分别有1920和1080个像素点而构成,如下图所示

2.长度单位

​ 在Web开发中可以使用px(像素)、em、pt(点)、in(英寸)、cm(厘米)做为长度单位,我们最常用px(像素)做为长度单位。

我们可以将上述的几种长度单位划分成相对长度单位和绝对长度单位。

​ 如上图所示,iPhone3G/S和iPhone4/S的屏幕尺寸都为3.5英寸(in)但是屏幕分辨率却分别为480320px、960480px,由此我们可以得出英寸是一个绝对长度单位,而像素是一个相对长度单位(像素并没有固定的长度)。

3.像素密度

​ DPI(Dots Per Inch)是印刷行业中用来表示打印机每英寸可以喷的墨汁点数,计算机显示设备从打印机中借鉴了DPI的概念,由于计算机显示设备中的最小单位不是墨汁点而是像素,所以用PPI(Pixels Per
Inch)值来表示屏幕每英寸的像素数量,我们将PPI、DPI都称为像素密度,但PPI应用更广泛,DPI在Android设备比较常见。

Retina即视网膜屏幕,苹果注册的命名方式,意指具有较高PPI(大于320)的屏幕。

思考:在屏幕尺寸(英寸)固定时,PPI和像素大小的关系?

结论:屏幕尺寸固定时,当PPI 越大,像素的实际大小就会越小,画面越精细,当PPI越小,像素实际大小就越大。

4.设备独立像素

随着技术发展,设备不断更新,出现了不同PPI的屏幕共存的状态(如iPhone3G/S为163PPI,iPhone4/S为326PPI),像素不再是统一的度量单位,这会造成同样尺寸的图像在不同PPI设备上的显示大小不一样。

如下图,假设你设计了一个163163的蓝色方块,在PPI为163的屏幕上,那这个方块看起来正好就是11寸大小,在PPI为326的屏幕上,这个方块看起来就只有0.5*0.5寸大小了。

做为用户是不会关心这些细节的,他们只是希望在不同PPI的设备上看到的图像内容差不多大小,所以这时我们需要一个新的单位,这个新的单位能够保证图像内容在不同的PPI设备看上去大小应该差不多,这就是独立像素,在IOS设备上叫PT(Point),Android设备上叫DIP(Device independent Pixel)或DP。

举例说明就是iPhone 3G(PPI为163)1dp = 1px,iPhone 4(PPI为326)1dp = 2px。

我们也不难发现,如果想要iPhone 3G/S和iPhone 4/S图像内容显示一致,可以把iPhone 4/S的尺寸放大一倍(它们是一个2倍(@2x)的关系),即在iPhone3G/S的上尺寸为4444px,在iPhone4/S上为8888px,我们要想实现这样的结果可以设置4444dp,这时在iPhone3G/S上代表4444px,在iPhone4/S上代表88*88px,最终用可以看到的图像差不多大小。

通过上面例子我们不难发现dp同px是有一个对应(比例)关系的,这个对应(比例)关系是操作系统确定并处理,目的是确保不同PPI屏幕所能显示的图像大小是一致的,通过window.devicePixelRatio可以获得该比例值。

<head>
    <meta charset="UTF-8">
    <title>获取独立像素与物理像素比例值</title>
</head>
<body>
<script>
    // 像素和设备独立像素的一个关系
    alert(window.devicePixelRatio);

从上图我们得知dp(或pt)和px并不总是绝对的倍数关系(并不总能保证能够整除),而是window.devicePixelRatio ~= 物理像素/独立像素,然而这其中的细节我们不必关心,因为操作系统会自动帮我们处理好(保证1dp在不同的设备上看上去大小差不多)。

5.像素

1、物理像素指的是屏幕渲染图像的最小单位,属于屏幕的物理属性,不可人为进行改变,其值大小决定了屏幕渲染图像的品质,我们以上所讨论的都指的是物理像素。

// 获取屏幕的物理像素尺寸

window.screen.width;

window.screen.height;

    // 以像素计,屏幕的大小
    var screenWidth = window.screen.width;
    var screenHeight = window.screen.height;

    console.log('屏幕的宽度为: ' + screenWidth);
    console.log('屏幕的高度为: ' + screenHeight);

2、CSS像素,与设备无关像素,指的是通过CSS进行网页布局时用到的单位,其默认值(PC端)是和物理像素保持一致的(1个单位的CSS像素等于1个单位的物理像素),但是我们可通缩放来改变其大小。

<head>
    <meta charset="UTF-8">
    <title>CSS像素</title>
    <style>
        body {
            padding: 0;
            margin: 0;
            background-color: #F7F7F7;
            /*height: 1400px;*/
        }

        .box {
            改成自己的像素值
            width: 1152px;
            height: 120px;
            background-color: red;
        }
    </style>
</head>
<body>
<div class="box"></div>

我们需要理解的是物理像素和CSS像素的一个关系,1个物理像素并不总是等于一个CSS像素,通过调整浏览器缩放比例,可以有3种情况。

调试

模拟调试
真机调试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习 Web 移动应用开发可以按照以下步骤进行: 1. 学习 HTML、CSS 和 JavaScript:这些是构建 Web 移动应用的基本技术。了解如何使用 HTML 创建页面结构,使用 CSS 进行样式设计,以及使用 JavaScript 实现交互和动态效果。 2. 掌握响应式设计:学习如何使用媒体查询和流式布局等技术,以适应不同尺寸和设备的屏幕。了解移动优化的原则,确保你的应用在各种移动设备上都能良好展示。 3. 学习移动开发框架:掌握流行的移动开发框架,例如React Native、Flutter或Ionic。这些框架可以帮助你使用 Web 技术构建跨平台的移动应用,减少开发成本和时间。 4. 学习 API 和后端集成:了解如何与后端 API 进行通信,在移动应用中获取和发送数据。学习如何使用 RESTful API 或 GraphQL 进行数据交互,以及处理用户身份验证和授权。 5. 实践项目:通过实际项目来应用所学知识,例如构建一个简单的移动应用或参与一个开源移动应用项目。这样可以锻炼实际问题解决能力,并加深对移动应用开发的理解。 6. 持续学习和跟进最新技术:移动应用开发领域也在不断发展,持续学习和关注最新技术趋势是非常重要的。参加技术会议、阅读相关博客和参与开源项目可以帮助你保持更新。 记住,移动应用开发是一个不断学习和实践的过程,需要不断尝试和改进。随着经验的积累,你会越来越熟练并能够构建更复杂和高质量的移动应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值