91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中怎么適配移動端屏幕

發布時間:2021-07-09 15:20:49 來源:億速云 閱讀:379 作者:Leah 欄目:web開發

vue中怎么適配移動端屏幕,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

效果預覽

# 項目clone
git clone git@github.com:NicolasGui/flexible.git

# 進入項目目錄
cd flexible

# 安裝依賴
npm install

# 啟動服務 localhost:8080
npm run dev

原理概述

插件安裝

# 插件一:amfe-flexible
npm install amfe-flexible --save
#  插件二: node-sass
npm 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: '<App/>'
})

編寫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內使用

<style scoped lang='scss'>
 @import '../styles/common.scss';
 .content{
  width:px2rem(750); /*750為設計稿實際尺寸*/
  font-size:px2rem(20) /*20為設計稿實際尺寸*/
</style>

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中怎么適配移動端屏幕問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

大悟县| 黔西| 东平县| 临洮县| 沅陵县| 克拉玛依市| 宝坻区| 射洪县| 齐河县| 青河县| 从化市| 荥阳市| 马公市| 永春县| 惠水县| 鸡东县| 田东县| 和林格尔县| 澄江县| 盘山县| 罗甸县| 酒泉市| 沧州市| 鹿泉市| 玉田县| 利津县| 巩义市| 全椒县| 乌海市| 龙胜| 潞西市| 莎车县| 台江县| 商洛市| 永兴县| 鸡东县| 大新县| 肥东县| 墨竹工卡县| 乐安县| 金塔县|