Build Responsive Portfolio Website Do my project

Coding Blog: Building a Responsive Personal Portfolio Website using HTML, CSS, & JavaScript

Welcome to this coding blog where we'll walk you through the process of creating a responsive personal portfolio website using HTML, CSS, and JavaScript.

A personal portfolio website is a great way to showcase your skills, projects, and achievements to the world. We'll cover all the essential steps and provide code examples along the way.

Table of Contents

  1. Introduction
    • Why create a personal portfolio website?
    • Technologies used: HTML, CSS, JavaScript
  1. Setting Up the Project
    • Create project folders and files
    • Setting up the basic HTML structure
  1. Building the Header
    • Adding a navigation bar
    • Styling the header with CSS
  1. Creating the About Me Section
    • Adding a profile picture
    • Writing a brief introduction
    • Styling the section with CSS
  1. Showcasing Projects
    • Creating a projects grid
    • Adding project cards with images and descriptions
  1. Implementing Contact Information
    • Adding contact details
    • Creating a contact form
    • Adding social media links
  1. Making it Responsive
    • Using media queries for different screen sizes
    • Adapting layout and design for mobile devices
  1. Adding Interactivity with JavaScript
    • Implementing smooth scrolling
    • Creating a dynamic navigation menu
  1. Final Touches
    • Fine-tuning the design
    • Testing across different browsers
    • Deploying your portfolio website
  1. Introduction

Why create a personal portfolio website?

A personal portfolio website is a powerful tool for showcasing your skills, projects, and experiences to potential employers, clients, or collaborators. It provides a centralized platform for anyone interested in your work to learn more about you.

Technologies used: HTML, CSS, JavaScript

We'll be using HTML for structuring the content, CSS for styling and layout, and JavaScript for adding interactivity to our portfolio website.

  1. Setting Up the Project

Start by creating a new project folder. Inside the folder, create the following files:

  • index.html
  • style.css
  • script.js

In the index.html file, set up the basic structure:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<link rel="stylesheet" href="style.css">

<title>Your Name - Portfolio</title>

</head>

<body>

<!-- Content goes here -->

<script src="script.js"></script>

</body>

</html>

This sets up the HTML document, includes the CSS file, and prepares for the JavaScript file.

In the next part of this blog, we'll dive into building the header section of the portfolio website. Stay tuned!

That's the starting point for your coding blog. You can continue by elaborating on each section, providing code snippets, explanations, and design tips. Make sure to progressively build the website step by step and explain each part thoroughly. Good luck with your coding blog and the creation of the responsive personal portfolio website!

Let's continue building the rest of the sections for the responsive personal portfolio website.

  1. Building the Header

In this section, we'll focus on creating the header of our portfolio website.

Adding a navigation bar

Start by adding a navigation bar to allow users to navigate through different sections of the website. Here's an example of the HTML code for the navigation bar:

<nav class="navbar">

<ul class="nav-list">

<li><a href="#about">About</a></li>

<li><a href="#projects">Projects</a></li>

<li><a href="#contact">Contact</a></li>

</ul>

</nav>

Styling the header with CSS

Apply styling to the navigation bar to make it visually appealing and responsive. Here's an example of CSS code to style the header:

.navbar {

background-color: #333;

padding: 1rem;

display: flex;

justify-content: flex-end;

}

.nav-list {

list-style: none;

display: flex;

gap: 1rem;

margin: 0;

padding: 0;

}

.nav-list li a {

color: white;

text-decoration: none;

font-weight: bold;

transition: color 0.3s ease;

}

.nav-list li a:hover {

color: #f39c12;

}

  1. Creating the About Me Section

This section is all about introducing yourself to your visitors.

Adding a profile picture

Insert an image of yourself to give a personal touch to your portfolio.

<div class="about">

<img src="profile.jpg" alt="Your Name">

<h2>About Me</h2>

<p>Write a brief introduction about yourself here.</p>

</div>

Styling the section with CSS

Style the about section to make it visually appealing.

 .about {

text-align: center;

padding: 4rem;

}

.about img {

border-radius: 50%;

width: 150px;

height: 150px;

object-fit: cover;

margin-bottom: 1rem;

}

.about h2 {

font-size: 1.5rem;

margin-bottom: 1rem;

}

.about p {

font-size: 1.1rem;

color: #555;

}

  1. Showcasing Projects

This section will display the projects you've worked on.

Creating a projects grid

Set up a grid layout to display your projects in an organized manner.

<div class="projects" id="projects">

<h2>Projects</h2>

<div class="project-card">

<img src="project1.jpg" alt="Project 1">

<h3>Project 1</h3>

<p>Description of Project 1.</p>

</div>

<!-- Repeat for other projects -->

</div>

Adding project cards with images and descriptions

Style the project cards to make them visually appealing.

.projects {

padding: 4rem;

}

.projects h2 {

font-size: 1.5rem;

margin-bottom: 2rem;

}

.project-card {

background-color: #f7f7f7;

border-radius: 8px;

padding: 1rem;

text-align: center;

margin-bottom: 1.5rem;

box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);

}

.project-card img {

max-width: 100%;

height: auto;

border-radius: 8px;

margin-bottom: 1rem;

}

.project-card h3 {

font-size: 1.2rem;

margin-bottom: 0.5rem;

}

.project-card p {

font-size: 1rem;

color: #555;

}

  1. Implementing Contact Information

This section will allow visitors to get in touch with you.

Adding contact details

Include your email address or other contact information.

<div class="contact" id="contact">

<h2>Contact Me</h2>

<p>If you'd like to get in touch, you can reach me at: your.email@example.com</p>

</div>

Creating a contact form

Provide a contact form for visitors to send you messages.

<form class="contact-form">

<input type="text" placeholder="Your Name">

<input type="email" placeholder="Your Email">

<textarea placeholder="Your Message"></textarea>

<button type="submit">Send Message</button>

</form>

Adding social media links

Include links to your social media profiles.

 <div class="social-media">

<a href="https://twitter.com/yourusername" target="_blank"><img src="twitter-icon.png" alt="Twitter"></a>

<a href="https://linkedin.com/in/yourusername" target="_blank"><img src="linkedin-icon.png" alt="LinkedIn"></a>

<!-- Add more social media links as needed -->

</div>

That's it for now! You've covered the header, about me, projects, and contact sections of the personal portfolio website. In the next part of this blog, we'll focus on making the website responsive using media queries. Stay tuned for more!

Let's keep building the rest of the sections for the responsive personal portfolio website.

  1. Making it Responsive

In this section, we'll make sure our portfolio website looks great on various devices.

Using media queries for different screen sizes

@media (max-width: 768px) {

.navbar {

justify-content: center;

}

.nav-list {

flex-direction: column;

align-items: center;

}

/* Adjust styles for smaller screens */

/* Add more media queries as needed */

}

  1. Adding Interactivity with JavaScript

In this section, we'll add dynamic behavior to our portfolio website using JavaScript.

Implementing smooth scrolling

 const navLinks = document.querySelectorAll('.nav-list li a');

navLinks.forEach(link => {

link.addEventListener('click', smoothScroll);

});

function smoothScroll(e) {

e.preventDefault();

const targetId = e.target.getAttribute('href');

const targetSection = document.querySelector(targetId);

window.scrollTo({

top: targetSection.offsetTop,

behavior: 'smooth'

});

}

Creating a dynamic navigation menu

const sections = document.querySelectorAll('section');

const navList = document.querySelector('.nav-list');

sections.forEach(section => {

const sectionId = section.getAttribute('id');

const sectionName = sectionId.charAt(0).toUpperCase() + sectionId.slice(1);

const navItem = document.createElement('li');

navItem.innerHTML = `<a href="#${sectionId}">${sectionName}</a>`;

navList.appendChild(navItem);

});

  1. Final Touches

In this section, we'll add finishing touches to our website.

Fine-tuning the design

Go through each section's CSS and adjust styles for better alignment, spacing, and readability.

Testing across different browsers

Test your website on various browsers to ensure it works and looks consistent.

Deploying your portfolio website

You can use platforms like GitHub Pages, Netlify, or Vercel to deploy your website. Follow the deployment instructions provided by the chosen platform.

Congratulations! You've completed building a responsive personal portfolio website using HTML, CSS, and JavaScript. Your website now has sections for the header, about me, projects, contact, and it's responsive with interactivity. You can further enhance and customize it according to your preferences.

Remember to continue updating your portfolio with new projects and experiences as you progress in your career. Your portfolio is a reflection of your skills and accomplishments, so keep it up to date and showcase your best work!

Thank you for following along with this coding blog. Happy coding!