vue实现vw(viewport)移动端布局


关于viewport适配移动端,找了一些资料,做个简单的总结

1. 话不多说,首先直接使用vue-cli创建一个vue项目

使用基于webpack的完整模板创建项目: vw_demo

npm install -g vue-cli    //下载脚手架包

   vue init webpack vw_demo  // 下载模板

   cd vw_demo  // 进入到刚新建的项目

   npm install 

npm run dev  // 运行该项目

最后访问: http://localhost:8080/  可以得到默认的界面

具体步骤如下:

 

接下来就是等了

创建好该项目之后就进入正题了

 

2. 在创建好该项目的基础上,下载安装如下插件

npm i postcss-aspect-ratio-minipostcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-

viewport-units cssnano --save


3. 打开根目录下的 .postcssrc.js文件,默认有如下内容

module.exports = {

 "plugins": {

   "postcss-import": {},

   "postcss-url": {},

   // to edit target browsers: use "browserslist" field inpackage.json

   "autoprefixer": {}

  }

}

 

 接下来我们需要做的就是把该所有内容替换为如下内容:

module.exports = {
   
"plugins": {
   
"postcss-import": {},
   
"postcss-url": {},
   
"postcss-aspect-ratio-mini": {},
   
"postcss-write-svg": {
         
utf8: false
    
},
    
"postcss-cssnext": {},
    
"postcss-px-to-viewport": {
       
viewportWidth: 750,
       
viewportHeight: 1334,
       
unitPrecision: 3,
       
viewportUnit: 'vw' ,
       
selectorBlackList: ['.ignore','.hairlines'],
       
minPixelValue: 1,
       
mediaQuery: false
    
},
     
"postcss-viewport-units":{},
      
"cssnano":{
          
preset: "advanced",
          
autoprefixer: false,
         
"posrcss-zindex": false
     
}
  
}
}

 

这里有必要说明一下:

          viewportWidth:750, 这里的750是指你当前设计图的大小(总宽度)

          viewportHeight: 1334,这里的1334是根据750宽度来指定的 

          unitPrecision: 3,指定‘px’转换为视窗单位值的小数位数

          viewportUnit: 'vw' , 指定转换为视窗的单位

 

3. 在cssnano的配置中,使用了preset:"advanced",所以要另外安装,安装如下:

npm i cssnano-preset-advanced --save-dev

 

4. npm run dev   重新跑一下该项目,接下来就可以直接将标注图上所量距离直接写进css代码了

 

Ok,完事!!!

 

总结一下

         由上面的操作我们完成了从px到vw的转换,那么在实际使用中我们就可以使用标注图上所量距离,所写单位任然为px,不需要任何计算。这里就简单的讲了具体操作,要明白其中细节问题,还得自行找资料。也可能存在一定的问题,望指出好做修改,第一次写博客,也相当于整理了笔记。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值