React Footer - Flowbite
Use the footer component at the end of your page to show content such as sitemap links, brand logo, social icons and more using React and Tailwind CSS
The footer component is an important section of a website where you should provide content such as sitemap links, copyright text, logo of your brand, social media account links, and more.
Get started with the examples from Flowbite React based on multiple styles, sizes, and colors by using React components and the utility classes from Tailwind CSS.
To start using the footer component you need to import it from flowbite-react
:
import { Footer } from "flowbite-react";
#
Default footerUse this example to create a simple and responsive footer component with copyright text and links by adding the <Footer.Copyright>
and <Footer.Link>
items inside the <Footer>
component.
Use the href
prop to add a link to the footer link item and the year
prop to add the current year.
"use client";
import { Footer } from "flowbite-react";
export function Component() {
return (
<Footer container>
<Footer.Copyright href="#" by="Flowbite™" year={2022} />
<Footer.LinkGroup>
<Footer.Link href="#">About</Footer.Link>
<Footer.Link href="#">Privacy Policy</Footer.Link>
<Footer.Link href="#">Licensing</Footer.Link>
<Footer.Link href="#">Contact</Footer.Link>
</Footer.LinkGroup>
</Footer>
);
}
#
Footer with logoUse the <Footer.Brand>
component to add a logo to the footer component.
"use client";
import { Footer } from "flowbite-react";
export function Component() {
return (
<Footer container>
<div className="w-full text-center">
<div className="w-full justify-between sm:flex sm:items-center sm:justify-between">
<Footer.Brand
href="https://flowbite.com"
src="https://flowbite.com/docs/images/logo.svg"
alt="Flowbite Logo"
name="Flowbite"
/>
<Footer.LinkGroup>
<Footer.Link href="#">About</Footer.Link>
<Footer.Link href="#">Privacy Policy</Footer.Link>
<Footer.Link href="#">Licensing</Footer.Link>
<Footer.Link href="#">Contact</Footer.Link>
</Footer.LinkGroup>
</div>
<Footer.Divider />
<Footer.Copyright href="#" by="Flowbite™" year={2022} />
</div>
</Footer>
);
}
#
Social media iconsFeature social media accounts by adding the <Footer.Icon>
component inside the <Footer>
component.
"use client";
import { Footer } from "flowbite-react";
import { BsDribbble, BsFacebook, BsGithub, BsInstagram, BsTwitter } from "react-icons/bs";
export function Component() {
return (
<Footer container>
<div className="w-full">
<div className="grid w-full justify-between sm:flex sm:justify-between md:flex md:grid-cols-1">
<div>
<Footer.Brand
href="https://flowbite.com"
src="https://flowbite.com/docs/images/logo.svg"
alt="Flowbite Logo"
name="Flowbite"
/>
</div>
<div className="grid grid-cols-2 gap-8 sm:mt-4 sm:grid-cols-3 sm:gap-6">
<div>
<Footer.Title title="about" />
<Footer.LinkGroup col>
<Footer.Link href="#">Flowbite</Footer.Link>
<Footer.Link href="#">Tailwind CSS</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="Follow us" />
<Footer.LinkGroup col>
<Footer.Link href="#">Github</Footer.Link>
<Footer.Link href="#">Discord</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="Legal" />
<Footer.LinkGroup col>
<Footer.Link href="#">Privacy Policy</Footer.Link>
<Footer.Link href="#">Terms & Conditions</Footer.Link>
</Footer.LinkGroup>
</div>
</div>
</div>
<Footer.Divider />
<div className="w-full sm:flex sm:items-center sm:justify-between">
<Footer.Copyright href="#" by="Flowbite™" year={2022} />
<div className="mt-4 flex space-x-6 sm:mt-0 sm:justify-center">
<Footer.Icon href="#" icon={BsFacebook} />
<Footer.Icon href="#" icon={BsInstagram} />
<Footer.Icon href="#" icon={BsTwitter} />
<Footer.Icon href="#" icon={BsGithub} />
<Footer.Icon href="#" icon={BsDribbble} />
</div>
</div>
</div>
</Footer>
);
}
#
Sitemap linksAdd sitemap links to the footer component by using the <Footer.LinkGroup>
and <Footer.Link>
components. You can also use the <Footer.Title>
component to add a title to the sitemap links and group links together.
"use client";
import { Footer } from "flowbite-react";
import { BsDribbble, BsFacebook, BsGithub, BsInstagram, BsTwitter } from "react-icons/bs";
export function Component() {
return (
<Footer bgDark>
<div className="w-full">
<div className="grid w-full grid-cols-2 gap-8 px-6 py-8 md:grid-cols-4">
<div>
<Footer.Title title="Company" />
<Footer.LinkGroup col>
<Footer.Link href="#">About</Footer.Link>
<Footer.Link href="#">Careers</Footer.Link>
<Footer.Link href="#">Brand Center</Footer.Link>
<Footer.Link href="#">Blog</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="help center" />
<Footer.LinkGroup col>
<Footer.Link href="#">Discord Server</Footer.Link>
<Footer.Link href="#">Twitter</Footer.Link>
<Footer.Link href="#">Facebook</Footer.Link>
<Footer.Link href="#">Contact Us</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="legal" />
<Footer.LinkGroup col>
<Footer.Link href="#">Privacy Policy</Footer.Link>
<Footer.Link href="#">Licensing</Footer.Link>
<Footer.Link href="#">Terms & Conditions</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="download" />
<Footer.LinkGroup col>
<Footer.Link href="#">iOS</Footer.Link>
<Footer.Link href="#">Android</Footer.Link>
<Footer.Link href="#">Windows</Footer.Link>
<Footer.Link href="#">MacOS</Footer.Link>
</Footer.LinkGroup>
</div>
</div>
<div className="w-full bg-gray-700 px-4 py-6 sm:flex sm:items-center sm:justify-between">
<Footer.Copyright href="#" by="Flowbite™" year={2022} />
<div className="mt-4 flex space-x-6 sm:mt-0 sm:justify-center">
<Footer.Icon href="#" icon={BsFacebook} />
<Footer.Icon href="#" icon={BsInstagram} />
<Footer.Icon href="#" icon={BsTwitter} />
<Footer.Icon href="#" icon={BsGithub} />
<Footer.Icon href="#" icon={BsDribbble} />
</div>
</div>
</div>
</Footer>
);
}
#
ThemeTo learn more about how to customize the appearance of components, please see the Theme docs.
{
"root": {
"base": "w-full rounded-lg bg-white shadow dark:bg-gray-800 md:flex md:items-center md:justify-between",
"container": "w-full p-6",
"bgDark": "bg-gray-800"
},
"groupLink": {
"base": "flex flex-wrap text-sm text-gray-500 dark:text-white",
"link": {
"base": "me-4 last:mr-0 md:mr-6",
"href": "hover:underline"
},
"col": "flex-col space-y-4"
},
"icon": {
"base": "text-gray-500 dark:hover:text-white",
"size": "h-5 w-5"
},
"title": {
"base": "mb-6 text-sm font-semibold uppercase text-gray-500 dark:text-white"
},
"divider": {
"base": "my-6 w-full border-gray-200 dark:border-gray-700 sm:mx-auto lg:my-8"
},
"copyright": {
"base": "text-sm text-gray-500 dark:text-gray-400 sm:text-center",
"href": "ml-1 hover:underline",
"span": "ml-1"
},
"brand": {
"base": "mb-4 flex items-center sm:mb-0",
"img": "mr-3 h-8",
"span": "self-center whitespace-nowrap text-2xl font-semibold text-gray-800 dark:text-white"
}
}