- Notifications
You must be signed in to change notification settings - Fork 0
Create responsive portfolio header with HTML and CSS #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
7fb4f91 fc80075 8c85c38 18c581d e310d70 9dfff69 f210978 a9eca30 File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| | @@ -14,6 +14,11 @@ | |
| --text-secondary: #b0b0b0; | ||
| --border-color: #404040; | ||
| | ||
| /* Header Colors */ | ||
| --header-bg: #0f0f0f; | ||
| --header-text: #ffffff; | ||
| --header-border: rgba(255, 255, 255, 0.1); | ||
| | ||
| /* Green Theme (Default) */ | ||
| --accent-color: #10b981; | ||
| --accent-hover: #059669; | ||
| | @@ -140,55 +145,36 @@ body { | |
| | ||
| /* Header */ | ||
| .header { | ||
| background-color: var(--bg-secondary); | ||
| padding: 30px 0; | ||
| border-bottom: 1px solid var(--border-color); | ||
| background-color: var(--header-bg); | ||
| padding: 24px 0; | ||
| border-bottom: 1px solid var(--header-border); | ||
| } | ||
| | ||
| .header-inner { | ||
| display: flex; | ||
| justify-content: space-between; | ||
| align-items: center; | ||
| flex-wrap: wrap; | ||
| gap: 20px; | ||
| gap: 24px; | ||
| } | ||
| | ||
| .header-main { | ||
| .header-left { | ||
| display: flex; | ||
| align-items: center; | ||
| gap: 30px; | ||
| flex-wrap: wrap; | ||
| } | ||
| | ||
| .header-identity { | ||
| display: flex; | ||
| align-items: center; | ||
| gap: 20px; | ||
| gap: 16px; | ||
| } | ||
| | ||
| .header-logo { | ||
| height: 70px; | ||
| height: 40px; | ||
| width: auto; | ||
| border-radius: 8px; | ||
| object-fit: contain; | ||
brianwalkerdev marked this conversation as resolved. Show resolved Hide resolved | ||
| transition: var(--transition); | ||
| } | ||
| Comment on lines 172 to 181 | ||
| | ||
| .header-logo:hover { | ||
| transform: scale(1.05); | ||
| } | ||
| | ||
| .header-text h1 { | ||
| .header-name { | ||
| font-family: var(--font-heading); | ||
| font-size: 2.5rem; | ||
| font-weight: 700; | ||
| margin-bottom: 5px; | ||
| } | ||
| | ||
| .subtitle { | ||
| font-family: var(--font-heading); | ||
| color: var(--text-secondary); | ||
| font-size: 1.1rem; | ||
| font-size: 1.25rem; | ||
| font-weight: 600; | ||
| color: var(--header-text); | ||
| letter-spacing: -0.01em; | ||
| } | ||
| | ||
| /* Social Links in Header */ | ||
| | @@ -204,10 +190,10 @@ body { | |
| justify-content: center; | ||
| width: 34px; | ||
| height: 34px; | ||
| background: var(--bg-card); | ||
| border: 1px solid var(--border-color); | ||
| background: rgba(255, 255, 255, 0.1); | ||
| border: 1px solid rgba(255, 255, 255, 0.2); | ||
| Comment on lines +204 to +205 | ||
| border-radius: 50%; | ||
| color: var(--text-primary); | ||
| color: var(--header-text); | ||
| font-size: 1rem; | ||
| transition: var(--transition); | ||
| text-decoration: none; | ||
| | @@ -217,14 +203,20 @@ body { | |
| .social-links a:focus { | ||
| background: var(--accent-color); | ||
| border-color: var(--accent-color); | ||
| color: var(--text-primary); | ||
| color: var(--header-text); | ||
| transform: scale(1.1); | ||
| } | ||
| | ||
| .header-controls { | ||
| /* Theme Controls Container */ | ||
| .theme-controls-container { | ||
| background-color: var(--bg-secondary); | ||
| padding: 12px 0; | ||
| border-bottom: 1px solid var(--border-color); | ||
brianwalkerdev marked this conversation as resolved. Outdated Show resolved Hide resolved | ||
| } | ||
| | ||
| .theme-controls-container .container { | ||
| display: flex; | ||
| align-items: center; | ||
| gap: 10px; | ||
| justify-content: flex-end; | ||
| } | ||
| | ||
| /* Theme Toggle Slider */ | ||
| | @@ -840,56 +832,26 @@ body.light-mode .theme-toggle-icon--dark { | |
| } | ||
| | ||
| /* Responsive Design */ | ||
| @media (max-width: 768px) { | ||
| | ||
| /* Header responsive - 600px breakpoint as specified */ | ||
| @media (max-width: 600px) { | ||
| .header-inner { | ||
| flex-direction: column; | ||
| align-items: flex-start; | ||
| } | ||
| | ||
| .header-main { | ||
| width: 100%; | ||
| flex-direction: column; | ||
| align-items: flex-start; | ||
| gap: 15px; | ||
| } | ||
| | ||
| .header-identity { | ||
| flex-direction: column; | ||
| align-items: flex-start; | ||
| gap: 15px; | ||
| } | ||
| | ||
| .header-logo { | ||
| height: 60px; | ||
| align-items: center; | ||
| gap: 16px; | ||
| } | ||
| | ||
| .header-text h1 { | ||
| font-size: 2rem; | ||
| .header-left { | ||
| justify-content: center; | ||
| } | ||
| | ||
| .social-links { | ||
| overflow-x: auto; | ||
| width: 100%; | ||
| padding-bottom: 5px; | ||
| position: relative; | ||
| justify-content: center; | ||
| flex-wrap: wrap; | ||
| } | ||
| } | ||
| | ||
| .social-links::after { | ||
| content: ""; | ||
| position: absolute; | ||
| top: 0; | ||
| right: 0; | ||
| width: 40px; | ||
| height: 100%; | ||
| pointer-events: none; | ||
| background: linear-gradient(to left, var(--bg-primary) 70%, transparent 100%); | ||
| z-index: 1; | ||
| } | ||
| | ||
| .header-controls { | ||
| align-self: flex-end; | ||
| } | ||
| | ||
| @media (max-width: 768px) { | ||
| .footer-inner { | ||
| flex-direction: column; | ||
| text-align: left; | ||
| | @@ -934,12 +896,12 @@ body.light-mode .theme-toggle-icon--dark { | |
| } | ||
| | ||
| @media (max-width: 480px) { | ||
| .header-text h1 { | ||
| font-size: 1.5rem; | ||
| .header-logo { | ||
| height: 32px; | ||
| } | ||
| | ||
| .header-logo { | ||
| height: 50px; | ||
| .header-name { | ||
| font-size: 1.1rem; | ||
| } | ||
| | ||
| .project-links { | ||
| | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| | @@ -100,52 +100,50 @@ | |||||
| <header class="header"> | ||||||
| <div class="container"> | ||||||
| <div class="header-inner"> | ||||||
| <div class="header-main"> | ||||||
| <div class="header-identity"> | ||||||
| <img src="assets/img/brianwalkerdev-transparent-logo.png" alt="Brian Walker - bw. logo" class="header-logo"> | ||||||
| <div class="header-text"> | ||||||
| <h1>Brian Walker</h1> | ||||||
| <p class="subtitle">Portfolio Hub</p> | ||||||
| </div> | ||||||
| </div> | ||||||
| <nav class="social-links" aria-label="Social media"> | ||||||
| <a href="https://github.com/brianwalkerdev" target="_blank" rel="noopener noreferrer" aria-label="GitHub @brianwalkerdev"> | ||||||
| <i class="fab fa-github"></i> | ||||||
| </a> | ||||||
| <a href="https://x.com/brianwalkerdev" target="_blank" rel="noopener noreferrer" aria-label="X (Twitter) @brianwalkerdev"> | ||||||
| <i class="fab fa-x-twitter"></i> | ||||||
| </a> | ||||||
| <a href="https://www.linkedin.com/in/brianwalkerdev" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn - Brian Walker"> | ||||||
| <i class="fab fa-linkedin"></i> | ||||||
| </a> | ||||||
| <a href="https://www.youtube.com/@BrianWalkerDev" target="_blank" rel="noopener noreferrer" aria-label="YouTube @BrianWalkerDev"> | ||||||
| <i class="fab fa-youtube"></i> | ||||||
| </a> | ||||||
| <a href="https://www.facebook.com/BWalkerDev" target="_blank" rel="noopener noreferrer" aria-label="Facebook @BWalkerDev"> | ||||||
| <i class="fab fa-facebook"></i> | ||||||
| </a> | ||||||
| </nav> | ||||||
| </div> | ||||||
| <div class="header-controls"> | ||||||
| <!-- Theme Toggle --> | ||||||
| <button | ||||||
| id="theme-toggle" | ||||||
| class="theme-toggle" | ||||||
| type="button" | ||||||
| aria-label="Toggle light and dark mode" | ||||||
| aria-pressed="false" | ||||||
| > | ||||||
| <span class="theme-toggle-track"> | ||||||
| <span class="theme-toggle-thumb"></span> | ||||||
| <span class="theme-toggle-icon theme-toggle-icon--light" aria-hidden="true">☀️</span> | ||||||
| <span class="theme-toggle-icon theme-toggle-icon--dark" aria-hidden="true">🌙</span> | ||||||
| </span> | ||||||
| </button> | ||||||
| <div class="header-left"> | ||||||
| <img src="assets/img/brianwalkerdev Transparent symbol.png" alt="Brian Walker Developer Logo" class="header-logo"> | ||||||
brianwalkerdev marked this conversation as resolved. Outdated Show resolved Hide resolved | ||||||
| <img src="assets/img/brianwalkerdev Transparent symbol.png" alt="Brian Walker Developer Logo" class="header-logo"> | |
| <img src="assets/img/brianwalkerdev-transparent-symbol.png" alt="Brian Walker Developer Logo" class="header-logo"> |

There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The header color variables (--header-bg, --header-text, --header-border) are only defined for dark mode but not for light mode. When users switch to light mode, the header will retain dark mode colors, creating an inconsistent appearance. Add these variables to the
body.light-modeselector (around line 35) with appropriate light theme values:There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot apply changes based on this feedback
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Already applied in a9eca30. Added light mode header color variables:
--header-bg: #ffffff--header-text: #1a1a1a--header-border: rgba(0, 0, 0, 0.1)