- Published on
How To Create A Minimal Portfolio With Tailwind CSS In 6 Easy Steps?

- What is Tailwind CSS?
- The description of Minimal Portfolio ui component
- Why use Tailwind CSS to build a Minimal Portfolio ui component?
- The preview of Minimal Portfolio ui component
- The source code of Minimal Portfolio ui component
- How to build a Minimal Portfolio with Tailwind CSS?
- Install tailwind css of verion 3.0.18
- All the unility class needed to build a Minimal Portfolio component
- 65 steps to build a Minimal Portfolio component with Tailwind CSS
- Conclusion
What is Tailwind CSS?
Tailwind CSS is a utility-first CSS framework that focuses on creating personalized user interfaces quickly. It can gives you all the building blocks you are able to create personalized designs without having to fight to override irritating opinionated styles. Also, Tailwind CSS is a highly configurable, low-level CSS framework.
The description of Minimal Portfolio ui component
Portfolio resume page
Why use Tailwind CSS to build a Minimal Portfolio ui component?
- It can make the building process of Minimal Portfolio ui component faster and more easily.
- Enables building complex responsive layouts and components freely.
- Minimum lines of CSS code in Minimal Portfolio component file.
The preview of Minimal Portfolio ui component
Free download of the Minimal Portfolio's source code
The source code of Minimal Portfolio ui component
<div class="relative text-gray-800 bg-gray-50">
<!-- Navbar -->
<header>
<nav class="w-full">
<div class="flex justify-between w-full px-16 py-8">
<!-- Left Nav -->
<div>
<ul
class="flex flex-col text-left md:flex-row space-y-5 md:space-y-0 md:space-x-6 text-xl md:text-2xl">
<li class="text-left">
<a href="#experience">
Experience
</a>
</li>
<li class="text-left">
<a href="#contact">
Contact
</a>
</li>
</ul>
</div>
<!-- Right Nav -->
<div>
<!-- Socials -->
<ul class="flex flex-col md:flex-row items-end md:items-center md:space-x-4 space-y-4 md:space-y-0">
<li>
<a href="https://www.github.com" target="_blank" aria-label="Github"
class="hover:text-blue-600">
<svg xmlns="http://www.w3.org/2000/svg" class="w-9 h-9" fill="currentColor"
class="bi bi-github" viewBox="0 0 16 16">
<path
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" />
</svg>
</a>
</li>
<li>
<a href="https://www.linkedin.com" target="_blank" aria-label="linkedin"
class="hover:text-blue-600">
<svg xmlns="http://www.w3.org/2000/svg" class="w-9 h-9 rounded-full" fill="currentColor"
class="bi bi-linkedin" viewBox="0 0 16 16">
<path
d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z" />
</svg>
</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<!-- / Navbar -->
<!-- Name section -->
<section class="flex flex-col items-center justify-center h-screen -my-20 md:-mt-48 px-8">
<!-- style="height: 50vh" -->
<div class="flex flex-col items-center justify-center text-center h-screen-half">
<!-- image -->
<img class="md:hidden object-cover w-15 h-40 rounded-full mb-5 ring-2 ring-gray-500/50 ring-offset-[10px]"
src="https://i.ibb.co/Byd813Q/mateus-campos-felipe-Zxd-JFg-SGQBA-unsplash.jpg" alt="Your Name Here">
<h1 class="text-5xl sm:text-6xl lg:text-9xl">Jane Doe</h1>
<h2 class="font-light text-4xl sm:text-5xl lg:text-8xl">Business Manager</h2>
</div>
</section>
<!-- /Name Section -->
<!-- image section -->
<section class="flex items-center justify-between px-8 mb-20 tracking-wider">
<!-- Summary (left) -->
<div class="flex flex-col w-full md:w-1/3 space-y-12 text-center md:text-left">
<div class="flex flex-col px-10 md:px-20">
<h3 class="text-xl font-bold">Skills</h3>
<br>
<span class="text-lg">Management</span>
<span class="text-lg">Collaboration</span>
<span class="text-lg">Communication</span>
<span class="text-lg">Microsoft Office</span>
</div>
<div class="px-10 md:px-20">
<h3 class="text-xl font-bold">Summary</h3>
<br>
<p class="w-full md:w-2/3">Lorem ipsum dolor sit amet consectetur adipisicing elit. Eius eaque delectus
consequuntur harum doloremque assumenda omnis quibusdam quia neque, adipisci iste laborum sed
nostrum.</p>
</div>
<div class="px-10 md:px-20">
<br>
<h3 class="text-xl font-bold">Contact</h3>
<a class="text-xl hover:text-blue-600" href="mailto:[email protected]">[email protected]</a>
<p>675 234 4323</p>
</div>
</div>
<!-- image -->
<img class="hidden md:block object-cover w-1/4 h-screen rounded-full ring-2 ring-gray-500/50 ring-offset-[30px]"
src="https://i.ibb.co/Byd813Q/mateus-campos-felipe-Zxd-JFg-SGQBA-unsplash.jpg" alt="Your Name Here">
<!-- statistics (right) -->
<div class="hidden md:flex flex-col w-1/3 space-y-12 text-right">
<div class="px-20">
<h4 class="text-xl font-bold">Experience</h4>
<br>
<p class="text-6xl">+2</p>
</div>
<div class="px-20">
<h4 class="text-xl font-bold">Projects</h4>
<br>
<p class="text-6xl">+25</p>
</div>
<div class="px-20">
<h4 class="text-xl font-bold">Clients</h4>
<br>
<p class="text-6xl">+14</p>
</div>
</div>
</section>
<!-- /image section -->
<hr class="border-gray-400 mx-44" />
<!-- Resume -->
<section class="px-20 mt-10">
<h4 class="mb-8 text-3xl font-bold text-center md:text-left">Experience</h4>
<div class="grid grid-cols-1 md:grid-cols-6 my-10">
<div class="flex flex-col col-span-2 mb-4 md:mb-0">
<h5 class="text-xl md:text-2xl font-bold">Full Stack Developer</h5>
<h6 class="text-lg font-bold">Facebook</h6>
<p>Jan 2015 - present</p>
</div>
<div class="flex flex-col col-span-4">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquid eveniet deleniti tempore veritatis
adipisci accusantium voluptatibus vel aperiam ex alias officiis deserunt, ad, iste id cum minus sit
laudantium ullam! Lorem ipsum dolor sit, amet consectetur adipisicing elit. Animi non incidunt
voluptates molestiae delectus nulla quisquam aperiam voluptas tempora distinctio! Ipsa cupiditate
harum voluptates praesentium. Suscipit itaque officiis odio ut!</p>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-6 my-10">
<div class="flex flex-col col-span-2 mb-4 md:mb-0">
<h5 class="text-xl md:text-2xl font-bold">Software Developer</h5>
<h6 class="text-lg font-bold">Google</h6>
<p>Feb 2010 - Jan 2015</p>
</div>
<div class="flex flex-col col-span-4">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquid eveniet deleniti tempore veritatis
adipisci accusantium voluptatibus vel aperiam ex alias officiis deserunt, ad, iste id cum minus sit
laudantium ullam! Lorem ipsum dolor sit, amet consectetur adipisicing elit. Animi non incidunt
voluptates molestiae delectus nulla quisquam aperiam voluptas tempora distinctio! Ipsa cupiditate
harum voluptates praesentium. Suscipit itaque officiis odio ut!</p>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-6 my-10">
<div class="flex flex-col col-span-2 mb-4 md:mb-0">
<h5 class="text-xl md:text-2xl font-bold">Web Developer</h5>
<h6 class="text-lg font-bold">IBM</h6>
<p>Apr 2008 - Feb 2010</p>
</div>
<div class="flex flex-col col-span-4">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquid eveniet deleniti tempore veritatis
adipisci accusantium voluptatibus vel aperiam ex alias officiis deserunt, ad, iste id cum minus sit
laudantium ullam! Lorem ipsum dolor sit, amet consectetur adipisicing elit. Animi non incidunt
voluptates molestiae delectus nulla quisquam aperiam voluptas tempora distinctio! Ipsa cupiditate
harum voluptates praesentium. Suscipit itaque officiis odio ut!</p>
</div>
</div>
</section>
<hr class="border-gray-400 mx-44" />
<!-- Resume -->
<section class="px-20 mt-10">
<h4 class="mb-8 text-3xl font-bold text-center md:text-left">Education</h4>
<div class="grid grid-cols-1 md:grid-cols-6 my-10">
<div class="flex flex-col col-span-2 mb-4 md:mb-0">
<h5 class="text-xl md:text-2xl font-bold">B.S. Computer Science</h5>
<h6 class="text-lg font-bold">Harward University</h6>
<p>Jan 2015 - present</p>
</div>
<div class="flex flex-col col-span-4 ">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquid eveniet deleniti tempore veritatis
adipisci accusantium voluptatibus vel aperiam ex alias officiis deserunt, ad, iste id cum minus sit
laudantium ullam! Lorem ipsum dolor sit, amet consectetur adipisicing elit. Animi non incidunt
voluptates molestiae delectus nulla quisquam aperiam voluptas tempora distinctio! Ipsa cupiditate
harum voluptates praesentium. Suscipit itaque officiis odio ut!</p>
</div>
</div>
</section>
<footer class="absolute w-full h-36 bottom-0 p-8 px-16 bg-gray-800 text-gray-50">
<p class="text-2xl">Thank you for checking out my portfolio</p>
<a class="text-lg" href="mailto:[email protected]">[email protected]</a>
</footer>
<div class="h-80">
</div>
</div>
How to build a Minimal Portfolio with Tailwind CSS?
Install tailwind css of verion 3.0.18
Use the script
html tag to import the script of Tailwind CSS of the version 3.0.18
<script src="https://cdn.tailwindcss.com"></script>
All the unility class needed to build a Minimal Portfolio component
relative
text-gray-800
bg-gray-50
w-full
flex
px-16
py-8
flex-col
text-left
md:flex-row
text-xl
md:text-2xl
hover:text-blue-600
w-9
h-9
h-screen
-my-20
md:-mt-48
px-8
text-center
h-screen-half
md:hidden
w-15
h-40
mb-5
text-5xl
sm:text-6xl
lg:text-9xl
text-4xl
sm:text-5xl
lg:text-8xl
mb-20
md:w-1/3
md:text-left
px-10
md:px-20
text-lg
md:w-2/3
hidden
md:block
w-1/4
md:flex
w-1/3
text-right
px-20
text-6xl
border-gray-400
mx-44
mt-10
mb-8
text-3xl
grid
grid-cols-1
md:grid-cols-6
my-10
mb-4
md:mb-0
absolute
h-36
bottom-0
p-8
bg-gray-800
text-gray-50
text-2xl
h-80
65 steps to build a Minimal Portfolio component with Tailwind CSS
Use
relative
to position an element according to the normal flow of the document.Control the text color of an element to gray-800 using the
text-gray-800
utilities.Control the background color of an element to gray-50 using the
bg-gray-50
utilities.Use
w-full
to set an element to a 100% based width.Use
flex
to create a block-level flex container.Control the horizontal padding of an element to 4rem using the
px-16
utilities.Control the vertical padding of an element to 2rem using the
py-8
utilities.Use
flex
to create a block-level flex container.Control the text color of an element to left using the
text-left
utilities.Use
flex
to create a block-level flex container at only medium screen sizes.Control the text color of an element to xl using the
text-xl
utilities.Control the text color of an element to 2xl at only medium screen sizes using the
md:text-2xl
utilities.Control the text color of an element to blue-600 on hover using the
hover:text-blue-600
utilities.Use
w-9
to set an element to a fixed width(2.25rem).Use
h-9
to set an element to a fixed height(2.25rem).Use
h-screen
to make an element span the entire height of the viewport.Control the vertical margin of an element to -5rem using the
-my-20
utilities.Control the margin on top side of an element to -12rem at only medium screen sizes using the
md:-mt-48
utilities.Control the horizontal padding of an element to 2rem using the
px-8
utilities.Control the text color of an element to center using the
text-center
utilities.Use
h-screen-half
to set an element to a fixed height(screen-half).Use
hidden
to set an element to display: none and remove it from the page layout at only medium screen sizes.Use
w-15
to set an element to a fixed width(3.75rem).Use
h-40
to set an element to a fixed height(10rem).Control the margin on bottom side of an element to 1.25rem using the
mb-5
utilities.Control the text color of an element to 5xl using the
text-5xl
utilities.Control the text color of an element to 6xl at only small screen sizes using the
sm:text-6xl
utilities.Control the text color of an element to 9xl at only large screen sizes using the
lg:text-9xl
utilities.Control the text color of an element to 4xl using the
text-4xl
utilities.Control the text color of an element to 5xl at only small screen sizes using the
sm:text-5xl
utilities.Control the text color of an element to 8xl at only large screen sizes using the
lg:text-8xl
utilities.Control the margin on bottom side of an element to 5rem using the
mb-20
utilities.Use
md:w-1/3
to set an element to a fixed width(1/3) at only medium screen sizes.Control the text color of an element to left at only medium screen sizes using the
md:text-left
utilities.Control the horizontal padding of an element to 2.5rem using the
px-10
utilities.Control the horizontal padding of an element to 5rem at only medium screen sizes using the
md:px-20
utilities.Control the text color of an element to lg using the
text-lg
utilities.Use
md:w-2/3
to set an element to a fixed width(2/3) at only medium screen sizes.Use
hidden
to set an element to display: none and remove it from the page layout.Use
inline
utilities to put the element on its own line and fill its parent at only medium screen sizes.Use
w-1/4
to set an element to a fixed width(1/4).Use
flex
to create a block-level flex container at only medium screen sizes.Use
w-1/3
to set an element to a fixed width(1/3).Control the text color of an element to right using the
text-right
utilities.Control the horizontal padding of an element to 5rem using the
px-20
utilities.Control the text color of an element to 6xl using the
text-6xl
utilities.Control the border color of an element to gray-400 using the
border-gray-400
utilities.Control the horizontal margin of an element to 11rem using the
mx-44
utilities.Control the margin on top side of an element to 2.5rem using the
mt-10
utilities.Control the margin on bottom side of an element to 2rem using the
mb-8
utilities.Control the text color of an element to 3xl using the
text-3xl
utilities.Use
grid
to create a grid container.Use
grid
to create a grid container.Use
grid
to create a grid container at only medium screen sizes.Control the vertical margin of an element to 2.5rem using the
my-10
utilities.Control the margin on bottom side of an element to 1rem using the
mb-4
utilities.Control the margin on bottom side of an element to 0rem at only medium screen sizes using the
md:mb-0
utilities.Use
absolute
to position an element outside of the normal flow of the document, causing neighboring elements to act as if the element doesn’t exist.Use
h-36
to set an element to a fixed height(9rem).Use the
bottom-0
utilities to set the bottom position of a positioned element to 0rem.Control the padding on all sides of an element to 2rem using the
p-8
utilities.Control the background color of an element to gray-800 using the
bg-gray-800
utilities.Control the text color of an element to gray-50 using the
text-gray-50
utilities.Control the text color of an element to 2xl using the
text-2xl
utilities.Use
h-80
to set an element to a fixed height(20rem).
Conclusion
The above is a step-by-step tutorial on how to use Tailwind CSS to build a Minimal Portfolio components, learn and follow along to implement your own components.