【问题标题】:vertically align anchor with image inside a div [duplicate]将锚点与 div 内的图像垂直对齐 [重复]
【发布时间】:2014-03-02 11:16:10
【问题描述】:

我为此尝试了很多方法,但我就是无法做到。在做了 3 年前端工作之后相当尴尬 - 但我不能再浪费时间了。

我有一个 WordPress 图片库,我需要将其中的图片垂直居中。我试过设置高度、行高和垂直对齐:中间 - 但没有乐趣。

图像由用户添加 - 因此尺寸和总数不是静态的 - 因此专门针对单个元素高度的解决方案不适合。

网址: http://www.europa-international.net/

<dl class="gallery-item ">
<dt class="gallery-icon">
    <a href="http://www.europa-international.net/our-videos/snapshot-1-02-01-2014-15-33/" title="Snapshot 1 (02-01-2014 15-33)"><img width="125" height="70" src="http://www.europa-international.net/wp-content/uploads/2013/07/Snapshot-1-02-01-2014-15-33.png" class="attachment-homepage-gallery" alt="Latest Promo Videos"></a>
</dt>
<dd class="wp-caption-text gallery-caption">Latest Promo Videos</dd>

#gallery-1 .gallery-icon {
    height: 104px;
    line-height: 104px;
}
#gallery-1 .gallery-icon a {
    vertical-align: middle;
}

以及本网站上讨论的许多变体(给出锚点高度/行高:104px、显示:块、垂直对齐:中间)。

编辑:在这里发布小提琴:http://jsfiddle.net/DE4ph/2/

另外 - 重复答案解决方案不适合,因为我无法(轻松)更改由 WordPress 生成的标记。

【问题讨论】:

标签: css wordpress


【解决方案1】:

其中一个选项是将容器 div 设置为 position: relative,然后将以下样式添加到 anchor:

位置:绝对; 显示:内联块; 左:50%; 顶部:50px; 左边距:-62.5px; 边距顶部:-35px;

另一种选择是使用垂直对齐:

#gallery-1 .gallery-icon {
    height: 104px;
}
#gallery-1 .gallery-icon a {
     line-height: 104px;
}

#gallery-1 .gallery-icon a img {
     vertical-align: middle;
}

顺便说一句 如果它自己的图像位于锚点内的 div 内 - 据我所知,它不推荐使用 HTML 方式。您可以改为将图像的显示更改为块或内联块。

【讨论】:

  • 我知道你的想法 - 但它只适用于最小的图像,我需要将它们全部垂直放置以供画廊的未来迭代 - 不过谢谢。
  • 图像不在锚点内的 div 内 - 标记与示例中一样。你的权利,你不能在锚内有一个 div。另外,我尝试将图像更改为 display:block & inline-block
  • 嘿,我想我现在知道了,检查一下...
【解决方案2】:

您需要做的就是给父容器一个与容器本身具有相同值的行高(即 200px),然后为图像设置一个垂直对齐:中间。

.gallery-icon { 
    height: 200px; 
    line-height: 200px; 
}
.gallery-icon img { 
    vertical-align:middle; 
}

见:http://jsfiddle.net/B78nD/

【讨论】:

  • 对不起,我试过了。图像的直接父级是锚点。但是我已经在锚的父级上尝试了您的方法(您不能将行高/高度作为锚的内联元素提供给锚)。我也试过 display:block with line-height/height on the anchor with vertical-align on image - 而且,没有骰子。这是一个真正的twizzler。
  • 你能用你的实际 HTML + CSS 发一个小提琴吗?
猜你喜欢
  • 2011-09-12
  • 2012-04-02
  • 2013-03-06
  • 2012-04-18
  • 2012-09-29
  • 2011-07-22
  • 2016-11-14
  • 2013-09-02
  • 1970-01-01
相关资源
最近更新 更多