A responsive portfolio website featuring dark/light mode toggle ☀️🌙, built with modern web technologies:
- 🏗️ HTML5
- 🎨 CSS3
- ⚡ JavaScript
🅱️ Bootstrap 5 framework
- 📸 Studied original images layout and components
- 🎨 Identified core color scheme (dark green/white) and typography
- 📝 Documented all sections and interactive elements
<!-- Key Structural Components -->
<nav class="navbar">...</nav> <!-- 🧭 Navigation -->
<section id="home" class="hero-section">...</section> <!-- 🏠 Home -->
<section id="about" class="about-section">...</section> <!-- 📖 About -->
<section id="services" class="services-section">...</section> <!-- 🛠️ Services -->
<section id="blog" class="blog-section">...</section> <!-- 💪 Blog -->
<section id="pages" class="pages-section">...</section> <!-- 🖼️ Pages -->
<section id="contact" class="contact-section">...</section> <!-- 📞 Contact -->
<footer class="footer">...</footer> <!-- 🦶 Footer -->/* 🎨 Color Scheme */
:root {
--dark-green: #1a3e2f; /* 🌲 Dark green */
--medium-green: #2d5e4a; /* 🌿 Medium green */
--light-green: #3d8b6d; /* 🍀 Light green */
--white: #ffffff; /* ⬜ Pure white */
--light-gray: #f5f5f5; /* ⚪ Light gray */
}
/* 🌑 Dark Mode Variables */
[data-theme="dark"] {
--dark-green: #3d8b6d; /* 💚 Dark mode green */
--white: #121212; /* ⬛ Dark background */
--light-gray: #1e1e1e; /* ⚫ Dark gray */
}🌓 Dark/Light Mode Toggle:
// Theme toggle functionality
const themeToggle = document.getElementById('theme-toggle');
themeToggle.addEventListener('click', () => {
document.body.toggleAttribute('data-theme');
localStorage.setItem('theme',
document.body.hasAttribute('data-theme') ? 'dark' : 'light');
});🖱️ Portfolio Hover Effects:
.portfolio-item {
transition: transform 0.3s; /* ✨ Smooth transition */
}
.portfolio-item:hover {
transform: scale(1.05); /* 🔍 Zoom effect */
}/* 📲 Mobile-first breakpoints */
@media (min-width: 576px) { /* 📱 Small devices */ }
@media (min-width: 768px) { /* 💻 Medium devices */ }
@media (min-width: 992px) { /* 🖥️ Large devices */ }/portfolio
│── index.html # 📄 Main website structure
│── styles.css # 🎨 Custom styling
│── script.js # ⚡ Interactive functionality
└── /images # 🖼️ All visual assets
├── profile.png # 👨💻 Hero image
├── about.png # 📖 Bio section image
├── work1-8.png # 🖼️ Portfolio items
└── skills.png # 💪 Skills illustration
-
🎨 Theme System
- 🖌️ CSS variable theming
- 💻 OS preference detection
- 💾 Persistent settings via localStorage
-
📐 Layout Components
- 🟦 Bootstrap 5 grid system
- 🃏 Custom card designs
- 🖼️ Responsive image handling
-
🔄 Interactive Elements
- ⬇️ Smooth scrolling navigation
- ✅ Form validation
- ✨ Hover animations
- Clone repository:
git clone https://github.com/Junewahu/Web-Development-Group-468.git
- Open
index.htmlin your browser - Start customizing!
| Technology | Purpose |
|---|---|
| Semantic markup | |
| Styling and layout | |
| Interactive functionality | |
| Responsive components |
MIT License - Free for personal and commercial use 👍
Created by group 468: june mwangi - junewahu@gmail.com victor mikae - mikaev135@gmail.com evans mugendi - acemugendi6@gmail.com bolly kevin echessa - bollykevin75@gmail.com gift odoyo - otienogift1@gmail.com stellah wycliff - stellahdaniel71@gmail.com sibongakonke bhengu- snbhengu08@gmail.com ambuche david - ddoronje25@gmail.com nicole ochieng - nicoleochieng7@gmail.com
