以百分比高度垂直对齐元素内的文本?

发布于 2024-07-25 15:30:58 字数 170 浏览 2 评论 0原文

由于我有一个具有百分比高度的元素,因此我无法使用行高黑客。 有谁对如何解决这个问题有任何想法?

<div height="100%">
    I want to be vertically aligned in the middle
</div>

As I have an element with a percentage height I can't use the line-height hack. Does anyone have any ideas on how to solve this?

<div height="100%">
    I want to be vertically aligned in the middle
</div>

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

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

发布评论

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

评论(3

安人多梦 2024-08-01 15:30:58

您必须设置div的高度值,然后设置line-height:value_of_div_height。 line-height 100% 不起作用,因为它将采用文本值,而不是 div 元素。 无论有没有垂直对齐,只要 height=line-height 都可以使用,

div {
    height: 200px;
    line-height: 200px;
    display: block;
}

如果您想在 div 元素内处理段落,则可以使用替代方法: http://www.w3.org/Style/Examples/007/center

DIV.container {
    min-height: 10em;
    display: table-cell;
    vertical-align: middle }
...
<DIV class="container">
  <P>This small paragraph...
</DIV>

You have to set the height value of div, then set line-height: value_of_div_height. line-height 100% won't work because it will take value of text, not div element. It works with or without vertical-align, as long as height=line-height

div {
    height: 200px;
    line-height: 200px;
    display: block;
}

Alternative method if you want to do with a paragraph inside a div element: http://www.w3.org/Style/Examples/007/center

DIV.container {
    min-height: 10em;
    display: table-cell;
    vertical-align: middle }
...
<DIV class="container">
  <P>This small paragraph...
</DIV>
浮世清欢 2024-08-01 15:30:58

如果您设置了字体大小,并且您知道文本的行数。
您可以将文本换行到跨度中。 并在跨度上使用以下 CSS。

span {
    font-size:20px;
    margin-top:-10px; //half the font-size (or (font-size*number of lines)/2)
    position: relative;
    top: 50%;
}

If you set the font-size, and you know the number of lines of text you have.
You can wrap the text in a span. And use the following CSS on the span.

span {
    font-size:20px;
    margin-top:-10px; //half the font-size (or (font-size*number of lines)/2)
    position: relative;
    top: 50%;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文