色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

rem適配vue

江奕云2年前8瀏覽0評論

隨著移動設備的普及,網頁的適配問題也越來越重要。在過去的解決方案中,我們通常會使用百分比和媒體查詢來實現頁面的適配。但這種方案需要我們手動調整布局,并且不夠靈活。而rem適配方案則可以輕松地實現頁面的自適應,為我們的工作帶來了極大的便利。

/*設置html根元素字體大小*/
function setRem(){
let screenWidth = document.documentElement.clientWidth || window.innerWidth || document.body.clientWidth;
let uiWidth = 750; // 假設UI圖為750
let scale = screenWidth / uiWidth;
let fontSize = scale * 100; // 字體大小為100px
document.documentElement.style.fontSize = fontSize + 'px';
}
window.onresize = function(){
setRem();
}
setRem(); // 頁面加載后先設置一次rem

在使用rem適配方案時,我們需要根據設計師提供的UI圖確定一個基準像素值。通常情況下,我們會將UI圖的寬度設定為750px,將字體大小設定為100px,然后根據設備的屏幕大小動態地調整html根元素的字體大小。

在Vue中,我們可以將上述代碼放在main.js中,并使用Vue的生命周期函數來觸發其執行。

// main.js
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
beforeCreate () { // 生命周期:Vue實例初始化之后,創建之前
function setRem(){
let screenWidth = document.documentElement.clientWidth || window.innerWidth || document.body.clientWidth;
let uiWidth = 750; // 假設UI圖為750
let scale = screenWidth / uiWidth;
let fontSize = scale * 100; // 字體大小為100px
document.documentElement.style.fontSize = fontSize + 'px';
}
window.onresize = function(){
setRem();
}
setRem();
},
render: h =>h(App),
}).$mount('#app')

通過將代碼放在beforeCreate生命周期函數中,我們可以確保頁面的rem適配在Vue實例創建之前完成,避免出現UI樣式錯亂的情況。