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