国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

詳解基于Vue/React項目的移動端適配方案

2024-05-06 15:35:35
字體:
供稿:網(wǎng)友

前言

本文的目標(biāo)是通過下文介紹的適配方案,使用vue或react開發(fā)移動端及H5的時候,不需要再關(guān)心移動設(shè)備的大小,只需要按照固定設(shè)計稿的px值布局,提升開發(fā)效率。

下文給出了本人分別使用create-react-app搭建的react(create-react-app)項目和使用vue-cli 2.x 搭建的vue項目中的 親測可用 配置方案。

px2rem或postcss-px2rem

在移動端中,為了設(shè)配不同的設(shè)備,通常使用rem來做適配。 rem是通過根元素進行適配的,網(wǎng)頁中的根元素指的是<html>,我們通過設(shè)置<html>的字體大小就可以控制 rem 的大小(1rem = 1根元素字體大小)。 可見,只要我們根據(jù)不同屏幕(使用css媒體查詢或js)設(shè)定好根元素<html>的字體大小,其他已經(jīng)使用了rem單位的元素就會自適應(yīng)顯示相應(yīng)的尺寸。 設(shè)計稿一般是按照一種特定設(shè)備型號(如iphone6)為基礎(chǔ)且以px單位來定義樣式,為了讓設(shè)計稿能夠通用在不同的設(shè)備型號中,則存在著從px到rem的繁瑣計算轉(zhuǎn)化過程,因此需要更加科學(xué)的方式來使用rem單位。 px2rem或postcss-px2rem的原理:將css中px編譯為rem,配合js根據(jù)不同手機型號計算出dpr的值,修改<meta>的viewport值和置<html>的font-size。

項目中的使用

recat項目配置postcss-px2rem

首先,我們使用 react 的腳手架 create-react-app 初始化一個 webpack 項目(前提是已經(jīng)安裝過create-react-app,具體不再闡述)。

create-react-app my-app

暴露webpack配置,即 react-scripts 包:

yarn eject

使用yarn 安裝項目所需依賴后,安裝 lib-flexible 、 postcss-px2rem 和 postcss-loader:

yarn add postcss-px2rem lib-flexible yarn add postcss-loader --dev

在入口頁面 index.html 中設(shè)置<meta>標(biāo)簽:

<meta name="viewport" content="width=device-width,inital-scale=1.0,  maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">

然后在項目入口文件 index.js 中引入 lib-flexible:

import 'lib-flexible';

接著,在項目config目錄下的 webpack.config.js 中引入 postcss-px2rem :

const px2rem = require('postcss-px2rem')

同時,在 webpack.config.js 的 postcss-loader loader里面添加 :

{    loader: require.resolve('postcss-loader'),    options: {     /* 省略代碼... */     plugins: () => [      require('postcss-flexbugs-fixes'),      require('postcss-preset-env')({       autoprefixer: {        flexbox: 'no-2009',       },       stage: 3,      }),      px2rem({remUnit: 37.5}), // 添加的內(nèi)容      /* 省略代碼... */     ],     sourceMap: isEnvProduction && shouldUseSourceMap,    },   },

最后,使用 yarn start 重啟項目,則會發(fā)現(xiàn)項目中的postcss-px2rem配置完成。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 开江县| 林州市| 文山县| 佛冈县| 苗栗县| 晋城| 武定县| 太白县| 大英县| 青浦区| 横峰县| 惠东县| 山丹县| 木兰县| 镇坪县| 长顺县| 玉树县| 南开区| 崇文区| 金门县| 樟树市| 肥东县| 嘉荫县| 满城县| 贡嘎县| 特克斯县| 腾冲县| 凯里市| 长沙县| 仁布县| 永定县| 图木舒克市| 柏乡县| 广德县| 周宁县| 商南县| 静海县| 鹤山市| 普兰店市| 龙胜| 绥棱县|