vue使用Element-UI部分組件適配移動(dòng)端問(wèn)題
前言
使用組件庫(kù)現(xiàn)成的組件是一件非常爽的事,基本不用自己敲代碼,不用自己思考來(lái)思考去樣式,就能得到一個(gè)比較滿(mǎn)意的效果。
但與此同時(shí)也會(huì)帶來(lái)一些不便,那就是部分組件在移動(dòng)端顯得不太友好,還有就是有些樣式達(dá)不到自己的預(yù)期,這時(shí)修改起來(lái)就比較麻煩了。
vue使用Element-UI部分組件適配移動(dòng)端
組件適配1—Message 消息提示
//消息提示
this.$message({
message:'雨傘下架成功',
duration:1500,
type:'success'
})
Message 消息提示在PC端顯示是非常好的:

但移動(dòng)端效果就有點(diǎn)勉強(qiáng)了,寬度太長(zhǎng)了:

適配樣式代碼
@media screen and (max-width: 500px) {
.el-message {
min-width: 300px !important;
}
}
適配后移動(dòng)端的效果是比之前好很多的:

組件適配2—MessageBox 彈框
/*退出登錄*/
loginOut(){
this.$confirm('確定退出登錄嗎?', '提示', {
confirmButtonText: '確定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$router.replace({name:'login'})
})
}
MessageBox 彈框在PC端顯示是非常好的:

但移動(dòng)端效果就有點(diǎn)勉強(qiáng)了,還是寬度太長(zhǎng)了:

適配樣式代碼
@media screen and (max-width: 500px) {
.el-message-box{
width: 300px !important;
}
}
適配后移動(dòng)端的效果是比之前好很多的:

組件適配3—Dialog 對(duì)話(huà)框
Dialog 對(duì)話(huà)框可通過(guò)自己設(shè)置top,width等控制樣式,算是比較方便更改樣式的一個(gè)組件了。
但為了同時(shí)適配手機(jī)和pc,還需要我們進(jìn)行一些操作,盡管我將width設(shè)置為比較小的400以及對(duì)表單內(nèi)的組件樣式進(jìn)行了一定的修改,但還是無(wú)法比較好的適配手機(jī)。
<el-dialog title="雨傘上架" :visible.sync="isToInsert" top="30vh" width="400px">
<el-form :inline="true" class="deleteForm">
<el-form-item label="登記者">
<el-input v-model="beginWorker" autocomplete="off" placeholder="請(qǐng)輸入登記者的名字"></el-input>
</el-form-item>
<el-form-item label="放傘地點(diǎn)" style="margin-top: 15px;">
<el-select v-model="stationId1" placeholder="請(qǐng)選擇放傘地點(diǎn)">
<el-option label="B區(qū)正門(mén)" value="B區(qū)正門(mén)"></el-option>
<el-option label="二樓" value="二樓"></el-option>
<el-option label="B5棟門(mén)口" value="B5棟門(mén)口"></el-option>
<el-option label="圖書(shū)館二樓" value="圖書(shū)館二樓"></el-option>
</el-select>
<p class="errorTip" v-show="beginWorkerError">{{beginWorkerError}}</p>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="isToInsert = false">取 消</el-button>
<el-button size="small" type="primary" @click="ToInsert">確 定</el-button>
</div>
</el-dialog>
為了更好的兼容pc端而設(shè)置了部分樣式:
.el-dialog__wrapper{
?? ?.el-dialog__body{
?? ? ?padding: 20px 20px 10px;
?? ? ?.deleteForm{
?? ? ? ?.errorTip{
?? ? ? ? ?color: red;
?? ? ? ? ?font-size: 14px;
?? ? ? ? ?line-height: 20px;
?? ? ? ? ?margin: 5px auto;
?? ? ? ?}
?? ? ? ?.el-form-item{
?? ? ? ? ?margin: 0;
?? ? ? ? ?.el-form-item__label{
?? ? ? ? ? ?width: 90px;
?? ? ? ? ?}
?? ? ? ? ?.el-select,.el-input{
?? ? ? ? ? ?width: 250px;
?? ? ? ? ?}
?? ? ? ?}
?? ? ?}
?? ?}
?? ?.el-dialog__footer{
?? ? ?padding-bottom: 15px;
?? ? ?padding-top: 5px;
?? ?}
}在PC端顯示的效果我感覺(jué)還是挺好的:

但移動(dòng)端效果就還是有點(diǎn)勉強(qiáng)了:

適配樣式代碼
@media screen and (max-width: 500px) {
.el-dialog__wrapper .el-dialog {
width: 300px !important;
.el-dialog__body{
padding: 10px 20px!important;
.el-form-item__label{
width: 68px!important;
}
.el-select,.el-input{
width: 180px!important;
}
}
}
}
適配后移動(dòng)端的效果是比之前好很多的:

結(jié)語(yǔ)
其他組件的適配基本都是這樣,你只需要打開(kāi)控制臺(tái)找到控制樣式的類(lèi)然后進(jìn)行修改即可。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3無(wú)法顯示element-plus問(wèn)題及解決
這篇文章主要介紹了vue3無(wú)法顯示element-plus問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
Vue封裝localStorage設(shè)置過(guò)期時(shí)間的示例詳解
這篇文章主要介紹了Vue封裝localStorage設(shè)置過(guò)期時(shí)間的相關(guān)資料,在這個(gè)示例中,我們?cè)贛yComponent.vue組件的setup函數(shù)中導(dǎo)入了setItemWithExpiry和getItemWithExpiry函數(shù),并在函數(shù)內(nèi)部使用它們來(lái)設(shè)置和獲取帶有過(guò)期時(shí)間的localStorage數(shù)據(jù),需要的朋友可以參考下2024-06-06
vue連接本地服務(wù)器的實(shí)現(xiàn)示例
本文主要介紹了vue連接本地服務(wù)器的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01
從零開(kāi)始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn)
這篇文章主要介紹了從零開(kāi)始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Vue?2?和?Vue?3?中?toRefs函數(shù)的不用用法
Vue?是一款流行的JavaScript?框架,用于構(gòu)建用戶(hù)界面,在Vue2和?Vue3中,都存在一個(gè)名為toRefs的函數(shù),但其行為在這兩個(gè)版本中有所不同,這篇文章主要介紹了Vue2和Vue3中toRefs的區(qū)別,需要的朋友可以參考下2023-08-08
基于Vue 和 iView分片上傳功能實(shí)現(xiàn)(上傳組件)
本文介紹了基于Vue和iView的文件分片上傳技術(shù),通過(guò)將文件拆分成多個(gè)小塊并逐塊上傳,解決了大文件上傳時(shí)的諸多問(wèn)題,如上傳速度慢、超時(shí)和網(wǎng)絡(luò)中斷等,它還展示了如何實(shí)現(xiàn)分片上傳的進(jìn)度顯示、錯(cuò)誤處理和斷點(diǎn)續(xù)傳等功能,感興趣的朋友跟隨小編一起看看吧2025-01-01
Vue中兩種生成二維碼(帶logo)并下載方式總結(jié)
與后端生成二維碼相比,前端生成二維碼更具有靈活性,下面這篇文章主要給大家介紹了關(guān)于Vue中兩種生成二維碼(帶logo)并下載的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03
Vue-router 類(lèi)似Vuex實(shí)現(xiàn)組件化開(kāi)發(fā)的示例
本篇文章主要介紹了Vue-router 類(lèi)似Vuex實(shí)現(xiàn)組件化開(kāi)發(fā)的示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09

