使用flexbox将按钮定位在其所在的div右侧时遇到问题

时间:2018-12-17 21:45:49

标签: html css flexbox

如下面的代码片段所示,我有1个div,其display属性设置为flex,然后此div有2个子级,它们使用flex:1空格(50%)。每个div均包含1个按钮。

现在的问题是这个。我希望第一个按钮位于第一个div的开头(左侧),第二个按钮位于第二个div的结尾(右侧)。目前,这两个按钮都位于各自div的左侧。

而在使用它的同时,是否使用flexbox是创建并排div的最佳方法,就像我现在所做的那样?

.edit-btn, .submit-btn {
    display: block;
    color: black;
    cursor: pointer;
    text-align: center;
    border-radius: 4px;
    border: none;
    padding: 8px 10px 8px 10px;
    line-height: 1.2;
    outline:none;
}
.flex-row {
    display: flex;
    margin-bottom: 10px;
}
.flex-column {
    flex: 1;
}
.like, .edit {
    width: 150px;
    font-size: 13px;
}
.submit-btn {
    background-color: #4CAF50;
}
.edit-btn {
    background-color: #13aff0;
}
<div class="flex-row">
    <div class="flex-column">
        <button class="submit-btn like">Like</button>
    </div>
    <div class="flex-column">
        <a class='edit-btn edit' href="#">Edit</a>
    </div>
</div>

1 个答案:

答案 0 :(得分:3)

您不需要.flex-column包装器。并使用justify-content: space-between;

.edit-btn,
.submit-btn {
  display: block;
  color: black;
  cursor: pointer;
  text-align: center;
  border-radius: 4px;
  border: none;
  padding: 8px 10px 8px 10px;
  line-height: 1.2;
  outline: none;
}

.flex-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}


.like,
.edit {
  width: 150px;
  font-size: 13px;
}

.submit-btn {
  background-color: #4CAF50;
}

.edit-btn {
  background-color: #13aff0;
}
<div class="flex-row">
  <button class="submit-btn like">Like</button>
  <a class='edit-btn edit' href="#">Edit</a>
</div>