移动 web 开发

359 阅读2分钟

前端开发分类

pc端开发
移动端开发
    移动 web 开发
    混合式开发(hybrid app)
    微信小程序/公众号开发

移动端适配

概念

  • 默认 pc 端的网页在移动端是进行缩小展示的
  • 响应式布局
  • 屏幕适配(分移动端和 pc 端两个网址)

基础概念

像素

- 分辨率
    1792x828像素分辨率:横向1792个物理像素点
    分辨率越高,图像越清晰
    (同一个大小的设备,分辨率越高,一个物理像素大小越小)
- 物理像素
    也叫设备像素(dp:device pixel)
    大小由厂家生产时决定的,每一个物理像素点由红绿蓝电子显示点构成
- css 像素
    也叫逻辑像素(logical pixel),
    也叫设备独立像素(dip:device indendent pixel) (与设备像素无关)
    实际开发中的像素
- 设备像素比
    dpr:device pixel ratio
    dpr=多少 设备像素/多少 css 像素(缩放比是1的情况下)
        (屏幕宽大小,750设备像素/375css 像素 =2)
    
    标清屏 dpr=1
    高清屏 dpr=2
    超清屏 dpr=3
    
    js 获取
        window.devicePixelRatio
- 缩放
     <meta name='viewport' content='initial-scale=1'> //缩放
     缩放改变的是 css 像素的大小(1个 css 像素由更多的物理像素表示),
     放大的话,一 css 像素能展示更多的内容
     !!物理像素没法缩放
- ppi
    每个英寸的物理像素点(pixels per inch)
- 视口
    移动手机一般默认视口是980px,
    pc 网页在手机显示过程(先在980px 的视口里进行显示,然后进行缩放到375px 的小屏幕中)(所以会缩小)
    
    移动端开发修改视口(把视口大小调整为设备宽度)
        <meta name='viewport' content='width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no'>
        
        (initial-scale=1缩放比等于1 , 等价于width=device-width)
        (user-scalable=no 禁止用户缩放,等价于maxinmum-scale=1,minimum-scale=1)
        // 有些浏览器 user-scalable=no 是无效的,所以兼容写
     获取视口宽度
         document.documentElement.clientWidth
         document.documentElement.getBoundingClientRect().width
         window.innerWidth

开发基础

  • box-sizing
  • 图标字体(阿里巴巴矢量图)
  • flex 布局
# flex容器
    display:flex|inline-flex
# flex 项目(flex 容器所有子元素自动成为容器成员,叫 flex 项目)
# 主轴,交叉轴