【发布时间】:2016-04-10 08:31:28
【问题描述】:
我有一个里面有 3 个 div 的部分元素,我想水平居中 'div 2',但问题是相邻的 div 大小不一样,所以“justify-content:center”不起作用。
我知道here(标题为“当相邻项目大小不同时将弹性项目居中”)是一种解决方案,但它对我不起作用。
以下是相关代码:
HTML
<section>
<div id="div1">DIV 1</div>
<div id="div2">DIV 2</div>
<div id="div3">DIV 3</div>
</section>
CSS
section{
display:flex;
position:relative;
}
#div1{
width:260px;
}
#div2{
position:absolute;
left:50%;
transform(translateX:-50%,0);
}
#div3{
margin-left:auto;
width:50px;
}
这里也是codepen。
我的目标是居中 'div2' 并将其余的 div 分别移动到左右边缘。
任何帮助将不胜感激。
【问题讨论】:
-
linked answer 中的解决方案对您不起作用,只是因为您的代码中有语法错误。这是不正确的:
transform(translateX:-50%,0);应该是transform: translateX(-50%);或transform: translate(-50%,0);。任何一个都有效;他们是等价的。 Revised Codepen -
天啊,我看了好几遍代码都没发现这个错误,谢谢指正。此外,@Michael_B 那里的信息很棒,通过阅读我学到了很多东西。