我想要这个结构,一个有flex:display的容器,一个浮动在右边的图像,然后是h1和h2,我想把这些垂直和水平的中心放在div的剩余空间上。
这是我目前的结果。
html - 如何在剩余空间中 float 图片和居中标题?-LMLPHP
模型。

+-----------------------+
|                       |
|XXXX                   |
|XXXX     HELLFISH      |
|XXXX    born to die    |
|XXXX                   |
|                       |
+-----------------------+

这是html代码。
div.container
  img(src='http://vignette3.wikia.nocookie.net/simpsons/images/a/a1/Flying_Hellfish_Logo.png/revision/latest?cb=20150327234211')
  h1 HELLFISH
  h2 Born to die

SCSS。
.container{
  display: flex;
  width: 50%;
  border: 1px solid red;
  justify-content: space-between;
  img{
    max-width: 300px;
    max-height: 300px;
    float: left;
  }
  h1{
    align-self: center;
    margin: auto;
    position: relative;
  }
  h2{
    align-self: center;
    margin: auto;
    vertical-align:middle;
    position: relative;
  }
 }

密码笔。
http://codepen.io/TabaresSotelo/pen/pRyxPz
致意

最佳答案

h1h2包装在一个容器中(这将成为图像的同级flex项)。
使用order属性将图像向右移动。
您不需要使用float属性或justify-content: space-between

.container {
  display: flex;
  width: 50%;
  border: 1px solid red;
}
.nested-container {
  flex: 1; /* to consume all remaining space */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.container img {
  max-width: 300px;
  max-height: 300px;
  order: 1;
}
h1, h2 {
  margin: 0;
}

<div class="container">
  <img src="http://vignette3.wikia.nocookie.net/simpsons/images/a/a1/Flying_Hellfish_Logo.png/revision/latest?cb=20150327234211" />
  <div class="nested-container">
    <h1>HELLFISH</h1>
    <h2>Born to die</h2>
  </div>
</div>

revised codepen(编译代码)

08-26 05:26