【发布时间】:2021-01-28 00:17:07
【问题描述】:
我创建了一个显示图标和文本的 div,但我需要将图标放在文本旁边而不是在其上方。目前看起来像这样:
我需要像这样将图标放在文本旁边(图标需要显示在文本的左侧而不移动文本,以便标题仍然与电话号码对齐):
代码:
<div fxLayout="row" fxLayoutAlign="space-around center">
<div>
<mat-icon svgIcon="phone-outline"> </mat-icon>
<h3>Customer Support</h3>
<label>123456</label>
</div>
<div>
<mat-icon svgIcon="email-outline"> </mat-icon>
<h3>Email</h3>
<label>test@email.com</label>
</div>
<div>
<mat-icon svgIcon="map-marker-outline"> </mat-icon>
<h3>Address</h3>
<label>address line 1</label>
</div>
</div>
我有三个 div 并使用 fxLayoutAlign 将它们在页面上彼此相邻对齐,但如果我将图标放入单独的 div 中,fxLayoutAlign 会将其在页面上移动得太远。有没有更好的方法来对齐 div?
到目前为止尝试过:
- 尝试将图标与文本放在同一行,但图标太靠近文本:
<h3><mat-icon svgIcon="phone-outline"> </mat-icon> Customer Support</h3>
我需要在图标和文本之间留出空间,并将其与文本对齐。
- 使用 CSS 尝试对齐仍然会导致图标离文本太近(并且未正确对齐):
.align-items { display: flex; justify-content: space-between; } .align-content { display: flex; align-items: center; }
使用边距在 CSS 中移动图标看起来可以正常工作,但现在它已经移动了第二行的电话号码:
电话号码应该直接在标题文本下方(如上面的第一个屏幕截图)
【问题讨论】: