仅在高度不同时将图像垂直对齐到画廊底部

Posted

技术标签:

【中文标题】仅在高度不同时将图像垂直对齐到画廊底部【英文标题】:Vertically align images to bottom in gallery, only if the heights vary 【发布时间】:2013-02-22 02:06:17 【问题描述】:

我正在构建一个图片库,但遇到了问题。如果图像标签的长度相同,它们会完美对齐,但如果标签长于一条线,则会将图像向上推,而不是在下方创建更多的空白区域。我怎样才能解决这个问题?

我希望图像全部对齐一行,文本从那里向下对齐。

我尝试将它放入 jsfiddle,但无论出于何种原因,我都无法让它工作......这是制作这个的 html

<div class="thumbrow">
    <div style="min-width:400px;" class="thumbrow">
        <div style="width:100px;" class="thumbs">
            <div style="width:100px;" class="imgbox">
                <a target="_blank" title="Hydrangeas" rel="lightbox[test]" href="http://jacobraccuia.com/test/wp-content/uploads/gallery/test/Hydrangeas.jpg">
                    <img   src="http://jacobraccuia.com/test/wp-content/uploads/gallery/test/thumbs/Hydrangeas.jpg">
                </a>
            </div>
            <p>Hydrangeas</p>
        </div>
        <div style="width:100px;" class="thumbs">
            <div style="width:100px;" class="imgbox">
                <a target="_blank" title="Chrysanthemum" rel="lightbox[test]" href="http://jacobraccuia.com/test/wp-content/uploads/gallery/test/Chrysanthemum.jpg">
                    <img   src="http://jacobraccuia.com/test/wp-content/uploads/gallery/test/thumbs/Chrysanthemum.jpg">
                </a>
            </div>
            <p>Chrysanthemum</p>
       </div>
       <div style="width:100px;" class="thumbs">
            <div style="width:100px;" class="imgbox">
                <a target="_blank" title="Lighthouse" rel="lightbox[test]" href="http://jacobraccuia.com/test/wp-content/uploads/gallery/test/Lighthouse.jpg">
                    <img   src="http://jacobraccuia.com/test/wp-content/uploads/gallery/test/thumbs/Lighthouse.jpg">
                </a>
            </div>
            <p>Lighthouse</p>
        </div>
    </div>
</div>

和 CSS

.thumbgal .thumbs 
    float: left;
    margin: 0 5px;

.imgbox 
    position: relative;
    text-align: center;
   
.thumbrow 
    float: left;
    overflow: hidden;

.thumbs p 
    font-size: 12px;
    line-height: 16px;
    word-wrap: break-word;

请帮忙:D

【问题讨论】:

【参考方案1】:

如果您不需要显示图像的全文,则可以快速解决您的问题,可以将文本限制在一定宽度并在溢出时添加省略号。

这将代替打破单词来换行,并将标签的高度保持在一行。

.thumbs p 
  font-size: 12px;
  line-height: 16px;
  width: 100px; /* Some width */
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;

编辑:仔细观察,从给出的代码。我在小提琴中试了一下,对我来说效果很好。我刚刚为.thumbs 添加了一个浮点数和一些边距。 http://jsfiddle.net/nKkWX/

【讨论】:

【参考方案2】:

嗨,我认为你错过了在 .thumbs 中添加样式 检查 demo

.thumbs 
    float:left;
    margin-right:10px;

【讨论】:

与 ultranaut 的解决方案相同的问题。如果图片大小不同,则无法正确对齐。 您好。检查我的更新fiddle 如果我错了请纠正我,你想要实现的是图像的height 总是图像下方的text 总是与其他文本对齐我是对还是错? 我希望图像的高度从一个点全部对齐,多余的高度将所有图像向下推。在每个图像下方,我希望文本向下推以换行。因此,对于每个新图像,图像的底部和文本的顶部始终对齐。目前,要么文本将图像向上推,文本底部对齐,要么图像将文本向下推,图像顶部对齐。 是的,但是我原来的问题仍然存在,文本移动到新行时会将图像向上推。 我不确定,但我不认为用纯 css and html 实现你想要的只是也许你需要以太 jqueryjavascript 的帮助【参考方案3】:

将您的thumbs div 的display 值设置为inline-block 并将它们垂直对齐到顶部:

.thumbs 
  margin: 0 5px;
  display:-moz-inline-stack;
  display: inline-block;
  vertical-align: top;

小提琴here.

【讨论】:

如果图像尺寸不同,这对我没有帮助。我希望图像全部对齐到底部,并且文本直接在图像下方对齐,但向下推!

以上是关于仅在高度不同时将图像垂直对齐到画廊底部的主要内容,如果未能解决你的问题,请参考以下文章

在相邻的flexbox容器中垂直对齐内容

图像视图autolayout从水平边缘固定到60pt,但自动刻度高度?

打破容器时垂直对齐图像

图像垂直对齐问题

将 UIImageView 对齐到 UIScrollView 的底部

将 div 内的图像与响应高度垂直对齐