代码之家  ›  专栏  ›  技术社区  ›  user1263513

垂直和水平居中任何内容

  •  0
  • user1263513  · 技术社区  · 12 年前

    所以,假设我有一个容器,它可能包含也可能不包含任何其他元素,并且具有动态内容,即从数据库生成的文本,所以我们不确定它能有多宽/多高。

    如何能够将这些动态元素水平和垂直居中?

    3 回复  |  直到 12 年前
        1
  •  1
  •   LeonardChallis    12 年前

    是的,有一个黑客。将容器设置为 display: table; ,并在文本上,例如在p中,将其设置为 display: table-cell; vertical-align: middle; 。这将使其垂直对齐。

    您可以将其与 text-align padding 以水平居中。

    http://jsfiddle.net/E9QF3/

        2
  •  0
  •   BeetleTheNeato    12 年前

    我能想到的最好的方法是JavaScript在加载、调整大小甚至Ajax事件时通常计算高度。看看的来源 this ALA example.

        3
  •  0
  •   user1263513    7 年前
    #center_of_viewport {
        position: fixed; /* absolute also works */
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
    }