Как пофиксить прыгающий подвал в Nuxt.js? - moek

Как пофиксить прыгающий подвал в Nuxt.js?

Опубликовано 1 января 2024 г.
2 мин. чтения
Как пофиксить прыгающий подвал в Nuxt.js?

Иногда при работе с Vue.js или Nuxt.js возникает баг. При переходе на разные страницы веб-приложения, подвал приложения “подскакивает” к шапке. Это решается довольно просто, в этом посте я показал решение этого бага и возможные причины его появления в вашем приложение.

YouTube видео

В этом посте

  • Почему при переходе на разные страницы в Nuxt.js приложение футер скачет?
  • Причины прыгающего подвала к шапке сайта при переходе на разные страницы
  • Фикс прыгающего подвала в Nuxt.js

Причины появления “прыгающего” эффекта

CSS стили

Проблема может быть связана с CSS стилями, применяемыми к компонентам Header, Footer или даже к <NuxtPage />. Если для этих элементов заданы определенные стили (например, абсолютное или фиксированное позиционирование), это может привести к тому, что футер будет отображаться неправильно. Проверьте и убедитесь, что стили не конфликтуют друг с другом.

Убедитесь, что у элементов Header, Footer, и <NuxtPage /> заданы корректные высоты. Если высота этих элементов не контролируется должным образом, это может привести к тому, что футер окажется под шапкой.

JS скрипт

Если вы используете JavaScript или Vue Lifecycle Hooks для динамического изменения стилей или классов, это также может повлиять на расположение футера.

Конфликт компонентов

Если вы подключаете какие-либо компоненты на в файле app.vue, то это тоже может повлиять на шапку или подвал веб-приложения.

HTML ошибки

Проверьте, нет ли ошибок в вашем HTML, которые могут привести к непредвиденному поведению макета. Например, незакрытые теги.

Решение

Если всё из вышеперечисленного не помогло решить проблему, то попробуйте обернуть <NuxtPage /> в <div>.

<template>
	<NuxtLayout>
		<Header />
		+
		<div>
			<NuxtPage />
			+
		</div>
		<Footer />
	</NuxtLayout>
</template>

Заключение

Теперь вы знаете как решить проблему прыгающего футера при переходе на разные страницы в Nuxt.js. Надеюсь этот пост был вам полезен!

0