responsive footer

This commit is contained in:
zoe 2022-04-16 15:27:19 +02:00
parent cb4c119646
commit 052ff3b0a8
7 changed files with 90 additions and 10 deletions

View file

@ -280,3 +280,27 @@ button {
&:hover {background-color: transparent;} &:hover {background-color: transparent;}
background-color: transparent; background-color: transparent;
} }
#hamburger-bg{
background-color: $dark-bg;
& .hamburger-nav-item {
background-color: transparent;
color: $dark-ln;
border-color: $dark-ln;
&:hover {
background-color: $dark-ln;
color: $dark-bg;
}
}
&.light{
background-color: $light-bg;
& .hamburger-nav-item{
color: $light-ln;
border-color: $light-ln;
&:hover {
background-color: $light-ln;
color: $light-bg;
}
}
}
}

View file

@ -136,7 +136,6 @@ header{
#hamburger-bg{ #hamburger-bg{
position: fixed; position: fixed;
background-color: red;
width: 100%; width: 100%;
height: calc(100% - 42pt); height: calc(100% - 42pt);
left: 0pt; left: 0pt;
@ -148,8 +147,15 @@ header{
justify-content: center; justify-content: center;
& * { & * {
display: grid; display: grid;
margin-top: 14pt; margin-top: 2%;
margin-bottom: 14pt; margin-bottom: 2%;
text-align: center; text-align: center;
} }
&.hidden{
display: none;
}
}
#darkmode-button-small {
margin-right: 8pt;
} }

View file

@ -1,4 +1,6 @@
#hamburger-button { #hamburger-button,
#hamburger-bg,
#darkmode-button-small{
display: none; display: none;
} }
@ -9,8 +11,18 @@
{ {
display: none; display: none;
} }
#hamburger-button { #hamburger-button,
#darkmode-button-small,
#hamburger-bg,
#hamburger-bg #darkmode-toggle-label,
#hamburger-bg #darkmode-toggle{
display: flex; display: flex;
} }
#hamburger-bg #darkmode-toggle,
#hamburger-bg #darkmode-toggle-label{
position: absolute;
bottom: 1em;
right: 1em;
}
} }

View file

@ -101,3 +101,10 @@ ul a{
border-style: solid; border-style: solid;
padding: 0.12em; padding: 0.12em;
} }
#hamburger-bg {
& .hamburger-nav-item {
border-style: solid;
padding: 0.12em;
}
}

View file

@ -11,15 +11,15 @@
<span id="footer-right"> <span id="footer-right">
<input type="checkbox" id="darkmode-toggle" aria-label="darkmode toggle" class="toggleinput"> <input type="checkbox" id="darkmode-toggle" aria-label="darkmode toggle" class="toggleinput">
<label class="togglelabel colorswitch" for="darkmode-toggle" aria-label="darkmode toggle" role="checkbox" id="darkmode-toggle-label"></label> <label class="togglelabel colorswitch" for="darkmode-toggle" aria-label="darkmode toggle" role="checkbox" id="darkmode-toggle-label"></label>
<button type="button" id="hamburger-button" class="colorswitch hamburger"></button> <button type="button" id="darkmode-button-small" class="colorswitch hamburger"></button>
<div class="hamburger colorswitch" id="hamburger-bg"> <button type="button" id="hamburger-button" class="colorswitch hamburger" title="hamburger navigation menu button"></button>
<nav id="footer-nav" aria-label="navigation"> <div class="hamburger colorswitch hidden" id="hamburger-bg">
<nav id="hamburger-nav" aria-label="navigation">
{{ $currentPage := . }} {{ $currentPage := . }}
{{ range .Site.Menus.nav }} {{ range .Site.Menus.nav }}
<a class="hamburger-nav-item{{if or ($currentPage.IsMenuCurrent "nav" .) ($currentPage.HasMenuCurrent "nav" .) }} active{{end}} colorswitch" href="{{ .URL }}" title="{{ .Title }}">{{ .Name }} {{ .Title }}</a><br> <a class="hamburger-nav-item{{if or ($currentPage.IsMenuCurrent "nav" .) ($currentPage.HasMenuCurrent "nav" .) }} active{{end}} colorswitch" href="{{ .URL }}" title="{{ .Title }}">{{ .Name }} {{ .Title }}</a><br>
{{ end }} {{ end }}
</nav> </nav>
</div> </div>
</span> </span>
</footer> </footer>

View file

@ -1 +1,25 @@
function activateHamburger() {} const button = document.getElementById("hamburger-button");
const bg = document.getElementById("hamburger-bg");
let hidden = true;
export function activateHamburger() {
button.addEventListener("click", function () {
hidden = !hidden;
console.log(hidden);
if (hidden === true) {
hide();
} else {
unhide();
}
});
}
function unhide() {
bg.classList.remove("hidden");
button.innerHTML = "窱";
}
function hide() {
bg.classList.add("hidden");
button.innerHTML = "";
}

View file

@ -1,13 +1,16 @@
const checkbox = document.getElementById("darkmode-toggle"); const checkbox = document.getElementById("darkmode-toggle");
const colorswitchers = document.getElementsByClassName("colorswitch"); const colorswitchers = document.getElementsByClassName("colorswitch");
const button = document.getElementById("darkmode-button-small");
function switchToLight() { function switchToLight() {
button.innerHTML = "滛";
for (let item of colorswitchers) { for (let item of colorswitchers) {
item.classList.add("light"); item.classList.add("light");
} }
} }
function switchToDark() { function switchToDark() {
button.innerHTML = "";
for (let item of colorswitchers) { for (let item of colorswitchers) {
console.log(item); console.log(item);
item.classList.remove("light"); item.classList.remove("light");
@ -21,6 +24,10 @@ export function updateMode() {
switchToDark(); switchToDark();
} }
checkbox.checked = localStorage.getItem("dark"); checkbox.checked = localStorage.getItem("dark");
button.addEventListener("click", function () {
checkbox.click();
});
checkbox.addEventListener("change", function () { checkbox.addEventListener("change", function () {
localStorage.setItem("light", this.checked); localStorage.setItem("light", this.checked);
if (this.checked) { if (this.checked) {