← Back to blogYouTube Video

Published April 16, 2025

Landing Page Design Tutorial - NextJS & Tailwind (Travel Agency) - Part 10

Part 10 of 13 in Landing Page Design with Next.js & Tailwind

Can't play the video or having issues? Here's the direct link.

Summary

I build the footer for a travel agency landing page in Next.js and Tailwind, completing the site's design before moving on to responsive work. I create a dedicated Footer component with a slate-900 background, reuse the navbar brand styling, add a short email subscribe form, Bootstrap social icons with white-to-orange hover states, and two quick-links columns arranged in a four-column grid where the brand section spans two columns. I finish with a subtle divider, copyright text linking to my site, and a back-to-top control using a double-arrow icon and brand color. My take is that the page design is now done; the next step is making the whole thing responsive on smaller screens.

Key takeaways

  • Build the footer as its own component and use a semantic footer element with a dark slate background and padded container.
  • Reuse the navbar's brand classes in the footer so the logo styling stays consistent across the page.
  • Keep the email subscribe form simple: a rounded input and the existing primary button in a flex row.
  • Use Bootstrap icons for social links, prefix imports to avoid naming conflicts, set them to 24px, and add a white-to-orange hover transition.
  • Lay out footer content with a four-column grid and let the brand/description column span two columns.
  • Use a subtle slate-700 divider and keep copyright plus back-to-top in a flex row, with the back-to-top link using an icon and brand color.

Description

Source code: https://github.com/hassanaziz0012/travel-buddy

Transcript

Auto-generated transcript
all right boys let's continue designing this page so we're almost done with this and yeah we're literally almost done with this there's literally just one more part to build and that's the footer for this web page and that's what we're going to build right now in terms of design we're completely done with this site we're just going to build a footer and then after that we'll spend some time making this whole thing responsive on all other devices and smaller screens but uh yeah the footer is not something very complex we just have a bunch of links we have some social icons we have a short um form for the email and that's about it so so in our code editor let's first create a footer component There we go. And I'm also going to change this div into a footer and give it some classes. We'll give it some padding. We'll also give it a background color of Slade 900. Now inside here I'm going to create a container and inside this I'm going to add all of our content. Let's first go to the page and render all of this so you can actually see what we're building. And this is what we have so far, just an empty black box. So let's start filling this with content now. I'll create a and this will be the brand name also go to the nav bar and just copy all of these classes because it's going to look the same way and of course this buddy text we're going to wrap this in our brand color as well and remove this space. We also need to change the text color to white and there we go. So that's our brand name right there. Now next let's add some lips on text here just as a placeholder. Let's also add some margin bottom here to separate these two elements. Next I'll add some classes here. Let's change the text color to slate 300. And also let's add some margin bottom here as well. Now we need to build the form. Let's create a flexbox and I'll add a text input element over here. We'll give it some padding and we'll make it rounded and also give it a border. And there we go. That's our input element. Now as for the subscribe button, actually let's make it less rounded that's good enough now for the subscribe button we're just going to use the primary button that we previously used I'll just call it subscribe and there we go that's our button now we need to find some icons for the social that we need to add below this so I'm just going to use bootstrap icons for this and as always we just going to place all of these in the icons file Let's also not forget to add the screen labels. There we go. I'll also give it a prefix of BI for bootstrap icons. Just because we already have an Instagram icon up here and I don't want the names to conflict with each other. get an icon for Twitter as well. Twitter X whatever you want to call it. There we go and fix this class and change it to class name. Let's get one for Instagram as well. Let's also get YouTube right here. Now let's add all of these down here just below the subscribe form. I'll create another flexbox, give it some gap. And now let's create some links here. And inside each of these links, I'm going to add the social icons. There we go. let's add the Instagram icon here and over here the YouTube icon and this is what we have now so there's still a lot more work to be done on this first let's go to the icons and change their sizes to 24 let's say let's select all of these this one as well and I'll change all these to 24 pixels and that's a lot better for our needs now that's a margin top here let's increase the gap as well Awesome, okay. Now let's select all of these links and add some classes here. I'll give it the fill of white. And on hover, let's change that to orange. And also add a duration. And remove this fill current color from every single icon. Save changes and now let's see. And now we get this cool hover effect Now let select all of this and put it inside another div. And this is what we have now. Let's create another div down here and I'll turn this into a heading. We'll give it extra large text and also make it bold and add some margin bottom. And this will be the quick links section. Now just below this I'm going to create an unordered list and we'll fill this with a bunch of links. Let's say five links over here. Now let's just fill this with some text. say destinations, tours, and a bunch of other stuff. Okay, there we go. Now let's improve this a bit more. We don't need the text white glass here. And in this list let's change the text to let's say 300. And I'll also turn this into a flex column and add some vertical gap here. separate each link out. There we go. Now let's just copy this whole thing and duplicate it. There we go. And let's just change the text over here. So this is just like another quick links section. There we go. So we have all the content that we need. Now we need to just arrange this into a proper layout. select all of this and put all of it inside another div which will be a grid with three columns. Okay we've made some progress here. Let's change this to four columns and let's give this first div two columns. already really good now down here let's add horizontal line and just below that let's add another div You should also add some margin here to separate these sections. There we go. Actually let increase that And that great I also want to change the color of this line Let's say slate 400. That's good, but let's try 600. That's even more subtle. Let's try 800 and that's barely visible. So let's go with 700. Okay that's fine I think. Now in this next div, let's go into a flexbox and add some gap as usual. I'll just add some copyright information and stuff over here. Here I'll just link my own website with my name. Next I'll just add some copyright text. Let's change it here. And add a button that says back to top. And also turn the cursor to a pointer. Let's also add a good icon for this as well. So let's go back to compose icons and let's find a good icon for this. Finding good icons is a problem in and of itself. Let's go with this one from material symbols. this and place it in our icons file. I'll just call it double arrow up and fix that class name. I just paste the icon here. Now back in our footer let's add that icon right here there we go now let's see we need to fix the color of this icon so here let's just add a class and just say fill slate 300 and there we go and let's try this with no gap that's fine so let's just remove the gap and here let's use our brand color to signify that this is a link and we are pretty much done with this section now we've added all of the content we've fixed all the layout issues we also added the copyright and everything else. So yeah, we are done with this now.

Share this article

Hassan Aziz pointing up

Dude, you’re at the bottom of my landing page.

Just book a call already if you’re that interested.

You scrolled all the way here.