mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
1885 字
5 分钟
css移动网页开发
2026-06-10
统计加载中...

移动网页开发#

  1. 移动端知识
  2. vw/vmin适配方案
  3. .rem适配方案

移动端知识#

常见的移动端开发

  • 原生APP开发:针对安卓,ios,鸿蒙移动操作系统开发的APP
  • 小程序端:微信小程序,支付宝小程序,uniapp等
  • web端(H5):H5,CSS3,JavaScript等技术

PC页面会设置版心,移动端如何设置呢?

移动端页面宽度根据设备宽度来确定

视口标签

<meta name="viewport" content="width=device-width, initial-scale=1.0">
属性名作用取值默认值示例注意事项
width设置视口宽度device-width 或具体数值(如 375)980px(移动端默认)<meta name="viewport" content="width=device-width">移动端默认的980px称为布局视口,device-width 以匹配设备宽度称为理想视口
initial-scale页面初始缩放比例数值(如 1.0)1.0<meta name="viewport" content="initial-scale=1.0">widthdevice-width 配合使用,避免缩放混乱
minimum-scale允许用户缩放的最小比例数值(如 0.5)0.1<meta name="viewport" content="minimum-scale=0.5">若设为 1.0,则用户无法放大页面
maximum-scale允许用户缩放的最大比例数值(如 2.0)10.0<meta name="viewport" content="maximum-scale=3.0">限制缩放范围,但可能影响无障碍访问
user-scalable是否允许用户手动缩放yesnoyes<meta name="viewport" content="user-scalable=no">禁用缩放可提升体验,但需谨慎使用(无障碍场景需权衡)

物理像素和CSS像素#

物理像素(也称设备像素):是设备屏幕的实际物理像素数量,即硬件成眠的像素点中枢,出厂默认。
例如:一台设备的屏幕分辨率为2352*1170,表示横向有2352个物理像素,纵向有1170个物理像素。
硬件相关:由屏幕硬件决定,不同设备的物理分辨率可能不同。

将更多的物理像素点压缩至一块屏幕里,从而达到更多的分辨率,提高了屏幕显示的细腻程度

CSS像素(也称设备独立像素或者逻辑像素):
是CSS中使用的虚拟像素单位,用于布局和样式计算
它是一个抽象概念,不直接对应无力像素,而是通过**设备像素比(Device Pixel Ratio, DPR)**与物理像素关联。
比如:PC端,一个CSS像素就是一个物理像素,但是手机端要看DPR

alt text


设计稿:
移动端设计稿通常以750作为标准宽度(尤其是微信小程序,H5页面等)

  1. 早期移动端设计以iPhone为基准,,750px称为行业默认规范
  2. iPhone 6/7/8 的物理分辨率是750×1334px,设计稿按750px宽度制作时,能直接对应这些设备的1:1视觉还原,方便设计师精准把控细节(如字体大小,间距等)

设计稿按750px(2倍大小)制作后:

  1. 开发时直接缩放到50%(如CSS中写375px),即可适配逻辑分辨率。
  2. 图片和图标按`2倍尺寸输出,在高清屏上显示更清晰。(2倍图)

vw/vmin适配方案#

实现移动端适配方案:

  1. 响应式:一套代码通过响应式方案完成pc,平板,手机端的适配(vivo官网,华为官网等)
  2. 单位适配:pc和平板通过响应式完成适配。单独制作手机端页面,通过rem,vw单位完成页面适配(淘宝手机端,B站手机端,京东手机端等)

不管哪种方案,页面布局还是使用grid,flex百分比等,元素大小需要进行适配

vw/vh单位适配:
vw是一种基于视口宽度的相对单位,非常适合用于移动端适配
vw单位定义

  • 1vw=视窗宽度的1%
  • 如果视窗宽度是375px,则1vw=3.75px
  • 同理100vw=等于视窗完整宽度
  • vh:视窗高度的1%
  • 注意vw和%不一样,%相对于父容器

注意:

网页是主要对屏幕宽度适配,所以通常用vw即可,vh很少用到

设计稿转换公式
vw值=(元素在设计稿中的px值 / 设计稿宽度)× 100vw
(106px/375px) * 100vw = 28.26vw

方式1:使用calc函数

.nav {
width: calc(106 / 375 * 100vw);
height: calc(106 / 375 * 100vw);
}

书写繁琐

方式2:使用CSS预处理器(推荐)

  • less或者sass实现,后续工程化讲

但是实际开发里面直接写px不需要计算

方式3:结合PostCSS插件(最佳实践)

  • less/sass代码直接写px
  • 使用postcss-px-to-viewport插件,打包发布的时候会统一自动转换为VW
  • 但是需要脚手架知识,后续vue阶段讲

方式4:使用trae插件转换(当前阶段)
px to rem & rpx & vw(cssrem)

独立圆角属性#

css提供了四个独立的圆角属性,分别控制四个角:
border-top-left-radius左上角圆角
border-top-right-radius右上角圆角
border-bottom-left-radius左下角圆角
border-bottom-right-radius右下角圆角

如果后面跟两个值分别表示该角的水平半径和垂直半径

点击高亮#

a {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
/* 移除移动端点击高亮 */
}

移动端适配#

vmin/vmax单位:
当设备旋转(如手机从竖屏转横屏时),视口的宽高会变化,但vmin始终取当前宽高的较小值vmax取较大值

特性vw (Viewport Width)vmin (Viewport Minimum)
定义视口宽度的 1%视口较小尺寸(宽度或高度)的 1%
计算依据仅基于视口宽度(width)取视口宽度与高度的较小值
方向敏感性始终基于宽度,无视口方向根据视口方向动态调整(宽度或高度取较小值)
竖屏(如手机)基于宽度(如 375px 宽度的 50vw = 187.5px)基于高度(如 812px 高度的 50vmin = 406px)
代码示例width: 50vw;(视口宽度的 50%)height: 50vmin;(视口较小边的 50%)
优势精准控制横向尺寸自动适应不同方向,适合全屏或动态比例布局
劣势无法响应视口高度变化在宽屏设备上可能不如 vw 直观

如果需要照顾手机端横屏状态,可以使用 vmin,比如 B 站全站就采用 vmin 来适配横竖屏场景。

rem适配方案#

rem单位适配:
通过动态修改根元素(html)的font-size属性,使得页面元素基于rem的布局能够自适应不同屏幕尺寸。
比如京东、淘宝、小米移动端使用rem适配

动态修改html文字大小(基准值)方案:#

方式一:媒体查询方案(京东写法)

html {
font-size: 20px;
font-size: 5.33333vw;
}
@media screen and (max-width: 320px) {
html {
font-size: 17.0667px;
}
}
@media screen and (min-width: 540px) {
html {
font-size: 28.8px;
}
}

方式二:js方式引入(推荐)
阿里巴巴手淘团队开发的移动端适配方案Flexible.js通过动态调整根元素htmlfont-size属性,结合rem单位实现页面自适应(拼多多,淘宝写法)。

<script src="./js/flexible.js"></script>
//set 1rem = view width / 10
function setRemUnit() {
var rem = docEl.clientWidth / 10
docEl.style.fontSize = rem + 'px'
}

方式三:使用PostCSS插件(最佳实践)
设计稿转换公式:
rem值 = 设计稿元素尺寸 / html的font-size(基准值
(106 / 37.5) = 2.826rem

  • less/sass代码直接写px
  • 使用postcss-pxtorem插件,打包发布的时候会容易自动转换为rem
  • 但是需要脚手架知识,后续Vue阶段讲

方式四:转换插件(目前阶段)

  1. Flexible.js实现动态修改html根字号大小
  2. 利用插件实现px转换为rem单位
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

css移动网页开发
https://fairycrane.website/posts/mobile_pages/
作者
仙鹤
发布于
2026-06-10
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00