移动端网站开发

article/2025/11/7 13:41:44

受限于流量太少,以前的手机网站无法做成像现在一样的效果,只能通过超链接的形式实现简单的网页

随着3G,4G,5G的商用,我们的流量越来越多,网速越来越快。越来越多的应用开始去开发网页版。

移动端仿真

未来我们开发移动端网站,需要在电脑先看看对应的移动端的效果,所以我们需要一个“模拟器”,浏览器的F12中都带有“模拟器”——仿真模式。

打开F12,点击左上角按钮,切换设备仿真模式,可以进入到对应的“模拟器”

设备选择

iphoneSE的设备选择可以选择对应的相关设备,一般企业开发都是按照iphone6/7/8/SE2的尺寸进行开发

  • iphone5 320
  • iphone6 375
  • iphone6p 414

所以现在的设计图标准,大多都是按照375px(750px)这是标准。

移动端开发中的适配问题

移动端没有版心,但是因为手机屏幕分辨率过多,所以没办法给每一个手机分辨率写一套页面,所以我们的网页需要自适应。那么在移动端,如何自适应是我们需要注意的问题。移动端布局要比PC端更简单。移动端适配,如果想要完全搞明白,有些难,但是如果想要上手写,很简单。

rem布局方案

什么是rem

rem单位 是相对于HTML字体大小的单位,把HTML字体大小作为我们网页的统一参照尺寸,当我们按照这个大小进行布局时,最终改变对应的HTML字体大小,我们的所有元素都会等比缩放。

自动缩放的机制

我们需要一个js,来实现屏幕宽度改变时,自动根据标准计算出来html字体大小

设计图标准:750px / 100px

如何使用rem方案

在网页中引入rem.js,这个js是自己写的。但是现在我们不需要自己写,直接引入到我们的项目中即可

function getRem(design_w, unit) {var html = document.getElementsByTagName("html")[0];var real_w = document.documentElement.clientWidth;(real_w > design_w) && (real_w = design_w);html.style.fontSize = real_w / design_w * unit + "px";
}
getRem(750, 100);
//window.addEventListener("resize",getRem);
window.onresize = function () {getRem(750, 100)
};

把这个js放在我们的项目中,网页里未来引入即可。尽量放在head中。

<!-- 引入js -->
<script src="./js/rem.js"></script>

不如记住一句话:

引入rem.js,设计图上量出来是多少px,就除以100 + rem单位。

VSCode px自动转rem插件

安装完成后,点击扩展设置

把箭头位置改成100即可。

下面的插件可以自动转换,上面的插件需要按alt+z转换。

vw方案

视口设置

 <meta name="viewport" content="width=device-width, initial-scale=1.0">

在我们的网页的基本结构上,都有上面的代码,他不影响电脑网页的布局,但是它可以让网页上的元素的大小,在手机上显示的时候和正常大小一样大。

移动端,这个代码必须要添加

vw单位

vw指视口单位,通俗来讲,就是1vw表示屏幕宽度的100分之1,视口单位还有一个vh单位,表示屏幕高度的100分之1,vh和我们对应的适配方案没有关系。因此我们只需要考虑vw。

100vh是浏览器可用的区域高度,100vw是浏览器可用的区域宽度

vw方案带来的好处

不用引入额外的js,原生支持。

vw方案的布局方法

设计图上量出来多少,除以 7.5 + vw单位

我们可以使用vw作为我们的单位进行布局,需要借助vscode帮我们进行计算。

安装对应的插件,帮助我们快速的转vw

视网膜屏的问题

多倍屏,高分屏,视网膜屏,在一个对应的尺寸中,塞下成倍的像素点。这些屏幕的显示效果会比1倍屏显示效果更清晰,但是,如果还用1倍图,会变模糊,所以在开发过程中,我们需要使用2倍图甚至三倍图

一般UI设计师应该给前端提供视觉稿,做对应的布局使用,他们自己需要有放大稿,做切图使用放大稿,切多倍图,让图片在手机上显示不模糊

未来设计师不一定写750,也不一定做放大稿

DPR

设备像素比 = 物理像素 / 逻辑像素

  • iphonese 物理像素750 * 1334 逻辑像素 375 * 667 dpr 2
  • iphone6p 物理像素 1240 逻辑像素 414 dpr 3

如果我们想知道对应的设备是几倍屏,显示设备像素比即可

移动端的问题

  1. 移动端没有hover,如果真的想要点击变样式,搜开消失,可以使用:active伪类。
  2. 超链接点击高亮

给reset里添加一个样式

a {-webkit-tap-highlight-color: transparent;
}
  1. 网页弹性滑动

我们不想添加左右的弹性滑动效果

* {touch-action: 值;
}
  • pan-x 只能横向滑动
  • pan-y 只能纵向滑动
  • pan-down 只能向下滑动
  • pan-up 只能向上滑动

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

相关文章

移动端开发

2022.3.5 学习笔记 目录 四、移动端开发方案 五、 移动端技术解决方案 六、移动端常见布局 移动端开发之流式布局&#xff1a; 一、基础 二、制作京东移动端首页案例 四、移动端开发方案 ①单独制作移动端页面 &#xff08;主流&#xff09; 京东商城手机版 淘宝触屏版…

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确认是否正确打包 然而都没…