CSS Vertikale Ausrichtung Spalte

UnBreakable

Lt. Junior Grade
Registriert
Sep. 2005
Beiträge
453
Hallo zusammen,

ich fange gerade damit an, eine kleine Webseite zu erstellen und habe schon ein Problem:
Es geht um die vertikale Ausrichtung einer Spalte.
Ich habe dies folgendermaßen angegeben:

td {
vertical-align: top;
}

Dies funktioniert auch für die Linke Spalte in der Tabelle. Komischerweise funktioniert dies bei der Rechten Spalte nicht.
Hier die Webseite:
"erledigt"

Kann mir jemand erklären, wieso dies so ist?
 
Zuletzt bearbeitet: (URL entfernt)
Hallo

In deinem CSS hast du folgendes geschrieben:
Code:
div.mitte {
	margin : 5.0em;
}

Dies heisst, das auf allen Seiten der Abstand 5.0em sein wird.
Das Element wird schon ganz oben angereiht, jedoch erst nach dem Aussenabstand den ich hier erwähnt habe.

Definiere jeden Abstand separat oder fasse den Abstand zusammen nach dem HTML-Standard.

Code:
div.mitte {
	margin-left: 5.0em;
        margin-right: 5.0em;
        margin-top: 5.0em;
        margin-bottom: 5.0em;
}

Meine Verbesserungsvorschläge:
Wenn du Firefox / Chrome benutzt, dann hast du mittels F12 einen Website Inspektor. Benutze diesen, da er dir sehr viel Probleme erpsart.

Und benutze bitte eine HTML Version welche nicht aus dem letzten Jahrtausend stammt (Version 4.01). Dazu gehört auch, dass heute Webseiten nicht mehr in Tabellen aufgebaut werden, aber das ist natürlich dir überlassen.
 
Zuletzt bearbeitet:
Oh mann, da hätte ich auch selber drauf kommen können.
Vielen Dank!

Danke für deine Tipps.
Was wird denn heute anstatt Tabellen verwendet?
 
Einfach den margin-Wert wie folgt anpassen, dann sollte der Inhalt der rechten "Spalte" auch oben ausgerichtet sein.

HTML:
div.mitte {
     margin : 0 5.0em 5.0em 5.0em;
​}

PS: Meine Schreibweise ist quasi due Kurzform der Version von wanon256 mit "-top/-right/-bottom/-left: ...;"

Aber wie mein Vorredner schon sagte, ein Tabellenkonstrukt verwendet man schon lange nicht mehr. Lieber mit div-Containern und "Floating" Spalten generieren.
Tipp: Am besten gleich mit dem neuen Web2.0 Standard beginnen und man ist auf dem aktuellen Stand: http://css3-html5.de/html-css-lernen/
 
Zuletzt bearbeitet:
Als ich damit angefangen habe wurden mir DIVs gezeigt.
Mittlerweile verwende ich die Standard HTML5 Elemente. (<header>, <section>, <aside>).

Die CSS Definitionen sind ein wenig umständlicher bis du ein Grundgerüst hast, allerdings ist nachher vieles einfacher.

Für HTML5 brauchst du den Doctype anzupassen. Die HTML5 Elemente musst du nicht übernehmen, sind aber sehr praktisch.

Hier das Grundgerüst mit Doctype:
Code:
<!DOCTYPE html>
<html>
  <head>
      <link href="format.css" type="text/css" rel="stylesheet">
  </head>
  <body>
    <header></header>
    <section></section>
    <aside></aside>
  </body>
</html>

Im CSS sprichst du die Elemente so an:
Diese hier sind 2 Elemente nebeneinander

Code:
section{
  overflow: auto; /* Wichtig für Float's!! */
  width: 90%;
  max-width: 25%;
  position: relative;
  float: left;
}

aside{
  overflow: auto; /* Wichtig für Float's!! */
  width: 90%;
  max-width: 75%;
  position: relative;
  float:right;

Dein Code umgeschrieben, aber noch nicht getestet:
Code:
<!DOCTYPE html>
<html>
<head>
<title>Monteurzimmer Steib</title>
<link rel="stylesheet" type="text/css" href="css/format.css" />
</head>
<body>
<header>Monteurzimmer Steib</header>
<section>
<li><a href="index.php?nav=start">Startseite</a></li>
<li><a href="index.php?nav=bilder">Bilder</a></li>
<li><a href="index.php?nav=kontakt">Kontakt</a></li>
<li><a href="index.php?nav=impressum">Impressum</a></li>
</section>
<aside>
<p>Herzlich Willkommen bei Ferien/Monteurzimmer Steib!</p>
<img src="http://www.firstmallorca.com/assets/images/luxury_properties_mallorca.jpg">
<p>Wir freuen uns, Sie als unsere Gäste begrüßen zu dürfen, wenn ihr Weg Sie privat oder geschäftlich nach Neustadt a. d. Donau & Umgebung führt.</p>
<p>Nutzen sie unsere Ferien-/Monteurzimmer, wenn Sie die Arbeit ins schöne Hopfenland verschlägt. Wir bieten ihnen ein angenehmes Ambiente mit fairen Preisen an.</p>
<p>Besonders attraktiv für unsere Gäste ist die günste Lage, denn die A93 und B16 sind innerhalb weniger Minuten zu erreichen.</p>
</aside>
</body>
</html>
 
Zuletzt bearbeitet:
Super, vielen Dank für den Link!
Ich werde mich da einlesen, ist schon länger her als ich zuletzt was in diese Richtung gemacht habe ;-)
Ergänzung ()

Auch an dich (wanon256) vielen Dank für deine Mühe, ich glaube das macht es mir den Start gleich einfacher :)
 
wanon256 schrieb:
Dein Code umgeschrieben, aber noch nicht getestet:
Code:
<!DOCTYPE html>
<html>
<head>
<title>Monteurzimmer Steib</title>
<link rel="stylesheet" type="text/css" href="css/format.css" />
</head>
<body>
<header>Monteurzimmer Steib</header>
<section>
<li><a href="index.php?nav=start">Startseite</a></li>
<li><a href="index.php?nav=bilder">Bilder</a></li>
<li><a href="index.php?nav=kontakt">Kontakt</a></li>
<li><a href="index.php?nav=impressum">Impressum</a></li>
</section>
<aside>
<p>Herzlich Willkommen bei Ferien/Monteurzimmer Steib!</p>
<img src="http://www.firstmallorca.com/assets/images/luxury_properties_mallorca.jpg">
<p>Wir freuen uns, Sie als unsere Gäste begrüßen zu dürfen, wenn ihr Weg Sie privat oder geschäftlich nach Neustadt a. d. Donau & Umgebung führt.</p>
<p>Nutzen sie unsere Ferien-/Monteurzimmer, wenn Sie die Arbeit ins schöne Hopfenland verschlägt. Wir bieten ihnen ein angenehmes Ambiente mit fairen Preisen an.</p>
<p>Besonders attraktiv für unsere Gäste ist die günste Lage, denn die A93 und B16 sind innerhalb weniger Minuten zu erreichen.</p>
</aside>
</body>
</html>

Obiger Code ist unglaublich fehlerhaft. Hier mal eine kompakte Liste, die einiges an Schnitzern aufzeigt
- <html> sollte immer ein lang-Attribut enthalten
- Ein Meta-Tag für das korrekte Charset fehlt völlig
- Auch der Meta-Tag für die Description fehlt. Während Meta-Keywords faktisch tot und begraben ist, ist Meta-Desc suchmaschinentechnisch extrem wertvoll, denn dieser Tag vermittelt Suchmaschinen, welcher Begleittext im Treffer erscheinen soll. Außerdem wird die Desc für Social Sharing verwendet.
- <header> SOLLTE eine Überschrift oder Navigation enthalten. <header> nur mit hingeklumptem Text ist semantischer Blödsinn.
- Das Dokument hat keine Headline-Struktur. Keine <h1>, und keine untergeordneten <h2-6>. Das ist sowohl semantischer Bockmist als auch suchmaschinentechnisch ein Totalausfall
- <section> ist KEIN generisches Element, dass man anstelle von <div> verwendet. Eine <section> definiert in erster Linie einen Abschnitt innerhalb eines größeren Kontext, also vornehmlich eines <article>
- <li> darf NIE allein stehen. <li> definiert ein List Item, dessen Existenz außerhalb eines Listen-Blocks (also <ul> oder <ol>) NICHT gestattet ist
- Die primäre Navigation sollte in ein <nav> - Element, dafür ist es schließlich da
- <aside> ist NICHT dafür gedacht, um damit eine Seitenleiste/Spalte zu deklarieren. <aside> sind Inhalte, die in loser Verbindung zum zumschließenden Dokumenten-Kontext stehen. Also angenommen, du hast einen <article> über Elefanten, dann könnte irgendwo am Rande (thematisch, nicht optisch) des Artikels in einem <aside> eine Statistik über Elfenbein-Wilderei stehen. Also: Content, der allein für sich Sinn ergibt, aber im Kontext des Eltern-Elements MEHR Sinn ergibt
- <img> MUSS zwingend ein alt-Attribut haben

Fazit: Wenn man keine Ahnung von der HTML5-Semantik hat, dann sollte man sie GAR NICHT verwenden. <div>-Suppe ist immer noch 1000x besser als semantischer Grießbrei.
 
@Daaron
Danke für deine Verbesserungen.
Ich sollte dies wahrscheinlich meinem Lehrer weiterleiten, welcher mir diesen Mist erzählt/beigebracht hat.

Zugegebenermassen habe ich den Code vom TE genommen und HTML5 Elemente verwendet.
 
Jap, leite es mal weiter. Ich hab früher schon gern Lehrer auflaufen lassen. Die werden dann so schön rot und stammeln rum. Da bin ich wie Sheldon.
 
Zurück
Oben