在flex中将div的内容向右对齐[重复]

Posted

技术标签:

【中文标题】在flex中将div的内容向右对齐[重复]【英文标题】:Align the content of the div to the right in a flex [duplicate] 【发布时间】:2020-11-06 21:03:32 【问题描述】:

我尝试将 添加到库 divfloat: right 样式对齐,但它似乎不起作用。如何将 div 对齐到 flex 的右侧。有人可以帮忙吗?

.song 
  display: flex;
  flex-direction: row;
  border: 1px solid red;
  padding: 10px


.song-name 
  padding: 10px;
  display: flex;
  align-items: center;


.song-action 
  padding: 10px;
  display: flex;
  align-items: center;
  color: red;
<div class="song">
  <div class="album-cover">
    <img src="https://gravatar.com/avatar/dba6bae8c566f9d4041fb9cd9ada7741?d=identicon&f=y" />

  </div>
  <div class="song-name">
    Song name
  </div>
  <div class="song-action">
    Add to library
  </div>
</div>

【问题讨论】:

使用justify-content: flex-end;。确保您没有将flex-direction 更改为列。如果你有,那么你应该使用align-items: flex-end 他只希望一项右对齐。不是整个菜单@SachinSingh @seesharper 在这种情况下,他还可以在目标元素上使用align-self 属性,或margin: auto,如下面的答案中所述。感谢您指出。 你想右对齐什么?文字还是图片? 【参考方案1】:

只需在添加到库div 中添加margin-left:auto

.song 
  display: flex;
  flex-direction: row;
  border: 1px solid red;
  padding: 10px


.song-name 
  padding: 10px;
  display: flex;
  align-items: center;


.song-action 
  padding: 10px;
  display: flex;
  align-items: center;
  margin-left: auto;
  color: red;
<div class="song">
  <div class="album-cover">
    <img src="https://gravatar.com/avatar/dba6bae8c566f9d4041fb9cd9ada7741?d=identicon&f=y" />

  </div>
  <div class="song-name">
    Song name
  </div>
  <div class="song-action">
    Add to library
  </div>
</div>

【讨论】:

【参考方案2】:

只需在要推到一边的元素上使用 margin-left: auto 即可。在 flex 容器内,任何一侧有自动边距的东西都会将其推到最远的另一侧。

.song 
  display: flex;
  flex-direction: row;
  align-items: center;
  border: 1px solid red;
  padding: 10px


.song-name 
  padding: 10px;
  display: flex;
  align-items: center;


.song-action 
  padding: 10px;
  margin-left: auto;
  color: red;
<div class="song">
  <div class="album-cover">
    <img src="https://gravatar.com/avatar/dba6bae8c566f9d4041fb9cd9ada7741?d=identicon&f=y" />

  </div>
  <div class="song-name">
    Song name
  </div>
  <div class="song-action">
    Add to library
  </div>
</div>

【讨论】:

以上是关于在flex中将div的内容向右对齐[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Flex:对齐按钮向右对齐,内容向左对齐

如何在JavaFX中将工具栏的项目向右对齐[重复]

如何让 div 在容器 div 的底部对齐 [重复]

如何垂直对齐一个flex元素子元素[重复]

将最后一个子 li 项目向右对齐 [重复]

使用flex时垂直对齐[重复]