移动web开发

移动端开发之Web App开发 写在前面:本人刚刚接触移动端开发,希望自己的见解能够帮助到他人,不足之处还望提醒。1 移动端开发分类1.1 Native App 原生App开发优点:(1)用户体验好(2)性能稳定(3)操作速度快(4)能够访问本地资源(通讯录,相册)(5)能够设计出色的动效,转场(6)拥有系统级别的贴心通知或提醒(7)用户留存率高缺点:(1)开发成本高(2)维护成本高(3)更新缓慢,根据不同平台,提交–审核–上线... 阅读详情

移动web开发

1.像素

1.1 什么叫做物理像素

比如,手机像素是1792×828分辨率,就是手机屏幕横向828个点,手机屏幕纵向上有1792个点,同等大小屏幕下,点越多,图像显示越精信。
上面所说的屏幕上一个个点就是物理像素(phy sical pixel),物理像素也叫设备像素(dp:device pixel)。
其实,每个像素就是一个点,每个点由红绿蓝三种色组成,只需要控制每个点每种颜色的明暗,就可以显示不同的颜色。

1.2 什么叫做逻辑像素

逻辑像素,也叫CSS像素(logical pixel)
也成为设备独立像素(dip:divice independent pixel)
在网页开发中,使用的就是CSS像素
如:

.box{
	width:1000px;
	height:500px;
}

CSS像素与物理像素的关系
在这里插入图片描述

  • 在标清屏下,1个css像素使用1个物理像素展示
  • 在高清屏下,1个css像素使用4个物理像素表示
    **注意:**高清屏下,4个点相当于标清屏下1个点的大小,所以说在高清屏下1个css像素使用4个物理像素表示。
    点越多,展示的越精细,想想灯带。。。。

浏览器会根据当前设备屏幕,自动换算出1个CSS像素使用多少个物理像素表示

1.3 什么叫做设备像素比

设备像素比(dpr:device pixel ratio)

dpr=设备像素/CSS 像素(缩放比是1的情况下)

所以上面两种屏幕下的 dpr 分别为
在这里插入图片描述
dpr=2 表示的1个css 像素使用 2X2 个设备像素绘制

注意:计算时指的是1个方向上,横向或者纵向

所以 dpr>1 的我们都可以认为是高清屏

1.4 什么叫做PPI

PPI的复杂之处在于如果他所属的上下文环境不同,意义也会完全不一样。 当我们在谈论显示设备的PPI时,它代指的屏幕的像素密度;当我们在谈论和图片相关时,我们谈论的是打印时的分辨率或者打印机的打印精度。这里我们主要描述的前一种情况,关于后两种,我们在文章的最后会谈到,有兴趣的同学可以阅读。

PPI全称为Pixel Per Inch,译为每英寸像素取值,更确切的说法应该是像素密度,也就是衡量单位物理面积内拥有像素值的情况。

如上图所示,在1英寸单位内面积内拥有的像素越多,密度越大,PPI值就越高。但像素密度的实际意义是什么?它表达的是什么?或高或低对设备显示来说有什么影响?

一般来说,我们当然希望PPI值越高越好,因为更高的PPI意味着在同一实际尺寸的物理屏幕上能容纳更多的像素,能够展现更多的画面细节,也就意味着更平滑的画面。

2. 二倍图

  • 对于一张50px * 50px(css像素)的图片,在手机 Retina 屏中打开,按照上面介绍的物理像素比会放大倍数,这样会造成图片模糊
  • 在标准的viewport 设置中,使用倍图来提高图片质量,解决在高清屏设备中的模糊问题
  • 通常使用二倍图,因为在 iphone6\7\8 的影响,但是现在还存在3倍图、4倍图的情况,这个看实际开发公司需求
  • 背景图片注意缩放问题
    具体解决方案

准备一张100 * 100 的图片,但是通过css 将其设置成50 * 50,在高清屏上,会将其放大2被,变成 100 * 100,因为图片背身就是100 * 100,所以不会失真

需要注意的是,一定将其设置成50 * 50,否则会将其放大成200 * 200,仍然会失真

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    /*
    在标清屏上,1个css像素使用1个物理像素表示
    在高清屏上,1个css像素使用2个物理像素表示
    也就是说,图片在高清屏上会被放大2倍,所以50 * 50 的图片会被放大到100 * 100
    所以,我们的解决思路是:
    如果我们想在手机上显示50*50的图片,根据手机的dpr,如果是2,则使用一张100*100的图片,然后
    通过css将其设置为 50*50,那么到了高清屏下,会自动的将其放大2倍,成为100*100,而我们图片
    背身就是100*100,所以不会失真
    */
  img{
    width: 50px;
    height: 50px;
  }
  
  </style>
</head>
<body>
  <img src="./images/2.jpg" alt="">
  <img src="./images/2@2.jpg" alt="">
  <img src="./images/4@4.jpg" alt="">
</body>
</html>

背景图片也采用同样的方式,准备的应该是北京尺寸2倍的图片,然后通过 background-size 将其设计成1倍

如何快速起初2倍图、3倍图,别忘了我们PS中的切图神器

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    .box1 {
      width: 375px;
      height: 200px;
      border: 1px solid black;
      background-image: url(./images/3.jpg);
      background-size: 375px;
    }
    .box2 {
      width: 375px;
      height: 200px;
      border: 1px solid black;
      background-image: url(./images/3@3.jpg);
      background-size: 375px;
    }
  </style>
</head>

<body>
  <div class="box1"></div>
  <div class="box2"></div>
</body>

</html>

总结 准备的图片是开发尺寸的2倍或者其他倍数

3. CSS3盒子模型的特点

设置盒子的尺寸以内容为准还是边框为准

传统模式宽度计算:盒子宽度= CSS 中设置的 border+width+padding

CSS3 盒子模型:盒子宽度=CSS 中设置的width 里面包含了 border 和 padding

也即是说 CSS3 盒子模型中,padding 和 border 的设置不会撑大盒子了
注意:移动端可以全部使用CSS3盒子模型,PC端如果需要兼容,使用传统模式,不考虑兼容,使用CSS3 盒子模型

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
  *{
    margin: 0;
  }
  img{
    box-sizing: border-box;;
    width: 100px;
    height: 100px;
    background-color: #fff;
    width: 50%;
    float: left;
    padding: 20px;
  }
  </style>
</head>
<body>
 <img src="./images/2@2.jpg" alt="">
 <img src="./images/2@2.jpg" alt="">
</body>
</body>
</html>

4. 单独制作移动端页面的布局方式

  • 流式布局(百分比布局)
  • flex弹性布局(强烈推荐)
  • less+rem+媒体查询布局
  • 混合布局
    响应式页面兼容移动端
  • 媒体查询
  • bootstrap

5. 布局视口、视觉视口、理想视口

  • layout
    viewport(布局视口):在PC端上,布局视口等于浏览器窗口的宽度。而在移动端上,由于要使为PC端浏览器设计的网站能够完全显示在移动端的小屏幕里,此时的布局视口会远大于移动设备的屏幕,就会出现滚动条。js获取布局视口:document.documentElement.clientWidth
    | document.body.clientWidth;
  • visual
    viewport(视觉视口):用户正在看到的网页的区域。用户可以通过缩放来查看网站的内容。如果用户缩小网站,我们看到的网站区域将变大,此时视觉视口也变大了,同理,用户放大网站,我们能看到的网站区域将缩小,此时视觉视口也变小了。不管用户如何缩放,都不会影响到布局视口的宽度。js获取视觉视口:window.innerWidth;
  • ideal
    viewport(理想视口):布局视口的一个理想尺寸,只有当布局视口的尺寸等于设备屏幕的尺寸时,才是理想视口。js获取理想视口:window.screen.width;

1、在桌面浏览器上,浏览器窗口与视口的宽度一致,而视口(CSS标准文档中称为“初始包含块”)是CSS百分比宽度推算的根源,因此,浏览器窗口是约束CSS布局的视口;
2、在手机上,有两个视口,布局视口会限制CSS布局;视觉视口决定用户看到的网站内容;
3、移动端浏览器还有个理想视口,它是对特定设备上的特定浏览器的布局视口的一个理想尺寸;
4、可以把布局视口尺寸定义为理想视口。这也是响应式设计的基础。

作者:小莫莫呀
链接:https://www.jianshu.com/p/7c5fdf90c0ef
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

从零开始学习信号完整性(SIPI)--1 简介 信号完整性就是研究如何让驱动芯片发出的信号经过传输通道被接收芯片正确接收的学问。 信号完整性包含了三个要素: 信号:是被传输的主体,我们首先要了解、熟悉信号的特性。 芯片:分为驱动芯片和接收芯片,信号完整性工程师就是要实现信号在驱动芯片和接收芯片之间的正确传输。 传输通道:是传输信号的介质,是信号所走的“路”。如何实现信号的正确传输呢?那就要信号完整性工程师为信号“修路”、“搭桥”。 阅读详情

相关推荐

Python+QMT量化交易实战:从零搭建你的第一个极速策略(附完整代码)

本文提供了一份详细的Python+QMT量化交易实战指南,手把手教你从零搭建一个可回测、可实盘的极速策略。内容涵盖环境配置、QMT核心机制解析、双均线策略的完整代码实现、回测优化方法以及实盘部署要点,帮助量化交易新手快速入门并掌握核心开发流程。

b9c0d的博客 1014

移动端web开发

移动端web开发

m0_74871359的博客 371

livox avia平台搭建

livox雷达数据采集平台搭建

Shilong的博客 1310

前端开发6项基础知识(掌握必备)移动Web开发篇

GPU英文全称是,中文翻译为图形处理器。GPU渲染是指使用图形处理单元(GPU)来渲染图像或视频的过程。GPU 是专门为处理图形数据而设计的硬件加速器,它可以比 CPU 更快地完成渲染任务。速度更快:GPU 可以比 CPU 更快地完成渲染任务,从而提高渲染效率。画质更好:GPU 可以支持更复杂的渲染技术,从而提高渲染质量。能耗更低:GPU 的能耗通常比 CPU 更低,从而提高设备的续航能力。游戏:游戏需要大量的渲染工作,因此 GPU 渲染在游戏中得到了广泛应用。

heiioworld_的博客 1845

java结合Ai

Spring AI 是 AI 工程的应用框架。其目标是将Spring生态系统的设计原则(如可移植性和模块化设计)应用于AI领域,并促进使用POJO作为应用程序的构建块到AI领域。特征跨 AI 提供商的可移植 API 支持,适用于聊天、文本到图像和嵌入模型。支持同步 API 和流 API 选项。还支持下拉以访问特定于模型的功能。聊天模型亚马逊基岩人类学Cohere的命令AI21 Labs的侏罗纪-2Meta 的 LLama亚马逊的泰坦人类学克劳德Azure 开放式 AI。

qq_67832732的博客 2848

跨模型的 API 调用与集成:使用 Spring AI 构建可移植的 API 代码,支持多个 AI 模型(如 OpenAI、Anthropic 等)的调用

Spring AI 是 Spring 生态系统中的一部分,旨在提供一种简单、可扩展的方式来集成人工智能模型。Spring AI 使得开发者可以使用现有的 Spring 体系结构方便地访问多种 AI 模型和服务,例如 OpenAI、Anthropic、HuggingFace 等。

秋元的博客 2404

移动端web开发超全详解

移动端Web开发需重点关注响应式设计、性能优化和可访问性。关键要点包括:使用viewport元标签和媒体查询实现响应式布局;优化触控体验(增大点击区域,禁用hover);性能方面采用图片优化、延迟加载等技术。可访问性需确保语义化HTML、足够对比度、屏幕阅读器兼容性,并通过工具(Lighthouse、axe)检测问题。开发中应采用"移动优先"策略,在真实设备测试,兼顾不同网络环境下的表现。

前端技术的学习整理 1398

【速通RAG实战:索引】4.RAG文档解析技术

通过本文技术方案,可构建高精准、高效率的文档解析流水线,为 RAG 应用提供坚实的知识底座。核心在于**格式解析的鲁棒性**和**语义分块的准确性**,后续通过持续的性能优化和质量监控,逐步提升索引质量和检索效率。

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 1545

移动web页面前端开发总结

工作笔记:移动web页面前端开发总结  转载来源:http://www.cnblogs.com/gyjWEB/p/3780374.html 移动web在当今的发展速度是一日千里,作为移动领域的门外汉,在这段时间的接触后,发现前端开发这一块做一个小小的总结。   1.四大浏览器内核 1.Trident (IE浏览器) :因为在早期IE占有大量的市场份额,所以以前有很多网页是根据

I_will_try的博客 5467

基于VSCode+clangd插件打造高效C++开发环境之四:clangd配置

本文介绍如何配置VSCode+clangd插件进行高效C++开发。重点内容包括:1)生成compile_commands.json文件,通过ninja工具提取编译命令并使用gen_compdb脚本转换;2)配置clangd命令行参数,如设置后台索引、并行度等;3)编写.clangd配置文件,调整编译标志和诊断选项;4)添加.clang-format文件定义代码风格;5)在VSCode中添加远程服务器工作目录。配置完成后需重启clangd服务使更改生效。文章还提供了MTK/QCOM等不同平台生成compile

5071

Xilinx系FPGA学习笔记(三)Vivado的仿真及ILA使用

接着学习vivado的使用方法。

贾saisai的博客 2546

从零开始学习移动端Web开发

背景 近年来,随着智能手机的普及,移动端开发受到了异常的关注。从传统的安卓、IOS原生手机系统应用开发,转向了移动端Web开发或者是混合开发,既然有需求,那就让我们一起来学习移动端Web开发吧。本文旨在让读者以最快的时间了解移动Web开发基础以及介绍一些常见问题。基础准备首先我们要有HTML/HTML5、CSS/CSS3基础知识(会简单的切图就可以了) ,如果能懂点JS那就更好啦。其次我们要清楚一些

前端向朔 5万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

web移动开发总结(一)

概述 移动web的概念和发展历史 移动web的开发方式和区别 响应式原理和媒体查询(重点) 响应式框架的介绍 bootstrap框架的基本使用 bootstrap全局CSS样式布局容器使用(重点) bootstrap全局CSS样式栅格系统使用(重点) bootstrap全局CSS样式响应式工具使用 微金所项目搭建和头部的结构 (重点) web前端 PC端的web : 在PC端电脑访问的web...

庚中 1万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

移动web开发(01)

布局视口为啥设置为980px?因为我们PC端的网页一般就是1000左右,所以差不多能显示完。布局视口的缺点,就是现实的pc的网页的内容会比较小。

m0_56947432的博客 2841

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

web与app开发java_移动web开发和移动app开发的区分

1、移动web开发这部分跟web前端开发差别不大,使用的技术都是html+css+js。区别为手机浏览器是webkit的天下,pc端是IE的天 下。手机网页可以理解成pc网页的缩小版加一些触摸特性。因为是在浏览器中进行的网页开发,所有最终代码具有跨系统平台的特性。2、web app开发特指的是用html5技术开发,之所以叫web app是因为他比较接近客户端应用程序的用户体验,可以和系统深度融合,...

weixin_35851508的博客 4551

常用移动web开发框架

纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile 、Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族,Sencha Touch来自于ExtJS。jQuery Mobile 和Sencha Touch都是比较成熟老牌的框架,项目中也有应用。国内也有公司,像BAT巨头也在探索和实现了适合自己的移动web...

简单 8314

移动WEB开发之流式布局

学习目标 能够知道移动web的开发现状 能够写出标准的viewport 能够使用移动web的调试方法 能够说出移动端常见的布局方案 能够描述流式布局 能够独立完成京东移动端首页 1. 移动端基础 1.1 浏览器现状 PC端常见浏览器 360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览器、搜狗浏览器、IE浏览器。 移动端常见浏览器 UC浏览器、QQ浏览器、欧朋浏览器、百度手机浏览器、360安全浏览器、谷歌浏览器、搜狗手机浏览器、猎豹浏览器、以及其他杂牌浏览器。 国内的UC和QQ,百度等手机浏览器

xiecheng1995的博客 2009

万字详解移动web开发

一文学会移动web开发

m0_62404013的博客 1065

web移动开发

web移动开发 一些标签 <meta>标签。 vscode的默认meta标签为: <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> charset指编码方式。 X-UA-Compatible是针对ie8新加的一个设置

gwhfamily的博客 1252

移动Web开发介绍

移动端开发 在移动端进行web页面的开发,开发出来的页面是运行在浏览器上的 移动端开发与PC端开发的区别 移动端浏览器大多基于webkit内核,属于高级浏览器,支持h5c3特性,不需要考虑兼容性问题 视口 什么是视口 浏览网页的窗口,视口的大小决定了当前设备是否能够将网页完整呈现。 PC端在浏览器最大化的情况下,视口的宽度就是电脑屏幕的宽度。 移动端,设备厂商为了能够将PC端网页完整的显示在移...

weixin_41070391的博客 967
上一篇: 前端swiper实现轮播图
下一篇: flex弹性布局
Web_front
博客等级 码龄7年 5粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值