rem響應式布局-自動將px轉換為rem--px2rem插件的使用


      當你在項目中采用rem做響應式頁面的時候,如果代碼里面寫的是rem單位的話,會不好判斷各種距離、寬高的具體數值,下面介紹一款插件:px2rem,使用此插件可以在代碼里依然寫px,啟動項目會自動將px單位轉換為可響應的rem單位

第一步

  • install
    cnpm install postcss-px2rem px2rem-loader --save

第二步

  • 在項目src目錄下新建util文件夾(如已有請忽略),在util文件夾下新建rem.js文件,內容如下:
// rem等比適配配置文件
// 基准大小
const baseSize = 16
    // 設置 rem 函數
function setRem() {
    // 當前頁面寬度相對於 1920寬的縮放比例,可根據自己需要修改。
    const scale = document.documentElement.clientWidth / 1920
        // 設置頁面根節點字體大小(“Math.min(scale, 2)” 指最高放大比例為2,可根據實際業務需求調整)
    document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
// 初始化
setRem()
    // 改變窗口大小時重新設置 rem
window.onresize = function() {
    setRem()
}

第三步

  • 在項目main.js中引入此文件
    import './util/rem'

第四步

  • 在項目根目錄新建vue.config.js文件(如已有請忽略),並在其中添加如下代碼
// 引入等比適配插件
const px2rem = require('postcss-px2rem')

// 配置基本大小
const postcss = px2rem({
    // 基准大小 baseSize,需要和rem.js中相同
    remUnit: 16
})

// 使用等比適配插件
module.exports = {
    lintOnSave: true,
    css: {
        loaderOptions: {
            postcss: {
                plugins: [
                    postcss
                ]
            }
        }
    }
}

注意事項

  • 如果某一行css代碼就想使用px為單位不想被轉換有兩種方案
  1. 大寫PX。此方案本人實測會被vscode格式化插件格式化為小寫,諸君也可以試試,如果沒裝格式化插件的話此方案是最方便的
  2. 在這行css代碼后面加上注釋/*no*/。本人親測可行

效果展示

image

image

如此一來,只需經過一次配置,項目所有地方只要想用rem做響應式就可以直接寫px了,棒棒的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM