美文网首页
项目大屏

项目大屏

作者: 芥末酱不酱 | 来源:发表于2020-09-08 15:00 被阅读0次

    3个点:

    1.引入@njleonzhang/postcss-px-to-rem,将px转成rem,会根据根元素的fontsize进行变化

    在package.json或者.postcssrc.js文件中配置

    "postcss": {

          "plugins": { 

                "autoprefixer": {},

                 "@njleonzhang/postcss-px-to-rem":

                          { "unitToConvert": "px",

                            "viewportWidth": 1920,

                            "unitPrecision": 3,

                            "selectorBlackList": [ ".ignore", ".hairlines", ".wscn-http404", ".errPage-container", ".stock-index", ".stock-item" ],

                             "minPixelValue": 1,

                             "mediaQuery": false }

                          }

                     }

    2.写个工具方法来修改根元素的fontsize

    // 该方法根据设备的宽高比 与设计稿的比例进行换算,算出根元素的fontsize ,用特殊值法带入更便于理解

    util.screenInit = function (screenRatioByDesign = 16 / 9) {

      const docEle = document.documentElement

      function setHtmlFontSize() {

        var screenRatio = docEle.clientWidth / docEle.clientHeight

        var fontSize = (

          screenRatio > screenRatioByDesign

            ? (screenRatioByDesign / screenRatio) : 1 ) * docEle.clientWidth / 10

        if (docEle.clientWidth >= 1100 && docEle.clientHeight >= 619) {

          docEle.style.fontSize = fontSize.toFixed(3) + 'px'

        } else {

          docEle.style.fontSize = '110px'

        }

      }

      setHtmlFontSize()

      window.addEventListener('resize', setHtmlFontSize)

    }

    // 该方法修改像echarts插件内option配置时配置的fontsize的值

    util.setSize = function (num) {

      const fontSize = parseFloat(document.getElementsByTagName('html')[0].style.fontSize.replace('px'))

      return num * fontSize / 192

    }

    3.页面内需要用flex等布局保持页面缩放时仍能垂直居中

    相关文章

      网友评论

          本文标题:项目大屏

          本文链接:https://www.haomeiwen.com/subject/shadektx.html