Mercurial
diff mrjunejune/pages/parts/header.html @ 82:1ded13720541
Added new logos.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Thu, 01 Jan 2026 12:45:22 -0800 |
| parents | d55157451947 |
| children |
line wrap: on
line diff
--- a/mrjunejune/pages/parts/header.html Thu Jan 01 08:24:06 2026 -0800 +++ b/mrjunejune/pages/parts/header.html Thu Jan 01 12:45:22 2026 -0800 @@ -3,77 +3,139 @@ --header-background: var(--white); --header-color: rgb(var(--black)); --link-hover-accent: var(--awesome); - --social-link-hover: rgb(var(--gray-dark)); - } - .internal-links { - width: 33%; } - .header-logo { - display: grid; - grid-template-columns: 1fr 1fr ; + + /* Fixed icon in top left corner */ + #themeToggle { + position: fixed; + top: 20px; + left: 20px; + background: var(--header-background); + display: flex; align-items: center; + border-radius: 50%; + cursor: pointer; + z-index: 1000; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + transition: transform 0.2s ease; } + + #themeToggle:hover { + transform: scale(1.05); + } + + /* Professional header */ header { - margin: auto; - padding: 1em 1em; + margin: auto; + padding: 1.5em 1em; background: var(--header-background); - color: rgb(var(--header-color)); + color: var(--header-color); font-family: "Atkinson", sans-serif; box-shadow: 0 2px 8px rgba(var(--black), 5%); width: 720px; max-width: calc(100% - 2em); + text-align: center; } - h2 { - margin: 0; - font-size: 1em; + + header h1 { + margin: 0; + font-size: 1.8em; + font-weight: 700; + letter-spacing: -0.5px; } - h2 a, - h2 a.active { - text-decoration: none; + + header h1 a { + text-decoration: none; + color: var(--header-color); } - .social-links, - .social-links a { - display: flex; + + header h1 a::before { + display: none; } - .social-links a { - text-decoration: none; - } - .social-links a:hover { - color: rgb(var(--social-link-hover)); + + /* Mobile responsiveness */ + @media (max-width: 720px) { + #themeToggle { + top: 15px; + left: 15px; + } + + header { + padding: 1em; + } + + header h1 { + font-size: 1.5em; + } } - @media (max-width: 720px) { - .social-links { - display: none; - } - .internal-links { - width: 45%; + + @media (max-width: 480px) { + #themeToggle { + top: 10px; + left: 10px; + } + + #themeToggle img { + height: 40px; + width: 40px; + } + + header h1 { + font-size: 1.3em; } } - #themeToggle { - background: var(--header-background); - display: flex; - align-items: center; - border-radius: 25px; - cursor: pointer; + + #logo { + width: 300px; } - /* Dark Mode toggles */ - :is(html.dark, @media (prefers-color-scheme: dark) { html }) img { - -webkit-filter: grayscale(1); - filter: grayscale(1); + /* 1. DEFINE THE DEFAULTS (Light Mode) */ + :root { + --logo-invert: invert(0); + --epi-grayscale: grayscale(0) brightness(1); + } + + /* 2. MANUAL DARK OVERRIDE */ + html.dark { + --logo-invert: invert(1); + --epi-grayscale: grayscale(1); + } + + /* 3. MANUAL LIGHT OVERRIDE */ + html.light-mode { + --logo-invert: invert(0); + --epi-grayscale: brightness(2.9) grayscale(1); } - :is(html.light-mode, @media (prefers-color-scheme: dark) { html }) img { - -webkit-filter: brightness(2.9) grayscale(1); - filter: brightness(2.9) grayscale(1); + + /* 4. SYSTEM PREFERENCE */ + @media (prefers-color-scheme: dark) { + :root:not(.light-mode) { + --logo-invert: invert(1); + } + } + + /* 5. APPLY TO ELEMENTS */ + #logo { + -webkit-filter: var(--logo-invert); + filter: var(--logo-invert); + transition: filter 0.3s ease; + } + + .epi-logo { + -webkit-filter: var(--epi-grayscale); + filter: var(--epi-grayscale); + transition: filter 0.3s ease; } </style> + +<div id="themeToggle"> + <img id="epiChan" class="epi-logo" aria-label="Toggle dark mode" src="/public/epi_all_colors.svg" height="50" width="50"> +</div> + <header> - <h2 class="header-logo"> - <div id="themeToggle"> - <img id="epiChan" class="epi-logo" aria-label="Toggle dark mode" src="/public/epi_all_colors.svg" height="50" width="50"> - </div> - <a href="/">MrJuneJune</a> - </h2> + <h1> + <a href="/"><img id="logo" src="/public/logo_white.png"> </a> + </h1> </header> <script src="index.js"></script>