如何居中div的内容

时间:2012-04-04 10:42:06

标签: html css

我有一个非常简单的问题,但我似乎无法解决它。我在div中有一个表,这是主要元素。现在我在表格中有一个td标签,其宽度和高度设置为iphone屏幕尺寸。现在我基本上希望将该表格与其div标签中的td单元格对齐,以便“'屏幕'将在任何浏览器窗口中居中。我该怎么做?

用表替换div解决了我的问题,但我想改用div。

谢谢

5 个答案:

答案 0 :(得分:8)

尝试这个,我做这个代码 - Demo here,非常简单和简单的代码(我已经使用了一个黑客代码和额外的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;}

答案 1 :(得分:0)

<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>

答案 2 :(得分:0)

试试这个:

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

答案 3 :(得分:0)

<强> 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/

答案 4 :(得分:0)

我没有在IE中测试过(适用于FF和Safari),但是如果你使用的是jQuery,你可以使用它来将div与页面中的page类对齐:

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