jquery masonry 中的垂直居中文本

发布于 2024-12-02 15:17:53 字数 353 浏览 1 评论 0原文

我正在使用 jquery masonry 来显示图像。在这些图像中,我有脚本允许我滚动和淡入标题。不过我希望它们能够在盒子内完美居中。对于 Jquery 砌体,没有绝对的高度值。有没有办法像水平放置一样垂直放置东西 (类似于: 右边距:自动; 左边距:自动; 清晰:两者;)

现在,定位设置为距离顶部 50%,但是在较小的元素上,标题看起来偏离中心。

这是我的进展的链接: http://geoffjohnsondesign.com/inprogress

感谢您的所有帮助!

杰夫

I am using the jquery masonry to display images. In these images I have script that allows me to roll over and fade-in titles. However I would like them to be perfectly centered within the box. With the Jquery masonry, there is no absolute height value. Is there anyway to position things vertically like you can horizontally
(similar to:
margin-right: auto;
margin-left:auto;
clear: both;)

Right now the positioning is set 50% from the top, however on smaller elements the titles appear off-center.

Here is a link to my progress:
http://geoffjohnsondesign.com/inprogress

Thanks for all of your help!

Geoff

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

妄断弥空 2024-12-09 15:17:53

试试这个:您要做的第一件事是为包含的 a:link 元素设置 display: inline-blockposition:relative (您需要分配一个特定的class 到这些元素,而不是为页面上的每个元素设置它):

a:link {
    display: inline-block;
    position: relative;
    text-decoration: none;
}

一旦有了它,您就可以为元素设置垂直边距。

.thumbnail .caption {
    margin: 50% auto;
    position: absolute;
    text-decoration: none;
    top: 0;
    width: 100%;
}

看看是否有效。

Try this: first thing you want to do is set display: inline-block and position: relative for your containing a:link element (you'll want to assign a specific class to these elements rather than setting this for every single one on a page):

a:link {
    display: inline-block;
    position: relative;
    text-decoration: none;
}

Once you have that, you can then set the vertical margins for your elements.

.thumbnail .caption {
    margin: 50% auto;
    position: absolute;
    text-decoration: none;
    top: 0;
    width: 100%;
}

See if that works.

忆沫 2024-12-09 15:17:53

很晚了,但现在开始了..

您需要将标题放置在 50% 的位置,但将其向上移动标题大小的一半。
为此,我们使用边距。

因此,将 jQuery 代码中隐藏标题的代码替换为

$('.thumbnail .caption')
    .css({ marginTop: function(elem,val){ return $(this).outerHeight()/-2; } })
    .hide();

Quite late but here it goes..

You need to place the caption at 50% but move it upwards by half the size of the caption.
For that we use the margin..

So replace the code that is hiding the captions in you jQuery code with

$('.thumbnail .caption')
    .css({ marginTop: function(elem,val){ return $(this).outerHeight()/-2; } })
    .hide();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文