【问题标题】:text-align:center doesn't work vertically in CSS, how can I get around this?text-align:center 在 CSS 中不能垂直工作,我该如何解决这个问题?
【发布时间】:2014-01-26 03:00:58
【问题描述】:

我正在使用仅包含文本的 div。它使用绝对定位将自身置于使用相对定位的图像 div 之上。如果我使用,我可以在 CSS 中水平居中 div

div { text-align:center; width:100%; }

但是当我尝试使用垂直居中时

div { text-align:center; height:100%; }

它不垂直居中。我猜这是因为 text-align:center 只指定水平方向.. 我怎么能解决这个问题?如果外部 div 是固定大小,但外部 div 不是固定大小,我已经看到了一些可行的解决方案。它是流畅的,所以我也需要它来流畅地工作。我试过使用 top:50% 但我希望它完全居中...我很缺乏经验,所以放轻松

【问题讨论】:

    标签: html css


    【解决方案1】:

    试试这个...

    div {  position:absolute; top:50%; }
    

    然后通过

    http://phrogz.net/CSS/vertical-align/index.html

    【讨论】:

    • 这其实很糟糕,万一内容增长了怎么办?它不会垂直居中
    • 阅读我的答案以获得更好的解决方案
    • 先生。 Alien 是正确的,top:50% 将在 50% 处开始文本,并且 div 很小的情况下这非常明显。我正在寻找一种解决方案,该解决方案将在文本的垂直中心线处开始文本。
    【解决方案2】:

    试试这个。将代码设为

    div { text-align:center; line-height:100%; } 
    

    【讨论】:

    • 这不是问题的答案
    • 那么你的答案是……?
    • 这是让文本垂直居中对齐吗??
    • 尝试详细说明您的答案,此解决方案仅适用于单行文本。
    【解决方案3】:

    正如您所猜测的,您是对的,text-align: center; 用于仅水平对齐文本/元素而不是垂直对齐...因此,如果您谈论的是垂直对齐单行文本,则需要使用 line-height ,这将等于容器height

    Demo

    div {
        height: 100px;
        width: 100px;
        border: 1px solid #f00;
        line-height: 100px;
        text-align: center; /* Forgot this in the demo */
    }
    

    如果您希望垂直对齐整个元素,则可以使用position: absolute;,我不建议您使用,而是使用嵌套在display: table; parent 中的display: table-cell;

    Demo 2

    div {
        height: 100px;
        width: 100px;
        border: 1px solid #f00;
        display: table;
    }
    
    span {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
    }
    

    【讨论】:

    • 嗯,我无法让任何一种方法发挥作用......第二个看起来很有希望,但对于这两种方法来说,它都会在设定的尺寸内居中(高度:100 像素;宽度:100 像素;} 但我'正在寻找一个不需要尺寸的解决方案,因为这个 div 是流动的,并且会根据视口增加/减少。因此,我主要使用百分比
    • @fuccboi 您也可以将% 与第二种方法一起使用
    • 我将高度和宽度都设置为 50%,效果很好。谢谢外星人,问题解决了
    • @fuccboi 不仅是span,即使是div 也可以以同样的方式工作,它只是一个表格单元格,它垂直 对齐到middle :)
    猜你喜欢
    • 2020-07-07
    • 2022-10-17
    • 1970-01-01
    • 2020-03-25
    • 2020-02-14
    • 1970-01-01
    相关资源
    最近更新 更多