css - 如何在 li 中垂直居中 h1 和 span

标签 css center vertical-alignment

我一直在尝试为此找到解决方案,但仍然无法做到。

我需要在 description_content li 中垂直居中 h1 和 span。

但是,有一个问题。仅当 Phone 变量不为空时才会出现。所以我需要以 Seller 和 Phone: 垂直居中的方式进行操作,同时,如果没有 Phone,则只有 Seller 本身居中:

<li id="description_content">
     <h1>Seller</h1>
     <br>  <br>
     <span>Phone: </span> <br>
</li> 

这是我的 CSS:

#description_content{
    height:163px !important;
    font-size:16px;
    }

#description_content h1{
    font-size:16px;
    font-weight:normal;
    padding:14px 10px 20px 7px;
    }

#description_content span{
    padding:0 10px 0 7px;
    float:left;
    font-weight:normal !important;
    }

我尝试了几种不同的可能性,包括下面的代码,它使内容居中但也弄乱了后面的 li:

display:table-cell!important;
vertical-align:middle!important;

这是一个 fiddle :http://jsfiddle.net/pazzesco/vykqv19j/

关于如何实现这一点有什么想法吗?

最佳答案

正如我从评论中了解到的,您不希望所有的 li 都在同一行。

使用以下结构:

<li class="description_content">
    <div class="li-wrapper">
        <h1>Seller</h1>
        <span>Phone: </span>
    </div>
</li>

然后,将您的 li 显示为表格,并将您的 li-wrapper 显示为在中间垂直对齐的表格单元格。

.description_content{
  display: table;
  width: 100%;
  height:163px !important;
  font-size:16px;
}

.description_content .li-wrapper {
  display: table-cell;
  vertical-align: middle;
}

关于css - 如何在 li 中垂直居中 h1 和 span,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26203203/

相关文章:

html - 尽管缺少文本,但仍强制垂直对齐?

css - 使用行高对框和基线进行稳健的垂直对齐?

html - 响应式图像大小调整,列表项中的文本垂直居中

php - WordPress - 列出类别限制

css - 简单的旋转悬停效果不起作用

ios - 添加/删除其他 UIBar 按钮时如何使 UIBarButtonItem 居中?

html - 如何在 CSS 中将文本列居中

html - SVG 图像高度自动在 Chrome 中不起作用

javascript - 让元素在 CSS 动画延迟期间保持隐藏状态

html - 如何将一个 div 居中放置在底部并在中心制作另一个可实现的 div?