jQueryMobile水平对齐网格元素

时间:2014-03-24 08:51:34

标签: jquery css css3 jquery-mobile

我有一个带有五个单元格的jQuery Mobile 网格系统。我想让这些细胞的内容与细胞中间对齐。

我试图添加:

<div style="vertical-align:middle;">text</div>

但这没有用。

此外:

<div style="top:50%;">text</div>

没有工作。

我创建了一个fiddle来查看它。我有什么想法我做错了吗?

2 个答案:

答案 0 :(得分:7)

显示为 display: table;并将内容包装在p中的每个中。

<div class="ui-grid-d grids">
  <div class="ui-block-a">
    <p>a</p>
  </div>
  <div class="ui-block-b">
    <p>b</p>
  </div>
  <div class="ui-block-c">
    <p>c</p>
  </div>
  <div class="ui-block-d">
    <p>d</p>
  </div>
  <div class="ui-block-e">
    <p><a data-role="button" class="ui-link ui-btn ui-shadow ui-corner-all" role="button">delete</a>
    </p>
  </div>
</div>

对于内容,将其显示为 table-cell display: table-cell,将它们垂直对齐 vertical-align: middle水平 text-align: center

.grids {
  border-style: solid;
  border-width: 5px;
}

.grids div { /* all blocks */
  display: table;
  height: 153px;
}

.grids div > p {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
  

<强> Demo

答案 1 :(得分:1)

使用line-heighttext-align将文字设为中间

jsfiddle