如何使孩子处于绝对位置居中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使孩子处于绝对位置居中相关的知识,希望对你有一定的参考价值。

我在另一个div中有两个div,并且我想将子div居中。因此,请问我该怎么做?

#father {
   position: relative;
}

#son1 {
   position: absolute;
   width:285px;
}

#son2 {
   position: absolute;
   width:285px;
}
答案

[首先,您将子元素设置为剩下的50%。现在,子元素的左侧位于其父元素的中间。因此,为了使孩子的元素中心位于其父中心,请将其半宽度的负左边界设置为(285/2 = 142.5)。对不起我的英语不好!

#son1, #son2 {
    position: absolute;
    left: 50%;
    margin-left: -142.5px;
}

编辑

为了使子元素在其父元素内居中,并使子元素彼此相邻,请进行以下检查:

#father {
    width: 100%;
    height: 200px;
    position: relative;
    padding-top: 50px;
    background-color: #ccc;
}

#child-wrapper {
    width: 580px;
    position: absolute;
    left: 50%;
    margin-left: -290px;
}

#child-wrapper > div:first-child {
    margin-right: 10px;
}

#child-wrapper > div {
    background: #f1f1f1;
}

#son1, #son2 {
    width: 285px;
    padding: 20px 0;
    float: left;
    text-align: center;
}
<div id="father">
    <div id="child-wrapper">
        <div id="son1">Son1</div>
        <div id="son2">Son2</div>
    </div>
</div>
另一答案
#son1, #son2 
{
position: absolute;
left: 50%;
margin-left: -50%;
}
另一答案

是,您必须使用margin-top和margin-left设置顶部和左侧

您可以在这里检查代码

#father {
			   position: relative;
			   background: green;
			   height:150px;
			   width:300px;
			
			}
			
			#son1 {
			   position: absolute;
			   width:100px;
			   margin-left:-50px;	/* -half of width */
			   height:50px;
			   background: yellow;
			   left:50%;
			   top:50%;
			   margin-top:-25px;	/* -half of height*/
			  
			}
			#son2 {
			   position: absolute;
			   width:50px;
			   margin-left:-25px;	/* -half of width */
			   height:30px;
			   background: red;
			   left:50%;
			   top:50%;
			   margin-top:-15px;	/* -half of height*/
			  
			}
<div id="father">
		<div id="son1"></div>
		<div id="son2"></div>
		
	</div>

以上是关于如何使孩子处于绝对位置居中的主要内容,如果未能解决你的问题,请参考以下文章

颤动如何使具有灵活约束的容器的孩子居中

避免显示时绝对位置隐藏的元素重叠元素

如何使 div 以固定位置水平居中? [复制]

如何使具有特定宽度和固定位置的 div 居中?

div内容显示问题?

CSS代码片段