web移动开发

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

web移动开发

手机内置浏览器:

  • Android:Andriod Browser
  • IOS:Mobile Safari
  • BlackBerry:Webkit
  • Symbian S60: Web Browser for S60
    其浏览器的核心都是基于Webkit

智能手机Web浏览器的特点:

  • 有限的屏幕尺寸
  • 触屏、缩放
  • 硬件设备的提升
  • 基于Webkit内核

因为手机屏幕尺寸原因,所以在pc端可以展示的很多内容,无法在手机端展示,这时候就需要对手机端的页面进行设计。

以下引用自移动端web页面适配(整理版)

早期网页设计采用静态布局,通过<meta>标签中的applicable-device应用设备标识识别移动设备,即<meta name= 'applicable-device' content = 'mobile'>,在<meta>标签中的viewport标签中设置width,通过js动态修改标签的initial-scale使得页面等比缩放,刚好占满整个屏幕。
一些文章中有提到静态布局中页面各个元素采用px为单位,这种方案实现简单,不存在兼容性问题,但用户体验很不友好。

后面出现流式布局,使用百分比%定义宽度高度使用px固定,根据可视区域大小实时进行尺寸调整,通常使用max-width/min-width控制尺寸范围过大或者过小。
这种方案实现比较简单,但在大屏手机或横竖屏切换场景下可能会导致页面元素被拉伸变形,字体大小无法随屏幕大小发生变化。

顺应不同页面字体大小展现问题,出现了弹性布局。这种布局方案下,包裹文字的元素的尺寸采用em/rem为单位,页面主要划分区域的尺寸依据情况使用px、百分数或者em/rem

上面的这几种方案下,页面元素的大小按照屏幕分辨率进行适配调整,但是整体布局不变,对于响应式web设计,网页布局会随着访问它的视口及设备的不同呈现不同的样式,在实现上可能会以上多种方案的结合,同时搭配 媒体查询 技术使用,使得一个页面在多个终端 (PC, mobile, pad) 呈现满意效果。

meta标签

<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新加的一个设置,对于ie8之外的浏览器是不识别的。
name属性主要是告诉搜索引擎,网页的关键字、描述、作者等。
device-width,指设备的宽度。
initial-scale ,指初始的缩放比例 。
minimum-scale ,允许用户缩放到的最小比例 。
maximum-scale,允许用户缩放到的最大比例 。
user-scalable,用户是否可以手动缩放。

开发方式

  • 响应式开发方式: 开发一个页面,同时运行在PC端和移动端,针对不同的屏幕大小,来自动适应屏幕,展示对应端的页面的布局。
  • 原生的移动web开发方式: 针对每一个端 PC端和移动端,都分别开发1个页面 PC端加载PC端的页面,移动端加载移动端的页面。
    响应式开发效率高,代码量少,但是由于代码都在一个页面里,所以会造成代码冗余,运行效率低。
    原生web开发方式,代码量大,但是针对性强,运行效率高。

三种布局

因为还要准备模块化开发的博客,有点写不过来了,所以这里就简略写一些我的理解……

流式布局

其实就是用百分比写一个网页,在很久以前我写网页是这种写法 :
在这里插入图片描述
效果如下:
在这里插入图片描述
缩放以后效果如下:
在这里插入图片描述
在这里插入图片描述
不管如何缩放,这个框框的占比都是这么大。不过我写的这个太烂了,缩放以后挺丑的。

flex布局

后来听说大多数网站都是用像素而不是用百分比,于是暑假项目我就改成了px的方法,加上了一些弹性布局,感觉是个简单的flex布局吧……
拿我当时的注册页面举例,我都忘了套了多少个弹性盒子了:
(多轴的弹性布局一直没有太明白,正在研究)
在这里插入图片描述
学姐之前推荐过的博客→html+css:display:flex属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为想象力比较有限加上理解还不透彻,对我来说其实就是这几句颠来倒去地用……

rem布局

html {
font-size: 12px;
}
div {
font-size: 2rem;
}

比如这样,html的字体大小是12px,div是它的两倍,也就是24px。
另外在看网课笔记的时候,都推荐了一个软件叫less。
我的理解就是,如果我频繁地用到一个数值或者颜色之类的,此时less就派上用场。
在这里插入图片描述在这里插入图片描述

这些代码里频繁用了各种颜色,如果挨个复制粘贴的话会挺麻烦的,此时用到less变量就会简单很多。

响应式开发的一个简单尝试

以假期培训的导航栏为例,这是一个带下拉菜单(鼠标放上去就会出现这个二级菜单)的很长的导航栏
在这里插入图片描述
但是手机屏幕没有这么宽,并且在手机端,hover这种判定实在是太难了,所以需要改很多东西。
首先是css中媒体查询的语法:

@media(条件){
//条件成立执行的代码
}

条件通常有3种写法

width:1200px;//表示屏幕宽度等于1200 条件成立
min-width:1200px;//表示屏幕宽度大于等于1200 条件成立
max-width:1200px;/表示屏幕宽度小于等于1200 条成立

如果有多个条件可以使用 and相连

@media(条件) and (条件2){
//条件成立执行的代码
}

谷歌浏览器最小的宽度是500像素,为了方便展示变化,我会用600像素举例。比如当屏幕宽小于600像素时,就会自动变化成手机端的样式。
比如(@media部分要写在css代码的最后边,否则样式会被后面的覆盖掉)

@media screen and (max-width: 600px){body{background-color: red;}}

此时当缩小浏览器的大小时,就会出现:
在这里插入图片描述
当然,不能用这么丑的样式。
经过我的一番操作,把导航栏大致变成了这样:
(把导航栏隐藏掉,菜单显示出来)
在这里插入图片描述
点击菜单以后
在这里插入图片描述
点击用户中心以后
在这里插入图片描述
手机端实测:(就是有点丑)
在这里插入图片描述


http://chatgpt.dhexx.cn/article/6NRSJatj.shtml

相关文章

移动端页面开发

移动端页面开发需要掌握的…… 移动端开发指的是&#xff1a;需要适配移动设备的网页开发移动开发与pc端开发没有本质的区别&#xff0c;使用的也还是HTML/CSS/JS的技术 一、移动端与pc端开发的区别在于&#xff1a; 1.浏览器不同 手机浏览器是webkit的天下&#xff0c;就目…

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

背景 近年来&#xff0c;随着智能手机的普及&#xff0c;移动端开发受到了异常的关注。从传统的安卓、IOS原生手机系统应用开发&#xff0c;转向了移动端Web开发或者是混合开发&#xff0c;既然有需求&#xff0c;那就让我们一起来学习移动端Web开发吧。本文旨在让读者以最快的…

移动端网站开发

受限于流量太少&#xff0c;以前的手机网站无法做成像现在一样的效果&#xff0c;只能通过超链接的形式实现简单的网页 随着3G&#xff0c;4G&#xff0c;5G的商用&#xff0c;我们的流量越来越多&#xff0c;网速越来越快。越来越多的应用开始去开发网页版。 移动端仿真 未来…

移动端开发

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;是指在派生类中重新对基类…