在固定区域垂直对齐文本

发布于 2024-12-28 06:29:02 字数 315 浏览 1 评论 0原文

我有一系列元素,其中有一张图片,其下方有一个包含文本的块。有时,文本会变得太长并断到第二行。它看起来像这样:

在此处输入图像描述

我需要垂直对齐文本,使其始终居中。我在这里创建了一个 jsfiddle 来帮助提供答案: http://jsfiddle.net/WDChT/

任何想法给定我的 html/css ,我该如何做到这一点?

I have a series of elements that have a picture with a block underneath it containing text. Occasionally, the text becomes too long and breaks onto a second line. It looks like this:

enter image description here

I need to vertically align the text so it is always centered. I created a jsfiddle here to help provide an answer: http://jsfiddle.net/WDChT/

Any ideas how I can do this given my html/css?

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

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

发布评论

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

评论(2

最佳男配角 2025-01-04 06:29:02

您可以将 display:table-cellvertical-align:middle 一起使用:

http://jsfiddle.net/WDChT/3/

我添加的内容:

span.redStrip {
    padding:0 11px;
    height:36px;
}
span.redStrip p {
    vertical-align:middle;
    display:table-cell;
    height:36px;
    padding:0;
    margin:0;
}

需要注意的事项:

  • 版本的 IE 缺乏支持(还有什么新功能?)
  • 旧 p> 里面 无效。您应该将它们反向包装: 位于

    内。我在演示中使用了您的原始标记。

  • 我将填充移动到内部元素(设置了垂直对齐的

    ),并将其从外部元素(包装器 )中删除。再次,这些要素应该颠倒过来。

You can use display:table-cell with vertical-align:middle:

http://jsfiddle.net/WDChT/3/

What I added:

span.redStrip {
    padding:0 11px;
    height:36px;
}
span.redStrip p {
    vertical-align:middle;
    display:table-cell;
    height:36px;
    padding:0;
    margin:0;
}

Few things to note:

  • Support is lacking in older versions of IE (what else is new?)
  • You have <p> inside <span> which is invalid. You should wrap them in reverse: <span> inside <p>. I used your original markup for the demo.
  • I moved your padding to the inner element (the <p> with the vertical alignment set) and removed it from the outer element (the wrapper <span>). Once again, these elements should be reversed.
烟酉 2025-01-04 06:29:02

在容器框中:

line-height:60px;
height:60px;

内部框:

display:inline-block;
vertical-align:middle;

http://jsfiddle.net/8QMGf/

请注意,inline-block 不会不能与较旧的 IE 一起使用,但结果不会那么糟糕

HTH

in the container box:

line-height:60px;
height:60px;

inner box:

display:inline-block;
vertical-align:middle;

http://jsfiddle.net/8QMGf/

note that inline-block doesn't work with older IEs, but the result will not be so bad

HTH

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文