This commit is contained in:
2026-05-11 19:00:22 +02:00
6 changed files with 109 additions and 42 deletions
+12 -10
View File
@@ -12,23 +12,25 @@
</head>
<body>
<button id="button-mobile" class="button-mobile">22</button>
<button id="button-mobile" class="button-mobile no-navbar">22</button>
<div id="navbar-mobile">
<div id="navbar-mobile-links">
</div>
<label class="switch">
<input type="checkbox" id="themeToggle2">
<span class="slider"></span>
</label>
<div class="mobile-config">
<label class="switch">
<input type="checkbox" id="themeToggle2">
<span class="slider"></span>
</label>
<div class="lang-dropdown" id="lang-dropdown2">
<button class="lang-button" id="lang-button2">Sprache</button>
<div class="lang-dropdown" id="lang-dropdown2">
<button class="lang-button" id="lang-button2">Sprache</button>
<div id="lang-menu2" class="lang-menu hidden">
<div class="lang-item hidden" data-lang="de">de</div>
<div class="lang-item hidden" data-lang="en">en</div>
<div id="lang-menu2" class="lang-menu hidden">
<div class="lang-item hidden" data-lang="de">de</div>
<div class="lang-item hidden" data-lang="en">en</div>
</div>
</div>
</div>
+3 -1
View File
@@ -6,6 +6,8 @@ if (lang != "en" && lang != "de") {
lang = "en";
}
document.documentElement.lang = lang;
history.scrollRestoration = "manual";
function saveScroll() {
@@ -80,7 +82,7 @@ async function loadData() {
const button_mobile = document.getElementById("button-mobile");
button_navbar_mobile.textContent = "";
button_mobile.textContent = "";
button_navbar_mobile.classList = "button-mobile";
button_navbar_mobile.classList = "button-mobile navbar";
navbar_mobile_links.appendChild(button_navbar_mobile);
button_navbar_mobile.addEventListener("click", () => {
navbar_mobile.classList.toggle("inactive");
+1 -1
View File
@@ -8,7 +8,7 @@
--serif: Georgia, serif;
--sans: system-ui, sans-serif;
--nav-w: 230px;
--nav-mobile-w: 200px;
--nav-mobile-w: 60vw;
--font-size: 1rem;
}
+44 -7
View File
@@ -10,11 +10,20 @@
align-items: center;
border-right: 1px solid var(--border);
gap: 10px;
background: var(--bg);
transition: left 0.3s;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
z-index: 10;
}
#navbar-mobile::before {
content: "";
position: absolute;
inset: 0;
background: var(--bg);
opacity: 0.992;
z-index: -1;
}
#navbar-mobile.inactive {
@@ -32,7 +41,9 @@
flex-direction: column;
justify-content: flex-start;
align-items: center;
gap: 10px;
width: 100%;
border-bottom: 1px solid var(--border);
height: fit-content;
}
.button-mobile {
@@ -46,6 +57,10 @@
border: 1px solid var(--border);
}
.button-mobile.navbar {
margin-bottom: 20px;
}
.button-mobile::before {
content: "";
position: absolute;
@@ -82,28 +97,31 @@
background: var(--bg2);
}
#button-mobile {
.button-mobile.no-navbar {
position: fixed;
top: 5px;
left: 5px;
margin-top: 0;
}
#button-mobile.inactive {
.button-mobile.no-navbar.inactive {
display: none;
}
.navbar-item-mobile {
width: 100%;
height: 80px;
height: 8vh;
list-style: none;
display: flex;
align-items: center;
justify-content: center;
border-top: 1px solid var(--border);
}
.navbar-item-mobile:hover {
background: var(--surface);
@media (hover: hover) and (pointer: fine) {
.navbar-item-mobile:hover {
background: var(--surface);
}
}
.nav-link-mobile {
@@ -116,3 +134,22 @@
align-items: center;
padding: 10px;
}
.mobile-config {
display: flex;
flex-direction: column;
align-items: flex-start;
margin-top: auto;
margin-bottom: 20px;
gap: 20px;
height: fit-content;
width: 100%;
}
.mobile-config .switch{
margin-left: 40px;;
}
.mobile-config .lang-dropdown {
margin-left: 19.5px;
}
+31 -13
View File
@@ -1,19 +1,25 @@
.main-content {
margin-left: var(--nav-w);
--margin-main-content: 100px;
--margin-main-content: 7vw;
--margin-top: 100px;
}
@media (max-width: 1500px) {
.main-content {
--margin-main-content: 4vw;
}
}
@media (max-width: 1000px) {
.main-content {
margin-left: 0;
--margin-main-content: 20px;
--margin-top: 30px;
--margin-top: 50px;
}
}
#introduction {
padding-top: var(--margin-top);
margin-top: var(--margin-top);
margin-left: var(--margin-main-content);
margin-bottom: 60px;
margin-right: var(--margin-main-content);
@@ -29,7 +35,6 @@
.project-section {
border-top: 1px solid var(--border);
border-bottom: 1px solid var(--border);
}
.content-block {
@@ -116,11 +121,6 @@
display: inline;
}
.text-content a {
font-size: var(--font-size);
font-weight: normal;
}
.text-link:hover {
border-color: var(--text);
}
@@ -128,13 +128,31 @@
.text-link {
display: inline-block;
width: fit-content;
font-size: 0.90rem;
font-weight: 500;
font-size: var(--text-size);
font-weight: bolder;
text-decoration: none;
border-bottom: 1px solid var(--border);
padding-bottom: 2px;
transition: border-color 0.15s;
white-space: nowrap;
position: relative;
}
.text-link:hover {
color: var(--text);
}
.text-link::before{
content: "";
width: 100%;
height: 1.2px;
background: var(--muted);
left: 0;
bottom: 2px;
position: absolute;
border-radius: 16px;
}
.text-link:hover::before {
background: var(--text);
}
.link-row {
+18 -10
View File
@@ -82,8 +82,10 @@
font-size: 0.75rem;
}
.nav-link:hover {
color: var(--text);
@media (hover: hover) and (pointer: fine) {
.nav-link:hover {
color: var(--text);
}
}
.nav-link.active {
@@ -162,8 +164,10 @@
border: 1px solid var(--border);
}
.slider:hover {
border: 1px solid var(--text);
@media (hover: hover) and (pointer: fine) {
.slider:hover {
border: 1px solid var(--text);
}
}
.slider:before {
@@ -233,9 +237,11 @@ input:checked+.slider:before {
color: var(--muted);
}
.lang-item:hover {
border-color: var(--text);
color: var(--text);
@media (hover: hover) and (pointer: fine) {
.lang-item:hover {
border-color: var(--text);
color: var(--text);
}
}
.lang-button {
@@ -255,9 +261,11 @@ input:checked+.slider:before {
font-size: 14px;
}
.lang-button:hover {
border-color: var(--text);
color: var(--text);
@media (hover: hover) and (pointer: fine) {
.lang-button:hover {
border-color: var(--text);
color: var(--text);
}
}
/* Contact */