CSS - 显示:flex 与 inline-flex

内联弹性

具有 `display: inline-flex` 的子容器不会自动填充父容器。其大小取决于其内容和对其应用的任何附加样式。

弹性

具有 `display: flex` 的子容器会自动填充父容器的宽度,因为 `flex` 的行为类似于**块级元素**,默认情况下会扩展以适应父容器的可用宽度。

例子

HTML



  
    
    
    
  
  
    

inline-flex

child 1
child 2

flex

child 1
child 2

CSS

body {
  background: transparent;
  color: #fcbe24;
  padding: 0 24px;
  margin: 0;
  height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
    Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

.container {
  background-color: white;
  color: black;
}

.inline-flex-c {
  display: inline-flex;
  background-color: palevioletred;
 }

.flex-c {
  display: flex;
  background-color: chocolate;
}

.child{
  border-color: greenyellow;
  border-style: solid;
}

结果

**flex** 容器会拉伸以占据其父容器的整个宽度。相比之下,**inline-flex** 容器仅占据其内容所需的宽度。

Image description