html - 如何使用垂直对齐和行高?

标签 html css

我有一个 div 中的元素超出了它们的容器,因为我使用了 line-height。但我发现使 vertical-align 起作用的唯一方法是使用 line-height

谁能解释我为什么会有这种行为以及如何解决它?

还有人对如何使用 vertical-align 有建议或最佳实践吗?

代码如下:

#resources {
    background-color: green;
    width: 100%;
    height: 64px;
}

.resourceContainer {
    float: left;
    text-align: center;
    vertical-align: middle;
    line-height: 64px;
    width: 33.3%;
}

Example (不要注意图片路径)

最佳答案

您只需要为内部 div 重置 line-height(因为 line-height 是继承的):

.resourceContainer > div {
  display:inline-block;
  line-height:100%;
  vertical-align:middle;     
}

Demo

注意:vertical-align 应用于元素本身而不是子元素。所以你不需要为.resourceContainer设置vertical-align:middle,而是直接为内部div设置。

关于html - 如何使用垂直对齐和行高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23185796/

相关文章:

html - 制作固定位置的人体背景图

html - 响应式 bootstrap 3 个按钮并排无换行符,仅在太小时显示符号

javascript - 当我们编辑表列值时更新数组

html - 如何调整框的大小但仍将文本放在中心位置?

html - 如何使跨度贴在输入字段的底部且中间的间距很小?

javascript - 如何在 Angular2 rc5 中获取路由参数?

javascript - 在没有浏览器检测的情况下为不同的浏览器提供不同的 css 框阴影?

java - 无法使用我知道 HTML 是使用 CSS 选择器构建的所有元素定位器来定位元素

html - 使用 float 按网格对齐内容的问题

html - CSS EM 测量搞砸了?