html - 垂直对齐内联文本/图像

标签 html css

Fiddle

我的页眉中有标题和副标题:

<header>
    <h1>Article Title</h1>
    <p>By John Smith<span class="right">100 likes<img src="http://placehold.it/44x44"/></span></p>
</header>

副标题需要在左边有一个名字,在右边有一个喜欢的数量 - 带有图像。

我希望文本位于图像的垂直中心,所以我使用了:

img{
      vertical-align: middle;
}

这适用于点赞数,但不适用于名称。名称如何出现在相同的垂直对齐中?

最佳答案

使用 flexbox 的现代方式。

header p {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid;
}

header p span {
  display: flex;
  align-items: center;
}
<header>
  <h1>Article Title</h1>
  <p>
    <span>By John Smith</span>
    <span>204 likes<img src="http://placehold.it/44x44"/></span>
  </p>
</header>

原始答案

如果可以加一个<span>围绕名称,继续阅读。

span {
    display: table-cell;
    vertical-align: middle;
    white-space: nowrap;
}
img {
    vertical-align: middle;
}
.right {
    width: 100%;
    text-align: right;
}
<header>
    <h1>Article Title</h1>
    <p><span>By John Smith</span><span class="right">204 likes<img src="http://placehold.it/44x44"/></span></p>
</header>

fiddle 演示: http://jsfiddle.net/L4n50f49/

关于html - 垂直对齐内联文本/图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29852571/

相关文章:

html - 当其他轨道增长时,CSS 网格的轨道不会收缩

html - 选择器 li + li 麻烦

javascript - 切换元素组中事件元素的样式

css - 在 Internet Explorer 中使用 Border-Radius 的摇摆不定的 CSS 动画

jquery var 和 $(var).css

css - 具有固定宽度 'stationary' header 的居中正文

html - 是否可以在内联样式属性中使用伪元素(例如 ":before")?

javascript - 尝试将服务注入(inject)组件

html - 如何在 <button> 标签上有一个 css 轮廓,只能通过选项卡,而不是点击?

css - 如何在悬停时更改 WordPress 导航的颜色