This blog is your go-to guide for building a stunning portfolio website from scratch! Whether you're a beginner or an experienced developer, you'll find step-by-step insights on planning, structuring, and styling your personal site like a pro. Letโs make your portfolio stand out! ๐จโจ
HTML is the backbone of your portfolio. Keep it clean, structured, and semantic.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Portfolio</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<h1>Hi, I'm [Your Name] ๐</h1>
<p>Web Developer | Tech Enthusiast | Coffee Addict โ</p>
</header>
<section id="about">
<h2>About Me</h2>
<p>Short, punchy bio about why youโre awesome.</p>
</section>
<section id="projects">
<h2>Projects</h2>
<p>Show off your work like a pro.</p>
</section>
<footer>
<p>Find me on <a href="#">LinkedIn</a> | <a href="#">GitHub</a></p>
</footer>
</body>
</html>
CSS is what makes your portfolio look modern. Save this as styles.css.
body {
font-family: Arial, sans-serif;
background: #f5f5f5;
text-align: center;
color: #333;
margin: 0;
padding: 0;
}
header {
background: linear-gradient(45deg, #1a1a2e, #16213e);
color: white;
padding: 50px;
}
h2 {
color: #16213e;
}
a {
color: #4db5ff;
text-decoration: none;
font-weight: bold;
}
a:hover {
text-decoration: underline;
}
section {
margin: 20px auto;
width: 80%;
padding: 20px;
background: white;
border-radius: 10px;
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}
footer {
margin-top: 20px;
background: #16213e;
color: white;
padding: 10px;
}
JS makes your site interactive, so letโs add a simple typing effect for your name.
const typedText = ["Web Developer", "Tech Enthusiast", "Coffee Addict"];
let count = 0, index = 0, currentText = "", letter = "";
(function type() {
if (count === typedText.length) count = 0;
currentText = typedText[count];
letter = currentText.slice(0, ++index);
document.querySelector("h1").textContent = `Hi, I'm [Your Name] - ${letter}`;
if (letter.length === currentText.length) {
count++;
index = 0;
setTimeout(type, 1000);
} else {
setTimeout(type, 100);
}
})();
Your portfolio is done! Now itโs time to put it online:
Simply upload your files, share your link, and watch the job offers roll in (or at least impress your cat ๐ฑ).
And thatโs it! You just built a professional, stylish portfolio in HTML, CSS, and JavaScript without pulling your hair out. ๐ Now, customize it, add cool animations, and make it truly yours.
Need inspiration? Check out my portfolio here.๐
Happy coding! ๐