移动web开发基础

2023-10-27

移动web开发

浏览器现状

PC 端常见浏览器

说明:360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览器、搜狗浏览器、IE浏览器

移动端常用浏览器

1、说明:UC浏览器、QQ浏览器、欧朋浏览器、百度手机浏览器、360安全浏览器、谷歌浏览器、搜狗手机浏览器、猎豹浏览器以及其他杂牌浏览器
2、国内的UC和QQ,百度等手机浏览器都是根据Webkit修改过来的内核,国内尚无自主研发的内核
3、总结:兼容移动端主流浏览器,处理Webkit内核浏览器即可

手机屏幕现状

  • 移动端设备屏幕尺寸非常多,碎片化严重
  • Android设备有多种分辨率:480X800,480X854,540X960,720X1280,1080X1920等,还有传说中的2K,4K屏
  • 开发者无需关注这些分辨率,常用尺寸单位是px

常用移动端屏幕尺寸

在这里插入图片描述

移动端调用方式

  • Chrome DevTools(谷歌浏览器)的模拟手机调试
  • 搭建本地web服务器,手机和服务器一个局域网内,通过手机访问服务器
  • 使用外网服务器,直接IP或域名访问

总结

  • 移动端浏览器主要对webkit内核进行兼容
  • 心在开发的移动端主要针对手机端开发
  • 现在移动端碎片化较为严重,分辨率和屏幕尺寸大小不一
  • 使用谷歌浏览器模拟手机界面以及调试

视口

视口(viewport):浏览器显示页面内容的屏幕区域。视口可分为布局视口、视觉视口和理想视口

1、布局视口 layout viewport

  • 一般移动设备的浏览器都默认设置了一个布局视口,用于解决早期的PC端页面在手机上显示的问题
  • IOS,Android 基本都将这个视口分辨率设置为980px,所以PC上的页面大多都能在手机上呈现,只不过元素看上去很小,一般默认可通过手动缩放网页
    在这里插入图片描述

2、视觉视口 visual viewport

  • 用户正在看到的网站的区域(注意:是网站的区域)
  • 用户可通过缩放去操作视觉视口,但不会影响布局视口,布局视口仍保持原来的宽度 -在这里插入图片描述

3、理想视口 ideal viewport

  • 为了使用网站在移动端有最理想的浏览器和阅读宽度而设定
  • 理想视口,对设备来讲,是最理想的视口尺寸
  • 需要手动填写视口标签通知浏览器操作
  • meta 视口标签的主要目的:布局视口的宽度应该与理想视口的宽度一致,简单理解就是设备有多宽,布局的视口就有多宽

4、meta 视口标签

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

在这里插入图片描述

5、标准的viewport 参数设置

  • 视口宽度和设置保持一致
  • 视口的默认缩放比例1.0
  • 不允许用户自行缩放
  • 最大允许的缩放比例1.0
  • 最小允许的缩放比例1.0

6、总结

  • 视口就是浏览器显示页面内容的屏幕区域
  • 视口分为布局视口、视觉视口和理想视口
  • 想要添加理想视口,需要给移动端页面添加meta 视口标签

二倍图

1、物理像素和物理像素比

  • 物理像素点指的是屏幕显示的最小颗粒,是物理真实存在的。
  • 开发时1px不一定等于1个物理像素
  • PC端页面1px等于1个物理像素,但移动端不尽相同
  • 1个px能显示的物理像素点的个数,称为物理像素比或屏幕像素比
  • PC端和早前的手机屏幕/普通手机屏幕:1CSS像素 = 1物理像素
  • Retina(视网膜屏幕)是一种显示技术,可以把不同的物理限速点压缩到一块屏幕里,从而达到更高的分辨率,并提高屏幕显示的细腻程度

在这里插入图片描述

多倍图

  • 对于一张50px*50px的图片,在手机Retina屏中打开,按照刚才的物理像素比会放大倍数,从而造成图片模糊
  • 在标准的viewport设置中,使用多倍图来提高图片质量,解决在高清设备中的模糊问题
  • 通常使用二倍图,因为iPhone6\7\8的影响,但是现在还存在3倍图,4倍图的情况,按照实际开发需求
  • 背景图片注意缩放问题

移动端开发选择

1、移动端主流方案

1、单独制作移动端页面(主流)

  • 京东商城手机版
  • 淘宝触屏版
  • 苏宁易购手机版
  • 携程网手机版

2、响应式兼容移动端(其次)

  • 三星手机官网

2、单独制作移动端页面(主流)

说明:通常情况下,网址域名前面加m(mobile)可以打开移动端。通过判断设备,如果是移动设备,则跳到移动端页面

3、响应式兼容PC移动端

1、响应式网站:即PC和移动端公用一套网站,只不过在不同宽度的屏幕下,样式会自动适配,三星电子官网:通过屏幕宽度来改变样式,以适应不同终端
2、缺点:制作麻烦,需要花大量时间调兼容性问题

4、总结

  • 市场常见移动端开发:单独制作移动端页面 和 响应式页面 两种方案
  • 市场主流选择:单独制作移动端页面

移动端技术解决方案

1、浏览器

  • 移动端浏览器基本以为比特内核为主,因此需要考虑webkit兼容问题
  • 可正常使用H5标签和CSS3样式
  • 浏览器的私有前缀只需要考虑加 -webkit- 即可

在这里插入图片描述

2、CSS 初始化 normalize.css

1、移动端CSS推荐使用normalize.css
2、优点

  • Normalize.css:保护了有价值的默认值
  • Normalize.css:修复了浏览器BUG
  • Normalize.css:模块化
  • Normalize.css:拥有详细文档
  • 官方网址:necolas.github.io/normalize.css/

3、盒子模型 box-sizing

  • 传统模型宽度计算:盒子宽度 = CSS设置的width + border + padding
  • CSS3 盒子模型:盒子宽度 = CSS中设置的宽度width里面包含了border 和 padding ,即CSS3中的盒子模型padding和border不会撑大盒子
	CSS3 盒子模型
	box-sizineg: border-box;
	传统盒子模型
	box-sizing: content-box;

4、特殊样式

	CSS3 盒子模型
	box-sizing: border-box;
	-webkit-box-sizing: border-box;

	点击高度需要设置清除 设置为transparent 完全透明
	-webkit-tap-highlight-color: transparent;

	在移动端浏览器默认的外观在IOS上加上这个属性才能给按钮和输入框设置样式
	-webkit-appearance: none;

	禁止长按页面时的弹出菜单
	img,a {-webkit-touch-callout: none};

移动端常见布局方式

1、单独制作移动端页面(主流)

  • 流式布局(百分比布局)
  • flex弹性布局(强烈推荐)
  • less + rem + 媒体查询布局
  • 混合式布局

2、响应式页面兼容移动端(其次)

  • 媒体查询
  • bootstrap
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

移动web开发基础 的相关文章

  • vue的组件

    在Vue中 组件是可复用的代码块 用于构建用户界面 Vue的组件系统允许您将界面拆分为独立的 可重复使用的部件 提供了更好的代码组织和复用性 以下是在Vue中创建组件的基本步骤 创建一个组件实例 可以使用Vue extend 方法创建一个V
  • uni.ownloadFile下载下来的文件没有后缀名

    let filepathss plus io convertLocalFileSystemURL data tempFilePath plus io resolveLocalFileSystemURL filepathss function
  • python画彩虹和小熊

    前言 今天 我们来画两个简单的图形 一 彩虹 彩虹 又称天弓 客家话 天虹 绛等 简称为 虹 是气象中的一种光学现象 当太阳光照射到半空中的水滴时 光线被折射及反射 在天空上形成拱形的七彩光谱 雨后常见 形状弯曲 通常为半圆状 色彩艳丽 东
  • Fiddler工具 — 9.命令行和状态栏

    1 命令行 命令行在Fiddler的左下方的黑色窗口 也叫 QuickExec 可以调用 Fiddler的内置命令 这一系列内置的函数用于筛选和操作会话列表中的session 会话 虽然它不是很显眼 但用好它 会让你的工作效率提高 N 倍
  • Firefox浏览器-渗透测试插件推荐

    在日常工作中可能需要一些浏览器插件辅助我们做工作 下面是比较好的 当然不一定对你有用 找到适合自己的即可 FoxyProxy FoxyProxy是一个高级的代理管理工具 它完全替代了Firefox有限的代理功能 它提供比SwitchProx
  • 2020年认证杯SPSSPRO杯数学建模D题(第二阶段)让电脑桌面飞起来全过程文档及程序

    2020年认证杯SPSSPRO杯数学建模 D题 让电脑桌面飞起来 原题再现 对于一些必须每天使用电脑工作的白领来说 电脑桌面有着非常特殊的意义 通常一些频繁使用或者比较重要的图标会一直保留在桌面上 但是随着时间的推移 桌面上的图标会越来越多
  • 从three.js旋转动画,我了解了requestAnimationFrame

    前言 大家好 我是南木元元 热衷分享有趣实用的文章 希望大家多多支持 一起进步 个人主页 南木元元
  • 拼多多详情API开启运营比价新纪元

    随着互联网的快速发展 电商行业正在迅速崛起 拼多多作为一家新兴的电商平台 凭借其独特的营销策略和创新的商业模式 成为了电商行业的一匹黑马 在拼多多的成功背后 其详情API接口营销起到了至关重要的作用 本文将详细介绍拼多多详情API接口营销的
  • ECMAScript简介及特性介绍

    ECMAScript 简称ES 是JavaScript的规范 同时也是被广泛采用和实现的脚本语言标准 从最初的1996年推出第一版至今 ECMAScript已经经历了数十年的发展和改进 成为了互联网开发中的重要基石之一 本文将对ECMASc
  • 接口测试之Fiddler弱网测试

    前言 目前市面上的APP功能越来越丰富 移动端测试也越显为重要 因为用户在网速慢的情况下 你的网站 软件 总能出现各种各样的问题 请不要忽略这一点 针对在不同的网络情况下 接下来 本篇要讲述的就是在通过fiddler对APP进行模拟弱网测试
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 每天10个前端小知识 <Day 7>

    前端面试基础知识题 1 什么是尾调用优化和尾递归 尾调用的概念非常简单 一句话就能说清楚 就是指某个函数的最后一步是调用另一个函数 function f x return g x 上面代码中 函数f的最后一步是调用函数g 这就叫尾调用 尾调
  • 基于java的web仓库管理系统设计与实现

    基于java的web仓库管理系统设计与实现 I 引言 A 研究背景和动机 基于Java的Web仓库管理系统是近年来快速发展的领域之一 它提供了丰富的功能 如数据存储 数据检索 数据分析和数据可视化等 本文将重点介绍基于Java的Web仓库管
  • 探索Web开发的未来——使用KendoReact服务器组件

    Kendo UI 是带有jQuery Angular React和Vue库的JavaScript UI组件的最终集合 无论选择哪种JavaScript框架 都可以快速构建高性能响应式Web应用程序 通过可自定义的UI组件 Kendo UI可
  • Vue3 和Vue2的区别,以及钩子函数的使用

    Vue js 3 和 Vue js 2 是两个主要版本的流行前端框架 它们之间有很多区别 包括性能优化 新特性和改进的API等 以下是一些Vue 3与Vue 2之间的主要区别 以及一些示例代码来说明这些差异 1 性能优化 响应式系统 Vue
  • 低代码-添加按钮组件设计

    效果图 可拆分为以下细节 按钮列表 删除 两个操作需同步删除 点击外侧删除 点击复选框删除 添加 点击复选框添加 示例代码 技术栈 vue3 arco design ts less tailwindcss
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • windows 杀死占用端口的程序

    在Windows上 你可以使用以下命令来查找并杀死占用某个端口 如9200 的程序 打开命令提示符 Command Prompt 或者PowerShell 运行以下命令来查找占用9200端口的程序的进程ID PID netstat ano
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 获取年与年之间的所有年份

    function getYearsBetween startYear endYear var years 存放结果的数组 for var year startYear year lt endYear year years push year

随机推荐

  • Redis第九讲 Redis之Hash数据结构Dict字典哈希算法与hash存储过程

    Redis dict使用的哈希算法 前面提到 一个kv键值对 添加到哈希表时 需要用一个映射函数将key散列到一个具体的数组下标 Redis 目前使用两种不同的哈希算法 MurmurHash2 是种32 bit 算法 这种算法的分布率和速度
  • java imap 乱码_用 imaplib 只取信件头会取到乱码,取整封信则正常

    最近用 Python 的 imaplib 和 email 从一个 gmail 信箱中取信 因为信可能有很多 而我只想取特定发件人发来的信 所以就只先取信头 通过类似 rv data self M fetch num BODY HEADER
  • 口语理解任务源码详解系列(四)Ernie模型实现

    Ernie模型实现口语理解任务 一 构建词表 def word2id func raw dataset returns a dictionary of words and their ids print raw dataset raw da
  • The connection property 'zeroDateTimeBehavior' only accepts values of the form

    前景概述 表user info中created time 设计为 created time timestamp not null default current timestamp java插入数据时没有填写createdTime字段 就抛
  • 自定义view之水波浪进度球

    这段时间项目做完了 本以为可以偷懒一段时间 结果领导又接了一个车载项目让我做 很气但是没办法 还是得搞 谁让我是搬砖的呢 今天搞了一个水波纹的自定义控件 先看效果 第一眼还是觉得可以看的 其实我觉得有点丑 ui妹子说挺好看 好吧 那就这样吧
  • 【设计经验】5、Verilog对数据进行四舍五入(round)与饱和(saturation)截位

    原文链接 https www cnblogs com liujinggang p 10549095 html
  • 浅谈chrony服务

    浅谈chrony服务 chrony概念 Chrony 是 NTP 客户端的替代品 Chrony 的优势 更快的同步只需要数分钟而非数小时时间 从而最大程度减少了时间和频率 误差 对于并非全天 24 小时运行的虚拟计算机而言非常有用 能够更好
  • 图的m着色问题——回溯法及其优化(变量排序MRV, 值排序MCV, 前向检查ForwardChecking, 智能回溯, 边相容,K阶相容)python C++实现

    文章目录 图的m着色问题背景 背景知识 问题描述 回溯法的原理及其实现 回溯法基本思想 朴素回溯法解决图的m着色问题 回溯优化策略 回溯法优化 变量排序MRV 回溯法优化 值排序MCV 回溯法优化 前向检查ForwardChecking 边
  • [Transformer]TNASP: A Transformer-based NAS Predictor with a Self-evolution Framework

    TNASP 基于Transformer和自进化的的NAS Predictor Abstract Section I Introduction Section II Related Work Training based network pe
  • C++11-14 第5讲 Uniform Initialization 一致初始化值 &initializer_list

    版权说明 本博文属于个人笔记 本人保留对本文的所有权益 未经许可不得以任何形式转载 Uniform Initialization 一致初始化值 新手困惑初始化怎么写 可能发生在 中 任何初始化都用共通写法 旧 Rect r1 1 2 3 R
  • 6.3.3法线贴图

    1 法线贴图必须与灯光同时进行 2 从法线纹理取得模型空间的法线 再根据切线空间到世界空间的变换矩阵 传递到世界坐标系的法线 再进行计算
  • 和你一起draw9patch

    前言 在工作当中 你总会遇到制作点9图片的时候 我就在公司的新项目中遇到了 很多人说 这交给UI妹妹做就好了 为啥要烦劳我们自己动手 第一呢 作为程序员的我们 多学点东西是没错的 第二呢 UI妹妹做的点9图片产生的效果不是你想要的 一 制作
  • 小程序如何使用vant

    小程序如何使用vant 使用 Vant Weapp 前我强烈的建议大家去看下微信官方的 小程序简易教程 和 自定义组件介绍 点击下方超链接 https youzan github io vant weapp quickstart 第一步 首
  • 目标检测入门概念知识

    一个常见的目标检测网络 其本身往往可以分为一下三大块 Backbone network 即主干网络 目标检测网络的主体结构 是目标检测网络最为核心的部分 大多数时候 backbone选择的好坏 对检测性能影响是十分巨大的 代表网络有 VGG
  • ORB_SLAM2特征匹配

    ORB SLAM2特征匹配 SearchByProjection 使用于运动模型跟踪 函数原型 函数简介 知识难点 由两帧绝对位姿推出两帧相对位姿 前进与后退对搜索范围的影响 描述子的比较 方向一致性检测 运用于局部地图跟踪 函数原型 函数
  • 注解处理器APT在java中的实现

    概念理解 APT 英文全名 Annotation Processor Tool 即 注解处理器 它是 javac 的一个工具 这是Sun为了帮助注解的处理过程而提供的工具 apt被设计为操作Java源文件 而不是编译后的类 作用阶段示意图如
  • 正则表达式使用文档

    通过网站 https regex101 com 可以测试正则表达式的匹配结果及匹配过程 本文章抛开各个编程语言实现差异 仅做正则本身的介绍 会尽量将正则这玩意说明白 使得你看完这边文章后对正则基本可以运用自如 温馨提示 这篇文章会比较长 大
  • Nginx php 错误日志排查

    遇到错误 通常解决流程如下 比如一个php存储服务器的文件上传问题 px ef grep php fpm 查看fpm 是否启动 查看 fpm 运行用户以及权限 发现运行用户为 nobody 组 nobody 文件写入权限为 root cho
  • logPath_IS_UNDEFINED

    logPath IS UNDEFINED 解决Springboot项目启动的时候日志文件找不到路径新建文件夹的问题 网上也有很多案例 大部分都是路径没正确引入 或者引入springCloud依赖 在bootstrap yml配置 今天自己摸
  • 移动web开发基础

    目录 移动web开发 浏览器现状 PC 端常见浏览器 移动端常用浏览器 手机屏幕现状 常用移动端屏幕尺寸 移动端调用方式 总结 视口 1 布局视口 layout viewport 2 视觉视口 visual viewport 3 理想视口