Hilfe beim html/css code?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

1) Entferne die Angaben zur absoluten Positionierung (position, top, left). Wenn du Abstände schaffen möchtest, dann verwende margin, padding und/oder Flexboxen/Grids.

2) Da du drei Komponenten unterschiedlich anordnen möchtest (nav, article, aside), wäre meines Erachtens ein CSS Grid besser für die Verteilung der Plätze geeignet (siehe grid-template-areas). So oder so sollten alle drei in einen Container (ein main-Element bietet sich dafür an). Bei einer Lösung mit einer Flexbox würde ich das aside-Element mitsamt der nav nochmals in einen eigenen Container packen.

Struktur:

<main>
  <div>
    <nav>
    <aside>
  <article>

Die Flexbox für die horizontale Ausrichtung wird dem main-Element zugeordnet.

3) Für eine Anpassung an mobile Endgeräte wirst du Media Queries benötigen (bspw. um zweispaltige Elemente ab einer bestimmten Maximalbreite umzuklappen). Einen Artikel dazu findest du hier.

Zwei zusätzliche Anmerkungen:

1) Der Inhalt in deinem Header entspricht keiner Tabelle, folglich ist das table-Element an der Stelle auch verkehrt. Sicherlich genügt bereits diese einfache Struktur:

<header>
  <img>
  <h1>Bat out of Hell</h1>

bei der du aus dem h1-Element ein Inline-Blockelement machst,

display: inline-block;

um den automatischen Zeilenumbruch zu verhindern.

2) Wenn Bilder Inhalte präsentieren (z.B. ein Diagramm oder in deinem Fall vielleicht die Darstellung einer bestimmten Fledermausart), aber dem Nutzer nicht dargestellt werden können (Bild lädt nicht / Nutzer ist blind / ...), dann bringt ihm die Information, dass ein Bild nicht verfügbar ist, nicht viel. Diesen Zustand kann ihm schon der Browser übermitteln.

Bewerte erst, welche Bedeutung ein eingebundenes Bild auf deiner Webseite hat. Wenn es nur dekorativ ist (wie aktuell dein Logo), dann bleibt der Wert des alt-Attributs leer (alt=""). Wenn es hingegen eine Information beisteuert (bei dir könnte es wie oben geschrieben das Bild einer Fledermaus sein, welches im Sachtext eingebunden ist), dann sollte das alt-Attribut dessen wesentliche Informationen auch wiederspiegeln (Beispiel: Darstellung einer Fledermaus bei Tag; während der Ruhephase hängen sie kopfüber von der Decke ihres aufgeschlagenen Quartiers).


Verelat777  02.10.2023, 12:08

Perfekt, besser kann man es nicht erklären.

Wie lange arbeitest Du schon im Bereich der Webentwicklung? Du scheinst Dich mit allen Programmiersprachen sehr gut auszukennen.

0
regex9  02.10.2023, 18:28
@Verelat777

Ich habe mich im Laufe meines Lebens mit verschiedenen Bereichen in der Softwareentwicklung auseinandergesetzt, daher kann ich auch zu einigen Themen etwas schreiben. Genaueres (wie lange ich wo/wann/...) gearbeitet habe, möchte ich allerdings nicht teilen. 😉

1