保证金:汽车不是垂直工作?(margin : auto not working vertically

2019-10-18 09:29发布

我尝试垂直居中在外层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>

Answer 1:

margin:auto可以中心垂直仅绝对定位元素具有已知高度( 小提琴 ):

.container {
    position: relative;
}

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


Answer 2:

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

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


Answer 3:

使用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;
}

小提琴



Answer 4:

试试这个代码。 它的工作.....

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


文章来源: margin : auto not working vertically?
标签: css margin