<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        vue做移動端適配最佳解決方案(親測有效)

        來源:懂視網 責編:小采 時間:2020-11-27 22:08:30
        文檔

        vue做移動端適配最佳解決方案(親測有效)

        vue做移動端適配最佳解決方案(親測有效):vw 解決方案 1. 安裝并配置PostCss插件 代碼如下:npm i postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano --S 2. 對 PostCss
        推薦度:
        導讀vue做移動端適配最佳解決方案(親測有效):vw 解決方案 1. 安裝并配置PostCss插件 代碼如下:npm i postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano --S 2. 對 PostCss

        vw 解決方案

        1. 安裝并配置PostCss插件

        代碼如下:npm i postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano --S

        2. 對 PostCss 進行配置

        找到在根目錄中的.postcssrc.js,對PostCSS插件進行配置

        module.exports = {
         "plugins": {
         "postcss-import": {},
         "postcss-url": {},
         // to edit target browsers: use "browserslist" field in package.json
         "postcss-write-svg": {
         uft8: false
         },
         "postcss-cssnext": {},
         "postcss-px-to-viewport": {
         viewportWidth: 750, // 視窗的寬度,對應的是我們設計稿的寬度,一般是750
         viewportHeight: 1334, // 視窗的高度,根據750設備的寬度來指定,一般指定1334,也可以不配置
         unitPrecision: 3, // 指定`px`轉換為視窗單位值的小數位數(很多時候無法整除)
         viewportUnit: 'vw', // 指定需要轉換成的視窗單位,建議使用vw
         selectorBlackList: ['.ignore', '.hairlines'], // 指定不轉換為視窗單位的類,可以自定義,可以無限添加,建議定義一至兩個通用的類名
         minPixelValue: 1, // 小于或等于`1px`不轉換為視窗單位,你也可以設置為你想要的值
         mediaQuery: false // 允許在媒體查詢中轉換`px`
         },
         "postcss-viewport-units": {},
         "cssnano": {
         preset: "advanced",
         autoprefixer: false, // 和cssnext同樣具有autoprefixer,保留一個
         "postcss-zindex": false
         }
         }
        }
        

        3. 引入viewport-units-buggyfill解決兼容問題

        在 index.html 中引入js

        <script src="https://www.gxlcms.com//g.alicdn.com/fdilab/lib3rd/viewport-units-buggyfill/0.6.2/??viewport-units-buggyfill.hacks.min.js,viewport-units-buggyfill.min.js"></script>
        <script>
         window.onload = function () { 
         window.viewportUnitsBuggyfill.init({ hacks: window.viewportUnitsBuggyfillHacks });
         }
        </script>
        
        

        最近在做商城的項目,發現有贊的ui非常適合,但有一個問題是有贊的ui用的單位是px,做不了移動端的適配,官網的提供的vw適配方案發現不可行,最后還是決定rem來做適配,上網搜了一下,發現了一套可用方案,親測有效哦

        它的原理是借助px2rem 插件方便的將px單位轉為了rem

        具體步驟:

        安裝

        npm install px2rem-loader lib-flexible --save 
        

        在main.js中引入lib-flexible

        import 'lib-flexible/flexible.js'
        

        在build下的 utils.js中,找到generateLoaders 方法,添加以下代碼

        const px2remLoader = {
         loader: 'px2rem-loader',
         options: {
         remUnit: 37.5
         }
        }
         
        function generateLoaders (loader, loaderOptions) {
         const loaders = [cssLoader, px2remLoader]
         if (loader) {
         loaders.push({
         loader: loader + '-loader',
         options: Object.assign({}, loaderOptions, {
         sourceMap: options.sourceMap
         })
         })
        }
        

        重啟項目,會發現自己設置的px被轉為rem 了

        但是有一定的局限性

        以上實現轉換適用于:

        (1)組件中編寫的<style></style>下的css

        (2)從index.js或者main.js中import ‘../../static/css/reset.css'引入css

        (3)在組件的<script type=”text/ecmascript-6″> import ‘../../static/css/reset.css'</script>中引入css

        另外的情況不適用:

        (1)組件<style></style>中@import “../../static/css/reset.css (可考慮上面(2)、(3)的形式引入)

        (2)外部樣式:<link rel=”stylesheet” href=”static/css/reset.css”>

        (3)元素內部樣式:style=”height: 417px; width: 550px;”

        另外我要補充的是:在做移動端適配的時候我們不建議給字體也設置rem的單位,針對這種情況,我為字體適配的解決方案是使用媒體查詢,文件以組件<style></style>中@import “../../static/css/reset.css形式引入,可完美解決移動端適配問題

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        vue做移動端適配最佳解決方案(親測有效)

        vue做移動端適配最佳解決方案(親測有效):vw 解決方案 1. 安裝并配置PostCss插件 代碼如下:npm i postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano --S 2. 對 PostCss
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 精品视频免费在线| 久久青草国产免费观看| 国产精品视频免费一区二区| 日韩在线a视频免费播放| 亚洲综合国产精品第一页| 一级a性色生活片久久无少妇一级婬片免费放 | 在线亚洲午夜理论AV大片| 久久精品国产亚洲av麻豆图片 | 国产精品黄页免费高清在线观看| 成年黄网站色大免费全看| 亚洲明星合成图综合区在线| 人人爽人人爽人人片av免费| 亚洲国产日韩成人综合天堂| jzzjzz免费观看大片免费| 久久综合图区亚洲综合图区| 一区二区免费视频| 亚洲国产成人手机在线电影bd | 日韩免费观看视频| 免费视频精品一区二区| 最新中文字幕免费视频| 亚洲AV电影天堂男人的天堂| 亚洲成a人在线看天堂无码| jzzijzzij在线观看亚洲熟妇| 免费成人福利视频| 亚洲a∨国产av综合av下载| 亚洲偷自拍拍综合网| 无码日韩精品一区二区三区免费 | 亚洲国产精品日韩专区AV| 久99久无码精品视频免费播放| 亚洲AV人无码综合在线观看| 国产黄色免费观看| 精品亚洲成a人片在线观看| 在线观看免费人成视频色9| 免费无码又爽又黄又刺激网站| 亚洲精品无码高潮喷水在线| 99在线精品视频观看免费| 杨幂最新免费特级毛片| 67pao强力打造67194在线午夜亚洲| 成在人线av无码免费高潮水| 久久精品夜色噜噜亚洲A∨| 99久9在线|免费|