Zeig mal, wie und an welcher Stelle du es in der html eingebunden hast. Möglicherweise wird deine js schon viel zu frueh geladen.
const test: HTMLElement = document.querySelectorAll('.test');
test[i].style.backgroundColor="black"
oder
(document.querySelectorAll('.test')[i] as HTMLElement).style.backgroundColor="black"
Die ganzen Zeilen werden nicht von hand in html geschrieben. Eine Methode wäre eine api anzusprechen die daten liefert. Diese Daten werden dann in html code umgewandelt, mittels javascript.
Du bekommst also daten, jagst die durch eine schleife und erstellst mit wenig code eine webseite mit vielen zeilen.
Benutz position absolute in css
Ich hoffe doch sehr, dass es nun wieder funktioniert, oder nicht?
Mach den width im body auf 100% und das bild auf cover mit background-size.
Wenns nicht klappt, dann schick mal den code
Arbeite mit div containern, dann kannst du die besser Zentrieren und bearbeiten.
ich würde es so machen:
<div class=container>
<div class=box1>
Img+txt
</div>
<div class=box2>
Img+txt <- auch in einem div, je nachdem
</div>
...
</div>
Ich persönlich würde dann mit flex arbeiten. Sehr gut um Elemente zu Zentrieren(Vertikal und Horizontal) und auch gut, um einzustellen, ob die in einer Reihe oder Spalte dargestellt werden sollen und ob es einen Umbruch geben soll.
Schau dir das mal an.
Hoffe nach 10 Jahren sollte das aber schon gelöst sein.
Lg.
Hamburger Menu
Es gibt auch den Döner Menu. Man sagt aber auch Hamburger toggle menu.
HTML:
<div class="div-1">
<div class="div-2"></div>
</div>
CSS:
.div-1{
position: relative;
width: 300px;
height: 300px;
background: #333;
}
.div-2{
position: absolute;
width: 100px;
height: 100px;
background: #000;
top: 50%;
transform: translateY(-50%);
}
Wenn du es genau mittig Zentrieren möchtest, dann füge noch hinzu im div-2
und ändere translateY zu
translate(-50%,-50%);
left: 50%;
Das ist so die Grundkenntnis im Zentrieren. Aber auch kannst du den Lösungsvorschlag von Steffile nehmen, indem du mit Flex arbeitest.
Youtube Videos anschauen.
Programme 1 zu 1 abtippen.
Aufm Blatt mit dem Stift Programme Schreiben.
Geschriebene Programme nachvollziehen und verstehen.
Bei unklarheit des Programmablaufs System.out.prints im Programm reinhauen, mit dem Aufruf, (beispiel Array) „bin jetzt im n ten index“
Kleine Programme mehrmals abtippen und ein Gefühl dafuer bekommen.
Das ist wie eine neue Sprache lernen: Man lernt am Anfang viele verschiedene Phrasen auswendig und dann mit der Zeit und der Wiederholung bekommt man ein Verständis und Gefühl dafuer.
for(int i=1;i<n;i++)
System.out.print((i%2 == 0 ? i : -i)+", ");
Nur weil er damals nicht die Chance gehabt hatte, hat er dich nicht ganz ausm Herz gestoßen. Die Hoffnung die er hatte, die ist bei ihm immer noch da. Es ist nur ein kleiner Funke in seinem Herzen, den du entfachen kannst, wenn du ihn darauf ansprichst.
Denn er wird nicht wieder auf dich zukommen. Nun musst du den Schritt dahin wagen.
Wuensche dir viel Erfolg dabei. Falsch kannst du dabei nichts machen. Wir jungs können nur Schwer die Hoffnung in der Liebe über viele Jahre verlieren.
Du kannst es auch so lösen, dass du selbst die Länge der Reihe bestimmst. Deinen Startwert behälst du wie zuvor auf 2. Schreibe:
int startWert = 2;
for(int i=1;i<reihenLaenge+1;i++){
System.out.print(startWert*i +" "+)
}
Wie du unschwer erkennst, wird der startwert bei jedem loop immer mit dem i multipliziert.
So hast du dann 1*2 | 2*2 | 3*2 | 4*2 ...
Du gibst dem index 0 bis index 3 Werte. Dein Array ist mit der länge 4 definiert. Du musst die auf 3 setzen. Die Länge des Array [3] ist 4.
Merke dir. Arrays fangen bei 0 an und nicht bei 1. Das weißt du wahrscheinlich auch.