Personal Portfolio Webpage - Build a Personal Portfolio Webpage

Tell us what’s happening:

Hi all, I am currently doing my final project of making a personal portfolio and I’m going to give it my all to make my website nice as possible as its something I want to use in the future. All of my code is written by me, however, I am thinking of adding a CSS UI I found in UIverse which has open source code. I was wondering if it is okay to use it in the first place? I am also going to include citations within the CSS just in case. Furthermore, I am planning to add icons for GitHub, LinkedIn and email.

Your code so far

<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="stylesheet" href="styles.css" />
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
    <title>Portfolio Website</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  </head>
  <body>
      <header>
        <!--NAVIGATION BAR-->
      <nav id="nav-bar">
        <ul>
          <li><a class="nav-link" href="#welcome-section">About</a></li>
          <li><a class="nav-link" href="#skills">Skills</a></li>
          <li><a class="nav-link" href="#projects">Projects</a></li>
          <li><a class="nav-link" href="#contact">Contact</a></li>
        </ul>
      </nav>
    </header>
    <!--WELCOME SECTION -->
<main>
<section id="welcome-section">
  <div class="welcome-container">
    <div class="welcome-text">
<p class="intro-text">HELLO WORLD!<span class="wave">👋</span></p>
      <h1>I'm Kevin Le</h1>
      <p class="sub-text">I am an <span class="highlight">IT Graduate</span> located in</p>
      <div class="location">
  <div class="loader-shape-3"></div>
</div>
      <p class="location-text"> Melbourne, VIC, Australia</p>
      </div>
      <div class="buttons">
        <button class="contact-btn">Contact Me</button>
        <button class="resume-btn">Download Resume</button>
      </div>
      <div class="social-icons">
        <a href="#"><img src="" alt="GitHub" /></a>
        <a href="#"><img src="" alt="LinkedIn" /></a>
        <a href="#"><img src="" alt="Email" /></a>
      </div>
    </div>
    <div class="welcome-image">
      <img id="portrait-icon" src="" alt="Portrait Portrait" />
    </div>
  </div>
</section>

        <!--SKILLS SECTION -->
<section id="skills" class="skills">
  <h2 class="skills-header">Skills</h2>
  <div class="skill-container">
    <h3 class="language-header">Languages</h3>
    <ul class="language-list">
      <li>C#</li>
      <li>CSS</li>
      <li>HTML</li>
      <li>JavaScript</li>
      <li>NoSQL</li>
      <li>Python</li>
      <li>SQL</li>
    </ul>
    <h3 class="frameworks-header">Frameworks</h3>
    <ul class="framework-list">
      <li>Express</li>
      <li>Node.Js</li>
      <li>React</li>
    </ul>
    <h3 class="tools-header">Tools</h3>
    <ul class="tools-list">
      <li>Apache</li>
      <li>AWS</li>
      <li>Azure</li>
      <li>FileZilla</li>
      <li>Github</li>
      <li>Kali Linux</li>
      <li>Linux Ubuntu</li>
      <li>MongoDB</li>
      <li>Trello</li>
      <li>Unity</li>
      <li>VS Code</li>
    </ul>
  </div>
</section>
        <!--PROJECT SECTION -->
      <section id="projects" class="projects">
        <h2 class="project-header">My Projects</h2>
        <div class="project-listing"><img><h2 class="project name">Project 1</h2></div>
        <div class="project-listing"><img><h2 class="project name">Project 2</h2></div>
        <div class="project-listing"><img><h2 class="project name">Project 3</h2></div>
        <div class="project-listing"><img><h2 class="project name">Project 4</h2></div>
        </section>
        <!--CONTACT SECTION -->
      <section id="contact" class="contact">
        <h2 class="contact-header">Contact Me</h2>
        </section>
      </main>
        <!--FOOTER-->
    <footer></footer>
    </body>
    </html>
/* file: styles.css */
/* COLOURS */
:root {
  --primary-color: #5d00ff;
  --secondary-color: #4a90e2;
  --highlight-color: linear-gradient(90deg, #4a90e2, #7b61ff, #ff69b4);
  --button-color: #4700e0;
  --button-hover: #6a00ff;
  --font-color: white;
  --background-color: black;
}
/* BASE */
body {
  color: var(--font-color);
  background: var(--background-color);
  margin: 0;
}

* {
 font-family: "Noto Sans", sans-serif;
  color: var(--font-color);
}
/* NAVIGATION BAR */
#nav-bar {
  position: fixed;
  bottom: 3%;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  width: calc(100% - 60px);
  max-width: 600px;
  background: rgba(20,20,20,0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid white;
  border-radius: 18px;
  animation: slide-up 1s forwards;
}


#nav-bar ul {
  list-style-type: none;
  display: flex;
}

#nav-bar li {
  margin: 0 15px;
}

#nav-bar a.nav-link {
  text-decoration: none;
  color: var(--font-color, white);
  font-size: 1.2rem;
  transition: color 0.3s ease, transform 0.3s ease;
}

#nav-bar a.nav-link:hover {
  color: var(--hover-color, #ff6347); 
  transform: translateY(-3px);
}

/* WELCOME SECTION */
#welcome-section {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
}

.welcome-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  width: 90%;
  max-width: 1200px;
}

.welcome-text {
  max-width: 600px;
}

.intro-text {
  font-size: 1.5rem;
  color: var(--secondary-color);
  margin-bottom: 0;
}

h1 {
  font-size: 4rem;
  margin: 0;
}

.sub-text {
  font-size: 1.5rem;
  margin: 0.5rem 0;
}
.location {
  display: flex;
}
.highlight {
  background: var(--highlight-color);
  -webkit-text-fill-color: transparent;
  background-clip: text;;
}

.buttons {
  margin: 20px 0;
}

.contact-btn {
  background-color: var(--button-color);
  color: var(--font-color);
  font-weight: bold;
  border: 1px solid white;
  border-radius: 30px;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 1rem;
  transition: box-shadow 0.3s ease-in-out;
}

.resume-btn {
  background-color: transparent;
  border: 2px solid white;
  font-weight: bold;
  color: var(--font-color);
  border-radius: 30px;
  padding: 10px 20px;
  margin: 0 10px;
  cursor: pointer;
  font-size: 1rem;
  transition: box-shadow 0.3s ease-in-out;
}

button:hover {
  box-shadow: 0 10px 15px -3px var(--button-hover), 0 4px 6px -2px var(--button-hover);
}

button:focus,
button:active {
  opacity: 0.85;
  box-shadow: none;
}

.social-icons {
  margin-top: 20px;
}

.social-icons a {
  margin: 0 10px;
}

.social-icons img {
  width: 30px;
  height: 30px;
}

.welcome-image img {
  width: 300px;
  border-radius: 50%;
  border: 5px solid var(--secondary-color);
}

/* ANIMATIONS */
/* Location Icon */
/* From Uiverse.io by vikramsinghnegi */
.loader-shape-3 {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
}
.loader-shape-3:after {
  width: 30px;
  height: 20px;
  border-radius: 100%;
  background-color: rgba(255, 255, 255, 0.2);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: 15px;
}
.loader-shape-3:before {
  width: 20px;
  height: 20px;
  border-radius: 100% 100% 100% 0;
  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 1);
  animation: anm-SL-3-move 1s linear infinite;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-46deg);
  margin-top: 20px;
}
.loader-shape-3:before,
.loader-shape-3:after {
  position: absolute;
  content: "";
}
@keyframes anm-SL-3-move {
  0% {
    top: 0;
  }
  50% {
    top: -5px;
  }
  100% {
    top: 0;
  }
}

/* Wave Icon */
.wave {
  font-size: 1.2rem;
  display: inline-block;
  margin-left: 0.5rem;
  animation: wave 2s ease-in-out infinite;
}

@keyframes wave {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(-25deg); }
  50% { transform: rotate(0deg); }
}

@keyframes slide-up {
  to {
    transform: translateX(-50%) translateY(0);
  }

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 OPR/115.0.0.0

Challenge Information:

Personal Portfolio Webpage - Build a Personal Portfolio Webpage

2 Likes

I suggest you review the Academic Honesty Policy before using external code, you can find it in the settings

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.