我正在使用 Flexbox 来对齐我的子元素。我想做的是将一个元素居中,并使另一个元素靠左对齐。通常我会使用 margin-right: auto 设置左侧元素。问题在于将中心元素推离中心。如果不使用绝对定位,这可能吗?
HTML 和 CSS
#parent {
align-items: center;
border: 1px solid black;
display: flex;
justify-content: center;
margin: 0 auto;
width: 500px;
}
#left {
margin-right: auto;
}
#center {
margin: auto;
}
<div id="parent"> <span id="left">Left</span> <span id="center">Center</span> </div>
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
添加第三个空元素:
以及以下样式:
.parent { display: flex; } .left, .right { flex: 1; }只有左翼和右翼会成长,并且由于以下事实......
...中心元素将始终完美居中。
在我看来,这比接受的答案要好得多,因为您不必将左侧内容复制到右侧并隐藏它以获得两侧相同的宽度,它只是神奇地发生(flexbox 很神奇)。
实际操作:
.parent { display: flex; } .left, .right { flex: 1; } /* Styles for demonstration */ .parent { padding: 5px; border: 2px solid #000; } .left, .right { padding: 3px; border: 2px solid red; } .center { margin: 0 3px; padding: 3px; border: 2px solid blue; }