I'm currently working on building a portfolio webpage with React, Vite, and Typescript, but I'm facing an issue where the content is not taking up the full height of the page. I have multiple pages with different lengths of content that I want to display, and I envision a layout where a navbar "floats" above a container div that holds the main content. Both the container and the pages themselves should have a background color. While I've managed to implement the navbar successfully, my current setup only extends the page if the content's length matches the browser height. If I try fixing this by setting a height of 100vh, it results in a visible border when the content exceeds the browser height:
https://i.sstatic.net/g1ZbJ.png https://i.sstatic.net/bFa6n.png
The ideal design I'm aiming for can be seen here: https://i.sstatic.net/6Wi1F.png
Currently, while the external appearance looks fine, internally it's messy as I had to use numerous break tags just to fill up the space to match the browser size.
https://i.sstatic.net/p8NNr.png
This workaround feels like a hacky and inefficient solution. What would be the correct approach to achieve the desired layout?
I've attempted various solutions such as setting height: 100% on the container element, adding it to the css for html and body tags, as well as using min-height: 100%, but none seem to work effectively. Here is the rest of the code in question: