vue項目中公用footer組件底部位置的適配問題
需求:
footer為公用組件,其他頁面都需要引入,這是會存在一種情況:有的頁面高度很高,footer組件要放在內(nèi)容的最后;有的頁面內(nèi)容很少,高度很低,footer需要放在瀏覽器可視窗口的最底部;窗口高度的變化時,footer的位置需要重新調(diào)整。
可能有的伙伴首先想到的
position: fixed; bottom: 0;
這確實能解決頁面內(nèi)容不足以撐滿瀏覽器高度的情況,但由于footer組件是公用的,在內(nèi)容很多的頁面調(diào)用時,會出現(xiàn)內(nèi)容被組件覆蓋的情況。
我最終的解決方案:
給內(nèi)容不足以撐滿瀏覽器可視高度的頁面添加以下設(shè)置,通過動態(tài)(監(jiān)測瀏覽器窗口變化)設(shè)置頁面容器最低高度,也就是footer組件正常加載,只是footer的兄弟容器的高度變化了,自身的位置也會變化。
script:
template:
解釋:
頁面第一次mounted()時,計算footer組件兄弟容器user-message的最小高度,其中的170為頂部header加上footer自身的高度,隨后給window添加窗口變化事件,回調(diào)函數(shù)重新計算minHeight的值,template中minHeight發(fā)生改變,footer的位置自然也就發(fā)生變化。
效果:
總結(jié)
以上所述是小編給大家介紹的vue項目中公用footer組件底部位置的適配問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Vue中實現(xiàn)父子組件雙向數(shù)據(jù)流的三種方案分享
通常情況下,父子組件的通信都是單向的,或父組件使用props向子組件傳遞數(shù)據(jù),或子組件使用emit函數(shù)向父組件傳遞數(shù)據(jù),本文將嘗試講解Vue中常用的幾種雙向數(shù)據(jù)流的使用,需要的朋友可以參考下2023-08-08vue開發(fā)中如何在js文件里使用pinia和組件同步
在JavaScript文件中封裝涉及到使用Pinia的方法時,發(fā)現(xiàn)Pinia和組件內(nèi)容并不同步,二者的狀態(tài)是獨立的,解決辦法是,在新建對象的時候,將Pinia作為參數(shù)傳入,本文給大家介紹vue開發(fā)中如何在js文件里使用pinia和組件同步,感興趣的朋友一起看看吧2024-10-10vue3 + vite + ts 中使用less文件全局變量的操作方法
這篇文章主要介紹了vue3 + vite + ts 中使用less文件全局變量的操作方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03