如何使用flex?
在头像下集中此跨度如果删除跨度,则头像图像会很好地集中,但是当我插入跨度时,即使display:block
显示,它也会显示在右侧。
这是我的 HTML :
<ion-navbar *navbar>
<ion-avatar item-center>
<img src="img/bill-gates-avatar.jpg">
<span>Bill Gates</span>
</ion-avatar>
</ion-navbar>
<ion-content padding>
Content here...
</ion-content>
这是我的 SCSS :
.tabs {
ion-navbar-section {
min-height: 16.6rem;
}
.toolbar {
min-height: 170px;
}
ion-avatar {
display: flex;
justify-content: center;
align-content: center;
}
ion-avatar img {
max-width: 8rem;
max-height: 8rem;
border-radius: 5rem;
border: 2px solid color($colors, light);
}
}
答案 0 :(得分:7)
Flex容器的初始设置为flex-direction: row
,这意味着默认情况下项目将水平对齐。对于垂直对齐,请使用flex-direction: column
覆盖默认值。
ion-avatar {
display: flex;
flex-direction: column; /* align flex items vertically */
justify-content: center; /* center items vertically, in this case */
align-items: center; /* center single-line items horizontally, in this case */
align-content: center; /* center multi-line items horizontally, in this case */
}
请注意,当您切换flex-direction
时,关键字对齐属性(例如align-items
和justify-content
也会切换方向。
或者,您可以通过绝对定位将其从正常流中移除来居中化身。但是,在flex容器中this may not work well in some browsers。
在此处了解有关主轴的柔性对齐的更多信息:
在此处了解有关十字轴的柔性对齐的更多信息:
答案 1 :(得分:1)
如果你想要在整个父容器中进行垂直和中心定位,上面的答案是最好的方法,但如果你想要设计风格&#34;账单门&#34;作为父容器的单个子容器,您可以简单地为他设置样式......
.bill-gates{
margin: auto;
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
}