Palme: Absolut mittige Positionierung

Beitrag lesen

Hallo Leute,

ich möchte (ohne den Einsatz von Tabellen) ein Block-Element (800x600) so positionieren, daß es zu allen Seiten den gleichen Abstand hat!

Die horizontale mittige Ausrichtung klappt mittels

<!-- workaround für IE -->
<div style="text-align:center; vertical-align:middle;">

<!-- bitte nicht an position:relative stören -->
  <div style="margin-left:auto; margin-right: auto; margin-top: auto; margin-bottom: auto; position: relative; width:800px; height: 600px; border:1px solid #FF0000;">

<img src="asdf" alt="" />

</div>

</div>

  • vertical-align bringt aber nichts
  • genausowenig auto für margin-top und -bottom
  • auch position:absolute; left:50%; right:50%; top:50%; bottom:50%; bringt nicht

Welche Lösungen gibt es also, um die vertikale mittige Ausrichtung zu erzwingen!

Hallo Martin,

vertical-align richtet nur nebeneinanderstehende Elemente oder Texte in einer Zeile im Verhältnis zueinander aus, du kannst vertical-align also i.d.R. nicht dazu benutzen um ein "<div>" in einem "<div>" horizontal auszurichten.

siehe auch:

http://selfhtml.teamone.de/css/eigenschaften/ausrichtung.htm#vertical_align

Du kannst aber einen kleinen, na ja nennen wir es mal vorsichtig: Trick, benutzen, indem du deinen Quelltext so umschreibst:

<div style="text-align:center; vertical-align:middle;">

<span style="position: relative; width:800px;
                       height: 600px; border:1px solid #FF0000;">

<span style="position: relative; left:0px;
                         width:0px; height:100%;
                         border:1px solid #FFffff;
                         vertical-align:middle;">
     </span>

<img src="asdf" alt=""
                          style="vertical-align:middle;"/>
  </span>
</div>

Du erzeugst also 2 nebeneinanderliegende "<span>" und richtest diese vertical mittig zueinander aus, so kommt das Bild in die Mitte, vorausgesetzt, dass das "1. <span>" die gleiche Höhe hat wie dein äußerer Rahmen (bzw. <div>).
Margin-left und Co. kannst du i.d.R. weglassen, ergibt sich ja eh "auto"matisch.

Mag sein, dass es noch andere Lösungen gibt, aber momentan von meiner Seite her nicht.

MfG

Palme