vue中怎么适配移动端屏幕
vue中怎么适配移动端屏幕,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
10年积累的成都网站建设、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有白沙黎族免费网站建设让你可以放心的选择与我们合作。
效果预览
# 项目clonegit clone git@github.com:NicolasGui/flexible.git
# 进入项目目录cd flexible
# 安装依赖npm install
# 启动服务 localhost:8080npm run dev
原理概述
插件安装
# 插件一:amfe-flexiblenpm install amfe-flexible --save
# 插件二: node-sassnpm install amfe-flexible --save # 同时,在main.js文件内引入
npm install sass-loader --save
编写js处理方法
在utils目录下创建flex.js文件,内容如下:
import Vue from 'vue' Vue.prototype.$setTitle = function (text) { document.title = text } Vue.prototype.$getPX = function (design, designWidth = 750) { // 750为设计稿宽度 // 获取窗口尺寸 let width = document.documentElement.getBoundingClientRect().width // 计算缩放比例 let scale = width / designWidth // 获取实时尺寸 return design * scale }
同时,在main.js文件内引入该js文件
import Vue from 'vue' import App from './App' import router from './router' import 'amfe-flexible' import './utils/flex' Vue.config.productionTip = false new Vue({ el: '#app', router, components: { App }, template: '' })
编写css处理方法
在src目录创建styles目录,同时在该目录新增common.scss文件,内容如下:
body,div,ul,ol,dl,li,dt,dd,h2,h3,h4,h5,p,form,iframe,input,textarea,a,span,em,strong,img,html,nav,header,article,button,footer,var { padding:0; margin:0; } body { font:12px/1.2rem "Microsoft YaHei",tahoma,arial,sans-serif;min-width:320px;position:relative; } form,input {background:none;border:none;} ul,dl,ol {list-style-type:none;} h2, h3, h4, h5, h6 { font:12px/1.2rem "Microsoft YaHei",arial,tahoma; } a { text-decoration:none; } a:hover,a:focus { outline:none; } table { border-collapse:collapse;border-spacing:0; } img { border:none; } strong,b { font-weight:normal; } em,i,var { font-style:normal; } p { text-indent:0; } .clear { clear:both;height:0;line-height:0;overflow:hidden;width:0; } .clearfix:after { clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden; } // 尺寸转换 @function px2rem($px, $base-font-size: 75px) { /*设计稿宽度为750,因此此处为75*/ @if (unitless($px)) { @return px2rem($px + 0px); } @else if (unit($px) == rem) { @return $px; } @return ($px / $base-font-size) * 1rem; } // 字体转换 @mixin font-dpr($font-size) { font-size: $font-size; [data-dpr="2"] & { font-size: $font-size * 2; } [data-dpr="3"] & { font-size: $font-size * 3; } }
css内使用
js内使用
export default { name:'test', data() { return { w:0; } }, watch:{ getWidth() { this.w=this.$getPX(500); } } }, computed: { fun() { return (this.w/this.$getPX(500)*100).toFixed(2) + ''; } } }
关于vue中怎么适配移动端屏幕问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
当前名称:vue中怎么适配移动端屏幕
本文路径:http://ybzwz.com/article/jgidjg.html