I am building my first next.js project, migrating from create-react-app and I am having this weird issue. If I am on home page and refresh the page, styles do persist, but if I go to "/profile" page for example, or any other page besides / page, and refresh the page, the CSS styles completely disappear.
Here is my folders structure:
import BlogSection from '../components/BlogSection.jsx'
import Main from '../components/Main.jsx'
import ServiceSection from '../components/ServiceSection.jsx'
import '../styles/App.css'
export default function Home() {
return (
<div className='home-page-container'>
<Main />
<ServiceSection
homePage
/>
<BlogSection />
</div>
)
}
import Footer from '@/components/Footer.jsx';
import Header from '../components/Header.jsx';
export const metadata = {
title: "Movan",
description: "Generated by create next app",
};
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<Header />
{children}
<Footer />
</body>
</html>
);
}
I do not even know what to try, because I am not familiar with Next at all.
The problem is that you've not added the globals.css
file in your public layout.js
file.
To fix it just add this line in the starting of your code:
import "./globals.css"
OR since in your case the CSS file is ../styles/App.css
add:
import "../styles/App.css"
This would be your layout.js
afterwards:
import "../styles/App.css" // ./globals.css
import Footer from '@/components/Footer.jsx';
import Header from '../components/Header.jsx';
export const metadata = {
title: "Movan",
description: "Generated by create next app",
};
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<Header />
{children}
<Footer />
</body>
</html>
);
}