【发布时间】:2021-01-04 05:14:59
【问题描述】:
我需要将两个徽标图像放在同一行,彼此垂直居中。 像这样的:
仅此一项我可以使用 CSS vertical-align: middle; 轻松实现,但我还需要图像分别位于最左侧和最右侧;所以通常我会用float: left 和float: right 来做,但随后vertical-align 停止工作......
另一个限制是我不手动编写 HTML,而是由工具(确切地说是 pandoc)生成。
长话短说,我对 HTML 有以下两种选择:
选项 1:
<div id="logo-block">
<p>
<img id="logo1" src="https://upload.wikimedia.org/wikipedia/commons/4/4b/McDonald%27s_logo.svg" />
</p>
<p>
<img id="logo2" src="https://www.festisite.nl/static/partylogo/img/logos/burger-king.png" />
</p>
</div>
选项 2:
<div id="logo-block">
<p>
<img id="logo1" src="https://upload.wikimedia.org/wikipedia/commons/4/4b/McDonald%27s_logo.svg" />
<img id="logo2" src="https://www.festisite.nl/static/partylogo/img/logos/burger-king.png" />
</p>
</div>
能否请您帮我设计这些 HTML sn-ps 的样式,以便我将两个图像垂直居中在“logo-block”边界内,“logo1”在最左边,“logo2”在最左边对吧?
【问题讨论】:
-
@TemaniAfif 我不认为这是其中任何一个问题的重复。垂直对齐只是问题的一部分——OP 还需要在容器的最左侧显示一个图像,在容器的最右侧显示另一个图像。
-
@FluffyKitten 让我们复制更多。拥有 Flexbox 副本就足以解决问题,因为左/右对齐是一个微不足道的问题,可以通过在使用 flexbox 时简单地更改一个属性来获得
-
@TemaniAfif 这对你来说可能是微不足道的,但对 OP 来说却不是——如果是,他们就不必问了!
-
确实,那些建议的“重复”并不完全涵盖我的情况。我不熟悉 flexbox 语法,上面的问题没有显示“justify-content: space-between”选项。无论如何,下面@Priya 的答案似乎完美地完成了这项工作!
-
@TemaniAfif ...只有在我们不得不要求解决问题的第二部分之后:)