Basic HTML Kästchen positionieren?

3 Antworten

Ich habe mir mal den Code genommen und in Codepen reingepackt.

https://codepen.io/flumex/pen/PoPdLZw

  1. Man sieht, dass es komplett aus dem Internet kopiert wurde.
  2. Versuch dich am Anfang eher an kleineren Komponenten und nicht an einer kompletten Webseite. Bau das sukzessiv auf und nicht alles auf einmal.
  3. Guck Dir mal diese Seite an, die kann ich Dir wirklich ans Herz legen.

Schönes Wochenende und weiterhin viel Glück!

Woher ich das weiß:Studium / Ausbildung – Fachinformatiker für Systemintegration / Freelance als AWE
KnowHow1001 
Fragesteller
 15.05.2020, 16:06

Hey. Danke für die Antwort. Ich habe nichts aus dem Internet kopiert - habe die ganze HTML Struktur selber geschrieben und auch das CSS. weiß nicht ob das jetzt ein kompliment ist für meine Lernerfolge ? aber danke für eine antwort

0
KnowHow1001 
Fragesteller
 15.05.2020, 16:07
@KnowHow1001

sitze schon 8 stunden dran wollte nur hören ob jemand nen tipp hat :)

0
(...) dass ich divisions einmal rechtsbündig und einmal linksbündig zentriere (...)

Diesen Fall sehe ich in deinem Dokument nirgendwo. Du versuchst lediglich, ein td-Element im Textfluss nach rechts zu drücken, dabei könntest du dir das sparen. Tabellenzellen innerhalb einer Tabellenzeile werden bereits automatisch nebeneinander gerückt.

(...) gibt es da einen besseren zugang ? (...)

Layouts kannst du via CSS mit dem Flexbox-Modell oder einem Grid umsetzen. Weitere Möglichkeiten der Positionierung von Elementen / des Layouting mit CSS werden hier aufgeführt.

Teile deine Seite im Voraus in ein Raster auf. Wie viele Spalten es nun geben soll, kannst du selbst bestimmen. Wenn du den gesamten Inhalt generell zentriert auf der Seite ausgeben lassen möchtest, ist ein Wrapperelement durchaus die richtige Wahl.

HTML (im body-Bereich):

<div class="container">
  <!-- your content ... -->
</div>

CSS:

.container {
  margin: 0 auto;
  width: 960px; /* or any other size ... */
}

Versuche, mit wenigen, aber dafür ausdrucksstarken Elementen deine Inhalte zu strukturieren. So bleibt dein Dokument auch einfacher überschaubar.

(...) dachte eigentlich ich mache für jedes kästchen eine eigene div umgeben von einer master div (...)

Verwende nicht nur div-Elemente für deine Komponenten sondern schau in jedem Fall erst, ob du nicht andere Blockelemente nutzen kannst (article, section, p, main, header, etc. ...), die den vorliegenden Inhalt in seiner Bedeutung besser beschreiben können.

Gerade so etwas:

<header>
  <div class="header">

ist etwas ohne Sinn.

(...) dachte ich daran es mit einem table zu lösen (...)

Verwende Tabellen nur dann, wenn dies das passende Mittel ist, Daten in einem Kontext (vergleichend) gegenüberzustellen. Für die reine Positionierung (Seitenlayout) von Elementen sind Tabellen nicht gedacht. Zudem bereiten sie dir bspw. in der responsiven Ausrichtung eher Probleme.

Im Übrigen ist das invalides Markup:

<tr>
  <h1>This is my first <br>website :D</h1>
</tr>

Die tr-Elemente erlauben als direkte Kindelemente nur td und th.

Das Gleiche gilt hier:

<tr>
  <!-- Articles -->
  <article>

wobei du den article-Tag nicht einmal schließt.

Der obige Fall daher einmal korrigiert:

<tr>
  <td>
    <h1>This is my first <br>website :D</h1>
  </td>
</tr>

Wobei dieser Inhalt (die Seitenüberschrift) überhaupt nicht in die Tabelle passt. Er sollte außerhalb stehen.

Und da ich gerade Markupfehler aufzähle: Der letzte schließende article-Tag und sein folgender, schließender div-Tag müssen raus, denn sie haben keinen passenden Starttag. Der schließende html-Tag sollte ebenso raus (oder andersherum: Du fügst einen passenden Starttag direkt nach dem Doctype ein), um etwas Symmetrie zu wahren.

Was meint ihr zu den bilder crop und größen veränderung.

Ja, das kann man so machen.

Produktiv solltest du hierbei noch zwei Punkte beachten:

  • Unterscheide zwischen dekorativen Bildelementen und Bildern, die aktiv Inhalt repräsentieren (Bsp.: Ein Foto von Sitting Bull bei einem Internetartikel über Indianer). Dementsprechend kannst du dich technisch anpassen: Dekorative Elemente mit dem background-Property (CSS) setzen (background-size kann hierbei das Skalierungsverhalten bestimmen) und Inhaltselemente mit img oder picture.
  • Behalte das Ladeverhalten im Auge. Es macht durchaus Sinn, Bilder vorskaliert an den Browser zu senden.

Planst du für Desktop oder Mobile? oder ist das der Responsive Ansatz ?

Woher ich das weiß:Berufserfahrung