html - 在不知道多少行的情况下将文本在框中垂直居中

标签 html css

这让我抓狂我只是不明白为什么这个简单的 css 在 div 中垂直居中元素不能按预期工作。

这是 html:

<div class="header-a-wrapper" style="
    line-height: 48px;
    height: 48px;
    background: red;
    display: block;
    text-align: center;
">
    <a href="/user/5659186348163072" class="right" style="
    background: blue;
    line-height: normal;
    display: inline-block;
    vertical-align: middle;
    float: none;
    height: 20px;
">medical salamander</a>

</div>

内部元素没有垂直居中,但我认为它应该垂直居中

这是一个包含两个元素的 html: http://alephz.com/test.html

这是疯狂的部分。这是一个具有相同 html 的 jsfiddle,它在那里工作!在相同的 chrome/win7 上测试! http://jsfiddle.net/pkrsdqkb/

最佳答案

很奇怪,但是如果你想解决它,你添加到'a':

position: relative;
top: 50%;
transform: translateY(-50%);

删除

vertical-align: middle;
float: none; 

关于html - 在不知道多少行的情况下将文本在框中垂直居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26367352/

相关文章:

html - 仅使用 CSS(无 JavaScript)的输入字段中的占位符文本

css - Jsfiddle - 用户界面上的奇怪字符

html - 如何在 css 中使用自动换行调整元素的父级大小?

html - 使 CSS 代码段兼容多种浏览器?

javascript - 使用 .filter() 使用 jQuery 选择包含带有特定文本的 tr 的表行

html - 如何从 Twenty Twelve 主题中删除响应代码

HTML/CSS 图像不换行

HTML 内容填充页面,但可以滚动到其他内容

css - 电子邮件客户端是否支持 CSS Float?

css - Firefox 中带有网格选项问题的 Drupal View