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种方法介绍)
基础教程推荐
猜你喜欢
- JavaScript实现双向链表过程解析 2023-08-08
- 纯css实现输入框placeholder动效及输入校验 2024-01-17
- ES6新语法之解构实践指南 2024-01-12
- 为何img、input等内联元素可以设置宽高 2024-01-08
- v-for循环出现控制Duplicate keys detected: 'XXXXXX'报错是什么原因 2024-12-07
- 微信小程序使用navigator实现页面跳转功能 2023-12-14
- 如何从mongodb检索图像文件到HTML页面 2023-10-25
- js 实现浏览历史记录示例 2023-12-26
- 在vuejs中使用websocket进行实时通讯 2024-12-08
- ajax响应json字符串和json数组的实例(详解) 2023-01-31
