Horizontal Center  Absolut Center  XP-Bootscreen ändern  SQLIte If Condition 

dynamische Divs horizontal zentrieren

Jeder Web-Entwickler ist im Laufe der Zeit irgendwann auf das Problem gestoßen, dass er mehrere Elemente unbekannter Länge in einem  in einem Container horizontal zentrieren muss. Zu <TABLE>-Zeiten war das noch recht einfach, doch dies mit Divs zu realisieren ist ein bisschen anders. Zu diesem Thema gibt es wohl unendlich viele Texte und Foreneinträge fragwürdiger Qualität. Ich wollte nun ein für alle mal dieses Thema darstellen und auch für mich selber festhalten.

Für dieses Thema sehe ich grundsätzlich zwei Möglichkeiten:

  • Variante 1
    Zb.: Die zu zentrierenden Elemente dynamischer Länge als Listenelemente <li> zu verwenden.  mit einem <ul> Container der diese Styledefinition trägt:
    display:inline;

  • Beispiel

     

  • Variante 2
    Hat man das Problem, dass das zu zentrierende Element Layoutteschnisch nicht mit einem einzigen <li>-Tag dargestellt werden kann, wird Variante 1 nicht zum Erfolg führen. Angenommen Sie wollen dieses Element Zentrieren.
     

  •    Text unbekannter Länge  

     


    Dieses Element besteht aus zwei kleinen Bildern Rechts und links und einem 1Pixel breitem Hintergrundbild in der Mitte.
    Mit einem einzigen <li> wie bei Variante 1 ist das nicht wirklich umsetzbar.
    Hier müss ein Containerdiv mit follgenden Styledefinitionen erstellt werden:

    margin-left:auto; margin-right:auto; display:table;
    Der IE Version 6 benötigt zusätzlich noch die Definition text-align: center;. Wer also den IE6 noch ins Boot nehmen will, bei dem muss die Definition vom Container so aussehen:
    margin-left: auto;margin-right: auto;display: table;margin-top:24px;text-align: center;


    Beispiel

     

  • Variante 1.5

    Wobei dieser Fall eigendlich ein schlechtes Beispiel ist, da mann diese Anforderung mit sogenannten pseudoklassen (before und after) sehr wohl in einem einzigen <li> -Tag umsetzen kann.

  •    noch ein Text unbekannter Länge  



    Ein Beispiel gibts Hier:

    Beispiel

 
  Ich freue mich über jegliche Fragen und Anregungen zum Thema: tom@kk-bits.com