vuejs项目如何实现移动端适配,下面编程教程网小编给大家简单介绍2种适配方法!
方法一:利用lib-flexible插件
安装脚手架
npm i lib-flexible --save // 载lib-flexible
npm install px2rem-loader // 安装px2rem-loader
在main.js中引入lib-flexible
import 'lib-flexible/flexible'
移动适配meta标签,index.html
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
在build/util.js引入px2rem相关代码
const cssLoader = {
loader: 'css-loader',
options: {
minimize: process.env.NODE_ENV === 'production',
sourceMap: options.sourceMap
}
}
const px2remLoader = {
loader: 'px2rem-loader',
options: {
//一般设置75
remUnit: 35
}
}
function generateLoaders(loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader,px2remLoader] : [cssLoader,px2remLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
//1、lib-flexible:是 rem 的适配插件。(例:750px == 10rem)
//2、px2rem-loader :是为了方便在书写CSS时,输入 px 会 自动转为 rem。
//3、有时 用 ‘px2rem-loader ’ 插件,发现 rem 转换不正确。
方法二:利用rem布局
在index.html引入
<script>
(function () {
// 在标准 375px 适配下,100px = 1rem;
var baseFontSize = 100;
var baseWidth = 375;
var set = function () {
var clientWidth = document.documentElement.clientWidth || window.innerWidth;
var rem = 100;
if (clientWidth != baseWidth) {
rem = Math.floor(clientWidth / baseWidth * baseFontSize);
}
document.querySelector('html').style.fontSize = rem + 'px';
}
set();
window.addEventListener('resize', set);
}());
</script>
以上是编程学习网小编为您介绍的“vuejs项目如何实现移动端适配(2种方法介绍)”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。
沃梦达教程
本文标题为:vuejs项目如何实现移动端适配(2种方法介绍)
基础教程推荐
猜你喜欢
- Vue有哪些脚手架可以实现多语言和国际化? 2025-01-16
- 纯 JS 实现放大缩小拖拽功能(完整代码) 2024-01-08
- HTML相关知识点总结 2022-11-20
- BootStrap 弹出层代码 2024-04-01
- 微信小程序宿主环境基础介绍 2022-10-22
- 将多个查询数据合并到单个HTML表中(PHP,MySQL) 2023-10-27
- Vue Socket监听和发送事件的基本用法 2025-01-16
- jQuery实现单击和鼠标感应事件 2024-01-20
- HTML01——表格、列表、表单 2023-10-29
- 新手学习css优先级 2022-11-13