我想将一个元素向右对齐。我知道应该使用float:right来将元素对齐到右边,但是我的项目很复杂,我需要了解为什么margin:0 0 0 auto;在某些情况下可以将元素对齐到右侧,而在其他情况下却不起作用。
当容器是flex容器时,margin:0 0 0 auto;会将元素对齐到右边,如您在此示例中所见:
当容器是flex容器时,margin:0 0 0 auto;会将元素对齐到右边,如您在此示例中所见:
div {
display: flex;
width: 400px;
background: #eee;
}
span {
margin: 0 0 0 auto;
}
<div>
<span>test</span>
</div>
但是当容器不是弹性布局容器时,项目仍然停留在左侧:
div {
width: 400px;
background: #eee;
}
span {
margin: 0 0 0 auto;
}
<div>
<span>test</span>
</div>
所以我的问题是:
- 是否可以在不使用 flex 容器的情况下,通过设置边距将项目与右侧对齐?
- flexbox 的示例是否按预期工作,还是出现了 bug?
<span>
不是一个好的元素。所以你看到的是一个伪装成<span>
的<div>
。 - zer00netext-align:right
让它紧贴边缘。 - zer00netext-align:right
,因为在自动模式下,块的宽度为100%。 - zer00ne