我想要这个结构,一个有flex:display的容器,一个浮动在右边的图像,然后是h1和h2,我想把这些垂直和水平的中心放在div的剩余空间上。
这是我目前的结果。
模型。
+-----------------------+
| |
|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
致意
最佳答案
将h1
和h2
包装在一个容器中(这将成为图像的同级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(编译代码)