移动端开发

article/2025/11/7 14:06:45

2022.3.5 学习笔记

目录

四、移动端开发方案

五、 移动端技术解决方案

六、移动端常见布局

移动端开发之流式布局:

一、基础

二、制作京东移动端首页案例


四、移动端开发方案

单独制作移动端页面 (主流) 京东商城手机版 淘宝触屏版 苏宁易购手机版

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

响应式页面兼容移动端 (其次) 三星手机官网 apple手机官网

通过判断屏幕宽度来改变样式, 以适应不同终端。但制作麻烦, 需要花很大精力去调兼容性问题。

五、 移动端技术解决方案

1. 移动端浏览器兼容问题

移动端浏览器基本以 webkit 内核为主, 因此我们只需考虑webkit兼容性问题。 我们可以放心使用 H5 标签和 CSS3 样式,同时针对浏览器的私有前缀只需考虑添加 webkit 即可。

 2.移动端CSS初始化问题

移动端 CSS 初始化推荐使用 normalize.css。

Normalize.css:保护了有价值的默认值,修复了浏览器的bug ,是模块化的,拥有详细的文档。官网地址: http://necolas.github.io/normalize.css/ 5.2 CSS初始化

3. 移动端CSS3 盒子模型问题

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

/* 传统盒子模型 */ box-sizing: content-box;

②CSS3盒子模型: 盒子的宽度 = CSS中设置的宽度width ,里面包含了 border 和 padding,也就是说, 我们的CSS3中的盒子模型中padding 和 border 不会撑大盒子

/*CSS3 盒子模型 */ box-sizing: border-box;

移动端可以全部使用CSS3 盒子模型;PC端如果完全需要兼容就用传统模式, 如果不考虑兼容性就选择 CSS3 盒子模型。

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. 响应式页面兼容移动端 (其次)

媒体查询 、bootstarp

移动端开发之流式布局

一、基础

流式布局, 就是百分比布局, 也称非固定像素布局。通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受固定像素的限制, 内容向两侧填充。流式布局方式是移动web开发使用的比较常见的布局方式。

max-width 最大宽度(max-height 最大高度)        min-width 最小宽度 (min-height 最小高度)

 

二、制作京东移动端首页案例

1.我们采取单独制作移动页面方案、布局采取流式布局。

2.搭建相关文件夹结构

3.设置视口标签以及引入初始化样式

<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <link rel="stylesheet" href="css/normalize.css"> 
<link rel="stylesheet" href="css/index.css">

4. 常用初始化样式

body { margin: 0 auto; min-width: 320px; max-width: 640px; background: #fff; font-size: 14px; font-family: -apple-system, Helvetica, sans-serif; line-height: 1.5; color: #666; 
}

 5.二倍精灵图做法(注意)

①在PS里面把精灵图等比例缩放为原来的一半(Ctrl+T)。千万不要保存,否则会修改精灵图的大小,我们只是为了测量缩放后的坐标而已。

测量所需要图片在缩放后精灵图中的坐标x、y。background: url( ) no-repeat x y;

③将代码里面background-size修改为精灵图原来宽度的一半,高度设置为auto

6. 图片格式

①DPG图片压缩技术

京东自主研发推出 DPG 图片压缩技术, 经测试 该技术, 可直接节省用户近 50% 的浏览流量, 极大的提升了用户的网页打开速度。 能够兼容 jpeg , 实现全平台、 全部浏览器的兼容支持, 经过内部和外部上万张图片的人眼浏览测试后发现, 压缩后的图片和 webp 的清晰度对比没有差距。

② webp 图片格式

谷歌开发的一种旨在加快图片加载速度的图片格式。 图片压缩体积大约只有 JPEG 的 2/3 , 并能节省大量的服务器宽带资源和数据空间。


http://chatgpt.dhexx.cn/article/dKfqqmkB.shtml

相关文章

web前端开发之移动端基础

web前端开发之移动端基础 一、物理像素(px) 定义&#xff1a;虚拟像素&#xff0c;可以理解为“直觉”像素&#xff0c;CSS和JS使用的抽象单位&#xff0c;浏览器内的一切长度都是以CSS像素为单位的&#xff0c;CSS像素的单位是px。 1.2 像素到底是什么 像素&#xff08;px…

前端移动端web开发(一)

一、前端开发 1.前端开发分类&#xff1a; PC端开发&#xff1a;页面主要运行在PC端浏览器中 移动端开发&#xff1a;页面主要运行在手机上 移动web开发 在移动端表现良好的页面&#xff0c;如新浪网 混合式开发&#xff08;Hybrid App&#xff09; 也叫“套壳开发”&#xf…

移动端Web开发 基础知识

文章目录 移动端Web开发移动端基础浏览器视口样式编写分辨率和设备像素比二倍图SVG矢量图 移动端Web开发 移动Web开发的两种主流方案&#xff0c;一种是单独制作移动端页面&#xff0c;另一种是制作响应式页面 移动端页面&#xff1a; 单独制作移动端页面的优势和劣势&#…

(一)移动端 Web 开发基础

文章目录 一、移动 Web 开发基础概念1. 像素(1) 分辨率(2) 物理像素(3) CSS 像素(4) 设备像素比(5) 标清屏和高清屏(6) 缩放(7) PPI / DPI 2. 视口 viewport 二、移动 Web 开发基础知识1. box-sizing2. 图标字体3. flex 布局(1) 什么是 flex 布局(2) flex 布局的基本概念(3) fl…

移动端web开发

相关阅读&#xff1a; WebApp与Native App的区别&#xff1f; 在高端智能手机系统中有两种应用程序&#xff1a;一种是基于本地(操作系统)运行的APP;一种是基于高端机的浏览器运行的WebApp&#xff08;基于WEB形式的应用程序&#xff09; Native App&#xff1a; 1、开发成本非…

Web前端开发 移动端开发(快速入门)

目录 一、理论知识1.视口2.物理像素和物理像素比3.二倍图4.移动端开发选择 二、移动端开发流程1.技术选型2.搭建文件结构3.SEO优化3大标签4.设置favicon.ico(logo图片)5.视口标签和初始化样式6.设置自适应尺寸&#xff08;两种方法&#xff09;1.方法一&#xff1a;创建common.…

移动端web开发笔记(一)

我本来一直在开发PC端的网页的&#xff0c;但是看到很多招聘都要求要有移动端开发的经验&#xff0c;所以开始学习一下&#xff01; 先搞清楚两个概念&#xff0c;移动端web开发&#xff0c;web app开发 1、 移动web开发&#xff08;pc端的页面用手机浏览器打开&#xff09; …

移动web开发

参考博客&#xff1a; 浅析移动端的视口 什么是视口 布局们 黑马程序员之flex布局 一、基础所知 常见浏览器QQ浏览器、百度手机浏览器、360、谷歌浏览器等都是根据Webkit修改过来的内核&#xff0c;因此移动浏览器主要对webkit进行兼容。且移动端设备屏幕尺寸碎片化&#xff…

方法重载与重写的区别

1.方法重载和重写都是实现多态的方式&#xff0c;区别在于重载是编译时多态&#xff0c;重写是运行时多态。 2.重载是在同一个类中&#xff0c;两个方法的方法名相同&#xff0c;参数列表不同&#xff08;参数类型、顺序、个数&#xff09;&#xff0c;与方法返回值无关&#x…

C#重载与重写的区别

前言&#xff1a;在之前的博文中&#xff0c;我总结过重载与重写的区别与用法&#xff0c;本博文算是一个系统的概述与总结。 文章目录 一、重载与重写的区别二、重载与重写的特征三、重载与重写的对比 一、重载与重写的区别 重载必须在同一个类&#xff0c;重写在派生类。重…

重载和重写的区别总结

目录 1. 什么是重载 2. 什么是重写 3. 二者的区别 1. 什么是重载 重载&#xff08;overload&#xff09;&#xff0c;它是指我们可以定义一些名称相同的方法&#xff0c;通过定义不同的输入参数来区分这些方法&#xff0c;然后再调用时&#xff0c;VM就会根据不同的参数样式…

Java之 重载 重写的区别

方法的重写和重载是Java多态性的不同表现&#xff1b;重写是父类与子类之间多态性的一种表现&#xff0c;重载是一个类中多态性的一种表现。重载 在同一个类中&#xff0c;多个方法有相同的方法名&#xff0c;但参数列表不同&#xff0c;这种同名不同参的方法就是重载重写 子类…

java中方法重载和重写的区别

方法重载和重写&#xff0c;光从名称上来说&#xff0c;很类似&#xff0c;也很容易弄错&#xff0c;接下来我们先简述两者的区别和联系。 1. 方法重载 首先方法重载是同一个类中的不同方法间的关系&#xff0c;这些方法具有同名(方法名一样)&#xff0c;但是具有不同的参数列…

重载和重写的区别(详解)

1、方法重写 概念&#xff1a; 重写是子类对父类的允许访问的方法的实现过程进行重新编写&#xff0c;返回值和形参都不能改变。即外壳不变&#xff0c;核心重写&#xff01; 好处&#xff1a; 重写的好处在于子类可以根据需要&#xff0c;定义特定于自己的行为。 也就是说…

java中重载与重写的区别

重写&#xff08;Overriding&#xff09; 重载&#xff08;Overloading&#xff09; 类的数量 父子类、接口与实现类 本类 方法名称 一致 一致 参数列表 一定不能修改 必须修改 返回类型 一定不能修改 可以修改 异常 可以减少或删除&#xff0c;但不能扩展 可以…

重载和重写的区别有哪些?

重载和重写的区别有以下几点&#xff1a; 一、定义上的区别&#xff1a; 1、重载是指不同的函数使用相同的函数名&#xff0c;但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 2、覆盖&#xff08;也叫重写&#xff09;是指在派生类中重新对基类…

重载和重写有什么区别

一、定义上的区别&#xff1a; 1、重载是指不同的函数使用相同的函数名&#xff0c;但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 2、覆盖&#xff08;复也叫重写&#xff09;是指在派生类中重新对基类中的虚函数&#xff08;注意是虚函数&…

重载和重写区别

以下都是Java的基础面试题&#xff0c;相信大家都会有种及眼熟又陌生的感觉、看过可能在短暂的面试后又马上忘记了。JavaPub在这里整理这些容易忘记的重点知识及解答&#xff0c;建议收藏&#xff0c;经常温习查阅。 文章目录 3. 重载和重写区别10道不得不会的Java基础面试题 3…

getBytes的坑

由于业务需要&#xff0c;想要获取value字符串的字节长度&#xff0c;于是用了下面方法。 int length value.getBytes().length; 发包给测试的时候&#xff0c;于是奇怪问题产生了。 测试的运行效果和我这边不一样。 1、重启服务 2、查看class确认是否正确打包 然而都没…

java中bitconverter_BitConverter.GetBytes 方法以什么顺序返回字节数组

前言 我在“浅谈 ZipInteger”一文中的 ZipInteger 结构中使用了 BitConverter 类的 GetBytes 方法。当时我是假设 GetBytes 方法根据 IsLittleEndian 的值不同而按照不同的顺序返回字节数组。但是 MSDN 有关 BitConverter 类的文档中没有对此作出明确的说明。请参见我在 MSDN …