首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能在不使用浮动的情况下正确浮动内联-flex的div呢?

我怎样才能在不使用浮动的情况下正确浮动内联-flex的div呢?
EN

Stack Overflow用户
提问于 2019-03-06 19:40:58
回答 2查看 789关注 0票数 2

我试图避免使用(或找到替代方法)将toolbar div移动到页面的右侧,同时保持其内容的大小。

所以,如果我简单地加上:

代码语言:javascript
复制
  float:right;

对于下面的.toolbar,我将得到我想要的东西,它基本上是一个容器,它占用与页面右边对齐的条目的大小(来自display:inline-flex)。

然而,我不想float它的右边(它工作,但我听说你应该避免它,我正在寻找一个替代浮动)。

我确实尝试过使用margin-left: auto;,但无法弄清楚(除非我去掉了父级所需的flex:inline-flex )。

有什么想法吗?

代码语言:javascript
复制
.page {
  padding: 20px;
}

.toolbar {
  background: lightgray;
  border: 1px solid black;
  padding: 5px;
  display: inline-flex;
  flex-direction: row;
  justify-content: flex-end;
}

.item {
  background: azure;
  border: 1px solid black;
  padding: 3px;
  margin: 3px;
}

.switchbox {
  display: inline-block;
}
代码语言:javascript
复制
<div class="page">
  <div class="toolbar">
    <div class="item switchbox">Switchbox Component</div>
    <button class="item button">Submit</button>
  </div>
</div>

代码语言:javascript
复制
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-06 19:45:55

您可以使用flex属性对齐沿水平或垂直轴的元素。

要启用flex属性,只需使父容器成为flex容器即可。

将此添加到代码中:

代码语言:javascript
复制
.page {
  display: flex;
  justify-content: flex-end;
}

代码语言:javascript
复制
.page {
  display: flex;
  justify-content: flex-end;
  padding: 20px;
}

.toolbar {
  background: lightgray;
  border: 1px solid black;
  padding: 5px;
  display: inline-flex;
  flex-direction: row;
  justify-content: flex-end;
}

.item {
  background: azure;
  border: 1px solid black;
  padding: 3px;
  margin: 3px;
}

.switchbox {
  display: inline-block;
}
代码语言:javascript
复制
<div class="page">
  <div class="toolbar">
    <div class="item switchbox">Switchbox Component</div>
    <button class="item button">Submit</button>
  </div>
</div>

或者你可以这么做:

代码语言:javascript
复制
.page {
  display: flex;
}

.toolbar {
  margin-left: auto;
}

代码语言:javascript
复制
.page {
  display: flex;
  padding: 20px;
}

.toolbar {
  margin-left: auto;
  background: lightgray;
  border: 1px solid black;
  padding: 5px;
  display: inline-flex;
  flex-direction: row;
  justify-content: flex-end;
}

.item {
  background: azure;
  border: 1px solid black;
  padding: 3px;
  margin: 3px;
}

.switchbox {
  display: inline-block;
}
代码语言:javascript
复制
<div class="page">
  <div class="toolbar">
    <div class="item switchbox">Switchbox Component</div>
    <button class="item button">Submit</button>
  </div>
</div>

更多细节: margins

票数 2
EN

Stack Overflow用户

发布于 2019-03-06 19:46:57

添加以下内容:

代码语言:javascript
复制
.page {
    display: flex;
    justify-content: flex-end;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55031000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档