保证金:自动不垂直工作?

时间:2013-07-18 09:10:21

标签: css margin

我尝试在外部div中垂直居中div,但它不起作用。我试图在网上四处看看,但无法找到解决我具体问题的方法...... 当试图水平对齐时,它的工作=> "保证金:0自动;"

任何人?

<div style="height:240px;width:100%;">

 <div style="width:33%;height:100px;margin:auto 0;">
   <span class="" style="font-size:26px">Hello </span>
   <br/><br/>
   <img style="width:150px" src="example.jpeg"
/>
 </div>

</div>

5 个答案:

答案 0 :(得分:2)

您可以随时查看此链接。它有很多方法可以用CSS做到这一点。其中一个可能符合您的需求。 http://css-tricks.com/centering-in-the-unknown/

答案 1 :(得分:1)

你可以使用这个插件做你的工作:

jQuery.fn.verticalAlign = function ()
{
    return this
            .css("margin-top",($(this).parent().height() - $(this).height())/2 + 'px' )
};

然后你就可以使用它:

$("#mydiv").verticalAlign()

代码:

<div style="height:240px;width:100%;">

 <div id="mydiv" style="width:33%;height:100px">
   <span class="" style="font-size:26px">Hello </span>
   <br/><br/>
   <img style="width:150px" src="example.jpeg"
/>
 </div>

</div>

只需添加以下内容:

$("#mydiv").verticalAlign()

答案 2 :(得分:1)

使用display:table;

标记

<div class="outer">

 <div class="inner">
   <span class="" style="font-size:26px">Hello </span>
   <br /><br/>
   <img style="width:150px" src="http://placehold.it/150x50" />
 </div>

</div>

CSS

.outer
{
    display:table;
    height:240px;
    width:100%;
    border:1px solid black;
    text-align:center;
}
.inner
{
    display:table-cell;
    width:33%;
    height:100px;

    vertical-align:middle;
}

<强> FIDDLE

答案 3 :(得分:0)

margin:auto可以垂直居中only absolutely positioned elements已知高度(fiddle):

.container {
    position: relative;
}

.centered {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
}

答案 4 :(得分:0)

试用此代码。它的工作.....

<style>
.child {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 150px;
height: 150px;
border: 1px solid red;
margin: auto auto;
}

</style>
</head>
<body style="height: 100%; margin: 0;">
<div class="child"></div>
</body>