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

问题描述 投票:0回答:3

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

#father {
   position: relative;
}

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

#son2 {
   position: absolute;
   width:285px;
}
javascript jquery html css css3
3个回答
4
投票

[首先,您将子元素设置为剩下的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>

2
投票
#son1, #son2 
{
position: absolute;
left: 50%;
margin-left: -50%;
}

1
投票

是,您必须使用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>
© www.soinside.com 2019 - 2024. All rights reserved.