K-BOlG K-BOlG
Home
  • 前端
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • 技术
  • Vue3入门
  • TypeScript入门
  • Jenkins-Nginx
  • UI
  • 文本超出隐藏解决
  • 收藏
  • 实用网站
  • 资源库
  • Vue专区
  • 你知道的越多,不知道的也就越多
  • 拥抱生活,拥抱快乐
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

nengkai

大道至简-知易行难
Home
  • 前端
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • 技术
  • Vue3入门
  • TypeScript入门
  • Jenkins-Nginx
  • UI
  • 文本超出隐藏解决
  • 收藏
  • 实用网站
  • 资源库
  • Vue专区
  • 你知道的越多,不知道的也就越多
  • 拥抱生活,拥抱快乐
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 目录页

  • 前端

    • Http

    • Ajax

    • Node

    • MongoDB

    • Axios

    • Git

    • Webpack

    • React

    • Vue

    • Uni-app

    • 性能优化

    • 移动端

      • 移动端适配
        • 移动端适配
        • vue脚手架中使用第三方库适配
          • vue2脚手架
          • vue3脚手架配置
  • 技术

  • UI

  • 收藏

  • 随笔

  • 关于

  • views
  • 前端
  • 移动端
nengkai
2021-04-18
目录

移动端适配

# 移动端适配

  1. 为什么要做适配

    1. 机型不一样
    2. 屏幕大小不一样
    3. 屏幕的 dpr 不一样
  2. 适配的终极目标

    1. 让一张设计稿的内容在不同的机型上呈现的效果一致
    2. 内容在不同的机型上 ‘等比’
  3. 常用适配方案

    1. viewport 适配
    2. rem 适配
  4. viewport 适配

    1. 内容:

      meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
      
      1
    2. 目的

      1. 布局视口 = 设备视口
  5. rem 适配

    1. 原理:

      1. 根据不同屏幕大小控制根节点 rem 字体大小
      2. 页面中的内容大小设置用 rem 从而达到适配的目的
    2. 实现:
      第三方库,参考下方

# vue 脚手架中使用第三方库适配

# vue2 脚手架

  1. 安装依赖

    1. npm install px2rem-loader lib-flexible --save
  2. 配置说明

    1. 在项目入口文件 main.js 里 引入 lib-flexible, flexible 会自动根据设备情况动态设置 rem 的值的大小

      import 'lib-flexible/flexible'
      
      1
    2. 在 build 文件夹下的 util.js 中添加

      //  新增内容开始
      // 全局定义px2remLoader
      const px2remLoader = {
          loader: 'px2rem-loader',
          options: {
          remUnit: 37.5  // UI设计图的10等分大小
          }
      }
      // 新增内容结束
      
      // 在该函数的loaders中添加
       function generateLoaders (loader, loaderOptions) {
           // 添加使用 px2remLoader
      // 修改代码开始
           
           const loaders = options.usePostCSS ? [cssLoader, postcssLoader,px2remLoader] : [cssLoader, px2remLoader]
      // 修改结束
      
          if (loader) {
          loaders.push({
          loader: loader + '-loader',
          options: Object.assign({}, loaderOptions, {
          sourceMap: options.sourceMap
          })
          })
          }
      
          // Extract CSS when that option is specified
          // (which is the case during production build)
          if (options.extract) {
          return ExtractTextPlugin.extract({
          use: loaders,
          fallback: 'vue-style-loader'
       })
          } else {
          return ['vue-style-loader'].concat(loaders)
          }
      }
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38

# vue3 脚手架配置

  1. 安装依赖

    1. npm install postcss-px2rem lib-flexible --save
  2. 配置说明

    1. 在项目入口文件 main.js 里 引入 lib-flexible, flexible 会自动根据设备情况动态设置 rem 的值的大小
      import 'lib-flexible/flexible'
    
    1
    1. 在 vue.config.js 中添加配置

      const px2rem = require('postcss-px2rem')
      // 配置postcs-px2rem
      const postcss = px2rem({
        remUnit: 37.5   //UI设计图的10等分大小
      })
      css: { // 添加postcss配置
          loaderOptions: {
            postcss: {
              plugins: [
                postcss
              ]
            }
          }
      }
      
      
      
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
编辑 (opens new window)
上次更新: 4/28/2022, 6:47:46 PM
性能优化
vue3入门

← 性能优化 vue3入门→

最近更新
01
前端常用设计模式
04-01
02
谷歌调试快捷键
06-23
03
JS设计模式
06-02
更多文章>
Theme by Vdoing | Copyright © 2022-2023
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式