美文网首页
移动端自动适配方式

移动端自动适配方式

作者: 朋_朋 | 来源:发表于2019-03-22 11:06 被阅读0次

    1.使用px布局

    既根据设计图进行制作,让UI制作时考虑兼容性,留下足够的安全区域,这种方式对小屏幕手机兼容性不是很好,会产生超出屏幕的现象,但是市场上主流手机都是正常适应的,同时这种方式比较简单,直接根据设计图进行界面搭建即可,项目中不需要进行多余的其他配置

    2.使用rem布局

    使用rem布局方式兼容性更好,界面进入时加载一个js,动态计算屏幕宽度,然后进行相应的rem转换(或者使用媒体控制的方式,根据不同的屏幕宽度设置html的font-size为不同的值),rem的兼容性更方便,但是需要注意在引入js时,需要吧该js在css之前进行加载,要不然会产生一个界面闪烁的现象,需要尤其注意一下。

    3.使用vw布局(当前个人使用的方式,Vue工程)

    首先声明:

    使用vw布局时,iOS中图片无法显示问题,解决方案:在img标签外加一层div,图片的宽高在div中进行设置 ,然后img标签设置:width:100%;

    例:

    <div class="show-img">
      <img src="....."  width="100%"/>
    </div>
    
    
    <style>
      .show-img {
          width: 50px;
          height: 50px;
      }
    </style>
    
    

    1.首先工程引入所需要的依赖

    cnpm i postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano --save-dev   
    
    

    2.在.postcssrc.js文件中进行相应的设置(如果有cli脚手架搭建的工程,自动携带该文件,如果没有改文件,则新建即可)

    module.exports = {
        "plugins": {
            "postcss-import": {},
            "postcss-url": {},
            "postcss-aspect-ratio-mini": {}, 
            "postcss-write-svg": {
                utf8: false
            },
            "postcss-cssnext": {},
            "postcss-px-to-viewport": {
                viewportWidth: 750,     // (Number) The width of the viewport.
                viewportHeight: 1334,    // (Number) The height of the viewport.
                unitPrecision: 3,       // (Number) The decimal numbers to allow the REM units to grow to.
                viewportUnit: 'vw',     // (String) Expected units.
                selectorBlackList: ['.ignore', '.hairlines'],  // (Array) The selectors to ignore and leave as px.
                minPixelValue: 1,       // (Number) Set the minimum pixel value to replace.
                mediaQuery: false       // (Boolean) Allow px to be converted in media queries.
            }, 
            "postcss-viewport-units":{},
            "cssnano": {
                preset: "advanced",
                autoprefixer: false,
                "postcss-zindex": false
            }
        }
    }
    
    

    注意:特别声明:由于cssnext和cssnano都具有autoprefixer,事实上只需要一个,所以把默认的autoprefixer删除掉,然后把cssnano中的autoprefixer设置为false。另外,如果anvanced报错,直接删除改行即可。

    3.界面根据UI图直接进行界面搭建即可,编译之后就会发现,布局方式已经自动转换成了vw

    该文章部分引用https://blog.csdn.net/zjw0742/article/details/79337336
    详情参考该文章

    相关文章

      网友评论

          本文标题:移动端自动适配方式

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