Как центрировать содержимое div

У меня очень простая проблема, но я не могу ее решить. У меня есть таблица внутри div, которая является основным элементом. Теперь у меня есть тег td внутри таблицы с шириной и высотой, установленной на размер экрана iphone. Теперь я в основном хочу сосредоточить эту таблицу со своей td-ячейкой в ​​теге div, так что "экран" будет центрирован в любом окне браузера. Как это сделать?

Замена этого div таблицей решена с моей проблемой, но я бы хотел использовать div.

Спасибо

Ответ 1

Попробуйте это, я делаю этот код - Демо здесь, Очень простой и простой код (я использовал код взлома и дополнительный тег span только для старой версии IE) http://jsfiddle.net/ERuX4/1/

<div class="demo wraptocenter">
   <span></span>
   <img src="http://www.spitzer.caltech.edu/images/twitter.png?1295473781" alt="" />
</div> 

CSS

.wraptocenter * {
    vertical-align: middle;
}
.wraptocenter span {
    display: inline-block;
    height: 100%;
    width: 1px;
}
.wraptocenter {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

/*End wraptocenter - image Vcenter  patch styles*/    
.demo  {
         width:100px;
         height:100px;
         border:1px solid red;
         position:absolute;
         top:50%;
         left:50%;
         margin-top:-100px;
         margin-left:-100px;}

Ответ 2

<style type="text/css">
.outer { width:800px; height:640px; }
.inner {
    position:relative; top:50%; left:50%;
    width: 320px;
    margin-left: -160px; /* half the width */
    height: 240px;
    margin-top: -120px; /* half the height */
</style>

<div class="outer">
    <div class="inner">I'm centered!</div>
</div>

Ответ 3

попробуйте следующее:

div#centerlayout 
{ 
    position:absolute; 
    left:50%; 
    top:50%; 
    height:XXXpx; 
    width:XXXpx; 
    margin-top:-XXXpx; 
    margin-left:-XXXpx; 
} 

Ответ 4

HTML

    <div class="img_thumb">
    <table>
        <tr><td>adfasfdasf</td></tr>
        <tr><td>adfasfdasf</td></tr>
        <tr><td>adfasfdasf</td></tr>
        <tr><td>adfasfdasf</td></tr>
        <tr><td>adfasfdasf</td></tr>
    </table>
</div>

CSS

.img_thumb {
    background: none repeat scroll 0 0 red;
    display: table-cell;
    height: 200px;
    vertical-align: middle;
    width: 200px;

}
table {
    border: 1px solid;
    width: 100px;
    margin:auto;
}

или см. демонстрацию: - http://jsfiddle.net/QHEnL/16/

Ответ 5

Я не тестировал в IE (работает в FF и Safari), но если вы используете jQuery, вы можете использовать его для центрирования div с классом page на странице:

var pageMargin = ($(document).width() - $("div.page").width()) / 2;
$("div.page").css("margin-left", pageMargin).css("margin-right", pageMargin);