Das ist mit CSS nicht ohne weiteres möglich. Diese Lösung funktioniert mit sogut wie allen Browsern.
Vollständiges Codebeispiel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>CSS vertical center using float and clear</title> <style type="text/css"> * { margin:0; padding:0; } html, body { height:100%; } body { text-align:center; /* horizontal centering for IE Win quirks */ } #distance { width:1px; height:50%; margin-bottom:-10em; /* half of container's height */ float:left; } #container { margin:0 auto; position:relative; /* puts container in front of distance */ text-align:left; height:20em; width:20em; clear:left; background-color:yellow; /* for demo purpose only */ } </style> </head> <body> <div id="distance"></div> <div id="container"> <p><strong>CSS vertical and horizontal centering<br> using float and clear<br>crossbrowser</strong></p> <p>This box stays in the middle of the browser's viewport.</p> </div> </body> </html>