在vue-cli中如何实现移动端自适应

这篇文章主要介绍了基于vue-cli配置lib-flexible + rem实现移动端自适应,需要的朋友可以参考下

安装flexible

npm install lib-flexible --save

登录后复制

引入flexible

在项目入口文件main.js中添加如下代码,引入flexible

import 'lib-flexible'

登录后复制

px 转 rem

立即学习“前端免费学习笔记(深入)”;

使用 webpack 的 px2rem-loader,自动将px转换为rem

安装px2rem-loader

npm install px2rem-loader --save-dev

登录后复制

配置px2rem-loader

在vue-cli生成的文件中,找到以下文件 build/utils.js,如下图添加配置

在vue-cli中如何实现移动端自适应

关于importLoaders:如若有疑问,请参考webpack深入与实战4-4

2017.12.8更新说明:是否需要配置importLoaders,可参考最底部的说明。

在vue-cli中如何实现移动端自适应

px2rem 用法

安装px2rem后,再使用px上有些不同,大家可以参考px2rem官方介绍,下面简单介绍一下。

直接写px,编译后会直接转化成rem —- 除开下面两种情况,其他长度用这个

在px后面添加/*no*/,不会转化px,会原样输出。 — 一般border需用这个

在px后面添加/*px*/,会根据dpr的不同,生成三套代码。—- 一般字体需用这个

示例代码

编译前(自己写的代码)

.selector { width: 150px; height: 64px; /*px*/ font-size: 28px; /*px*/ border: 1px solid #ddd; /*no*/}

登录后复制

编译后(打包后的代码)

.selector { width: 2rem; border: 1px solid #ddd;}[data-dpr="1"] .selector { height: 32px; font-size: 14px;}[data-dpr="2"] .selector { height: 64px; font-size: 28px;}[data-dpr="3"] .selector { height: 96px; font-size: 42px;}

登录后复制

重启项目,就可以愉快的用设计稿上的px了。

注意:坑

不能在index.html的头部加 name 为 viewport 的 meta 标签,flexible会自动为我们添加!

更新:对外部引入css,px2rem能不能转换rem问题

2017.12.8更新:在实际运用中发现对于外部引入的css文件,有时候px2rem能正常转换,有时候又不能转换,到底是什么原因呢?试验了三种不同的css引入情况,发现第一种能正常转换,二三不能正常转换,至于原因,由于才疏学浅,还是不懂,求大神解答三种引入方式的区别。

如果明白了这些方法,就没必要再配置cssLoader的importLoaders了,因为下面的方法更容易控制外部引入的css是否需要转rem,而更改importLoaders就控制不了了,它会强制转换。

 /* px2rem能正常转换 */ /* px2rem不能正常转换 */ @import '../assets/style.css'; /* px2rem不能正常转换 */ @import url('../assets/style.css');

登录后复制

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

如何解决Router跨模块跳转问题

如何解决Router跨模块跳转问题

如何解决Router跨模块跳转问题

如何解决Router跨模块跳转问题

如何解决Router跨模块跳转问题

以上就是在vue-cli中如何实现移动端自适应的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3184310.html

(0)
上一篇 2025年3月31日 21:41:46
下一篇 2025年3月31日 21:41:54

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 在Vue 组件Toast中如何实现显示框效果

    这篇文章主要介绍了基于 flexible 的 vue 组件:toast — 显示框效果,需要的朋友可以参考下 基于flexible.js 的 Vue 组件 前言: 目前手头的移动端Vue项目是用手淘的 lib-flexible …

    2025年3月31日
    100
  • vue-cli+webpack无法新建项目

    这次给大家带来vue-cli+webpack无法新建项目,处理vue-cli+webpack无法新建项目的注意事项有哪些,下面就是实战案例,一起来看一下。 今日使用 npm init webpack love 创建一个新项目,然后执行 np…

    编程技术 2025年3月31日
    100
  • 在Vue中如何实现进入/离开动画

    这篇文章主要介绍了vue 进入/离开动画效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下 1、示例代码 (注:写到vue单文件中了)             Toggle              hello      …

    2025年3月31日
    100
  • 使用vue实现简单键盘操作

    这篇文章主要介绍了使用vue实现简单键盘的示例(支持移动端和pc端),现在分享给大家,也给大家做个参考。 常看到各种app应用中使用自定义的键盘,本例子中使用vue2实现个简单的键盘,支持在移动端和PC端使用 实现效果: Keyboard.…

    2025年3月31日
    100
  • 在vue中如何实现分页组件

    本篇文章主要介绍了vue的一个分页组件的示例代码,现在分享给大家,也给大家做个参考。 分页组件在项目中经常要用到之前一直都是在网上找些jq的控件来用(逃..),最近几个项目用上vue了项目又刚好需要一个分页的功能。具体如下: 文件page.…

    编程技术 2025年3月31日
    100
  • 使用vue实现树形菜单栏功能

    这次给大家带来使用vue实现树形菜单栏功能,使用vue实现树形菜单栏功能的注意事项有哪些,下面就是实战案例,一起来看一下。 vue *{ color:#585858; } #app{ min-height: 650px; } #app li…

    编程技术 2025年3月31日
    100
  • VUE组件挂载方法详解

    这次给大家带来VUE组件挂载方法详解,VUE组件挂载的注意事项有哪些,下面就是实战案例,一起来看一下。 1、组件三种挂载方式 自动挂载 var app3 = new Vue({ el: ‘#app-3’, data: { seen: tru…

    编程技术 2025年3月31日
    100
  • vue做一个菜单

    这次给大家带来vue做一个菜单,vue做一个菜单的注意事项有哪些,下面就是实战案例,一起来看一下。 nbsp;html>          vue                 *{ color:#585858; } #app{ m…

    编程技术 2025年3月31日
    100
  • 在vue + element中如何实现表格分页

    众所周知element 是一套 vue.js 后台组件库,它能够帮助你更轻松更快速地开发后台项目。下面这篇文章主要给大家介绍了关于利用vue + element实现表格分页和前端搜索的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。 前…

    编程技术 2025年3月31日
    100
  • 在vue-cli中有关webpack3提速优化方面的问题

    这篇文章主要介绍了详解vue-cli之webpack3构建全面提速优化,现在分享给大家,也给大家做个参考。 前言 伴随着vue的全球化,已经各种vue的组件框架越来越完善,从早期的element-ui到vux,iview等越来越多高质量的项…

    编程技术 2025年3月31日
    100

发表回复

登录后才能评论